mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git
synced 2026-04-05 00:08:32 -04:00
All combined i2c/i3c drivers appear to suffer from the same link time problem when CONFIG_I3C is set to 'm': arm-linux-gnueabi-ld: drivers/iio/magnetometer/mmc5633.o: in function `mmc5633_i3c_driver_init': mmc5633.c:(.init.text+0x30): undefined reference to `i3c_driver_register_with_owner' This was previously fixed every time by marking individual drivers as 'depends on I2C; depends on I3C || !I3C', but this gets tedious and is somewhat confusing. Add a Kconfig symbol 'I3C_OR_I2C' to help replace those dependencies, and use this in all the existing drivers that had already fixed it as well as the new mmc5633 driver. Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jonathan Cameron <jonathan.cameron@huawei.com> Link: https://patch.msgid.link/20260204164216.544409-1-arnd@kernel.org Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
302 lines
8.4 KiB
Plaintext
302 lines
8.4 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Magnetometer sensors
|
|
#
|
|
# When adding new entries keep the list in alphabetical order
|
|
|
|
menu "Magnetometer sensors"
|
|
|
|
config AF8133J
|
|
tristate "Voltafield AF8133J 3-Axis Magnetometer"
|
|
depends on I2C
|
|
depends on OF
|
|
select REGMAP_I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to build support for Voltafield AF8133J I2C-based
|
|
3-axis magnetometer chip.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called af8133j.
|
|
|
|
config AK8974
|
|
tristate "Asahi Kasei AK8974 3-Axis Magnetometer"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to build support for Asahi Kasei AK8974, AMI305 or
|
|
AMI306 I2C-based 3-axis magnetometer chips.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called ak8974.
|
|
|
|
config AK8975
|
|
tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
|
|
depends on I2C
|
|
depends on GPIOLIB || COMPILE_TEST
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to build support for Asahi Kasei AK8975, AK8963,
|
|
AK09911, AK09912, AK09916 or AK09918 3-Axis Magnetometer.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called ak8975.
|
|
|
|
config AK09911
|
|
tristate "Asahi Kasei AK09911 3-axis Compass"
|
|
depends on I2C
|
|
depends on GPIOLIB || COMPILE_TEST
|
|
select AK8975
|
|
help
|
|
Deprecated: AK09911 is now supported by AK8975 driver.
|
|
|
|
config ALS31300
|
|
tristate "Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to build support for the Allegro MicroSystems
|
|
ALS31300 Hall Effect Sensor through its I2C interface.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called als31300.
|
|
|
|
config BMC150_MAGN
|
|
tristate
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
config BMC150_MAGN_I2C
|
|
tristate "Bosch BMC150 I2C Magnetometer Driver"
|
|
depends on I2C
|
|
select BMC150_MAGN
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here to build support for the BMC150 magnetometer with
|
|
I2C interface.
|
|
|
|
This is a combo module with both accelerometer and magnetometer.
|
|
This driver is only implementing magnetometer part, which has
|
|
its own address and register map.
|
|
|
|
This driver also supports I2C Bosch BMC156 and BMM150 chips.
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called bmc150_magn_i2c.
|
|
|
|
config BMC150_MAGN_SPI
|
|
tristate "Bosch BMC150 SPI Magnetometer Driver"
|
|
depends on SPI
|
|
select BMC150_MAGN
|
|
select REGMAP_SPI
|
|
help
|
|
Say yes here to build support for the BMC150 magnetometer with
|
|
SPI interface.
|
|
|
|
This is a combo module with both accelerometer and magnetometer.
|
|
This driver is only implementing magnetometer part, which has
|
|
its own address and register map.
|
|
|
|
This driver also supports SPI Bosch BMC156 and BMM150 chips.
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called bmc150_magn_spi.
|
|
|
|
config MAG3110
|
|
tristate "Freescale MAG3110 3-Axis Magnetometer"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to build support for the Freescale MAG3110 3-Axis
|
|
magnetometer.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called mag3110.
|
|
|
|
config HID_SENSOR_MAGNETOMETER_3D
|
|
depends on HID_SENSOR_HUB
|
|
select IIO_BUFFER
|
|
select HID_SENSOR_IIO_COMMON
|
|
select HID_SENSOR_IIO_TRIGGER
|
|
tristate "HID Magnetometer 3D"
|
|
help
|
|
Say yes here to build support for the HID SENSOR
|
|
Magnetometer 3D.
|
|
|
|
config MMC35240
|
|
tristate "MEMSIC MMC35240 3-axis magnetic sensor"
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
Say yes here to build support for the MEMSIC MMC35240 3-axis
|
|
magnetic sensor.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called mmc35240.
|
|
|
|
config MMC5633
|
|
tristate "MEMSIC MMC5633 3-axis magnetic sensor"
|
|
select REGMAP_I2C
|
|
select REGMAP_I3C if I3C
|
|
depends on I3C_OR_I2C
|
|
help
|
|
Say yes here to build support for the MEMSIC MMC5633 3-axis
|
|
magnetic sensor.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called mmc5633
|
|
|
|
config IIO_ST_MAGN_3AXIS
|
|
tristate "STMicroelectronics magnetometers 3-Axis Driver"
|
|
depends on (I2C || SPI_MASTER) && SYSFS
|
|
select IIO_ST_SENSORS_CORE
|
|
select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
|
|
help
|
|
Say yes here to build support for STMicroelectronics magnetometers:
|
|
LSM303C, LSM303DLHC, LSM303DLM, LIS3MDL.
|
|
|
|
Also need to enable at least one of I2C and SPI interface drivers
|
|
below.
|
|
|
|
config IIO_ST_MAGN_I2C_3AXIS
|
|
tristate "STMicroelectronics magnetometers 3-Axis I2C Interface"
|
|
depends on I2C && IIO_ST_MAGN_3AXIS
|
|
default I2C && IIO_ST_MAGN_3AXIS
|
|
select IIO_ST_SENSORS_I2C
|
|
help
|
|
Build support for STMicroelectronics magnetometers I2C interface.
|
|
|
|
To compile this driver as a module, choose M here. The module
|
|
will be called st_magn_i2c.
|
|
|
|
config IIO_ST_MAGN_SPI_3AXIS
|
|
tristate "STMicroelectronics magnetometers 3-Axis SPI Interface"
|
|
depends on SPI_MASTER && IIO_ST_MAGN_3AXIS
|
|
default SPI_MASTER && IIO_ST_MAGN_3AXIS
|
|
select IIO_ST_SENSORS_SPI
|
|
help
|
|
Build support for STMicroelectronics magnetometers SPI interface.
|
|
|
|
To compile this driver as a module, choose M here. The module
|
|
will be called st_magn_spi.
|
|
|
|
config INFINEON_TLV493D
|
|
tristate "Infineon TLV493D Low-Power 3D Magnetic Sensor"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say Y here to add support for the Infineon TLV493D-A1B6 Low-
|
|
Power 3D Magnetic Sensor.
|
|
|
|
This driver can also be compiled as a module.
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called tlv493d.
|
|
|
|
config SENSORS_HMC5843
|
|
tristate
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
config SENSORS_HMC5843_I2C
|
|
tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
|
|
depends on I2C
|
|
select SENSORS_HMC5843
|
|
select REGMAP_I2C
|
|
help
|
|
Say Y here to add support for the Honeywell HMC5843, HMC5883 and
|
|
HMC5883L 3-Axis Magnetometer (digital compass).
|
|
|
|
This driver can also be compiled as a set of modules.
|
|
If so, these modules will be created:
|
|
- hmc5843_core (core functions)
|
|
- hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
|
|
|
|
config SENSORS_HMC5843_SPI
|
|
tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
|
|
depends on SPI_MASTER
|
|
select SENSORS_HMC5843
|
|
select REGMAP_SPI
|
|
help
|
|
Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
|
|
(digital compass).
|
|
|
|
This driver can also be compiled as a set of modules.
|
|
If so, these modules will be created:
|
|
- hmc5843_core (core functions)
|
|
- hmc5843_spi (support for HMC5983)
|
|
|
|
config SENSORS_RM3100
|
|
tristate
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
config SENSORS_RM3100_I2C
|
|
tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
|
|
depends on I2C
|
|
select SENSORS_RM3100
|
|
select REGMAP_I2C
|
|
help
|
|
Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
|
|
|
|
This driver can also be compiled as a module.
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called rm3100-i2c.
|
|
|
|
config SENSORS_RM3100_SPI
|
|
tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
|
|
depends on SPI_MASTER
|
|
select SENSORS_RM3100
|
|
select REGMAP_SPI
|
|
help
|
|
Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
|
|
|
|
This driver can also be compiled as a module.
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called rm3100-spi.
|
|
|
|
config SI7210
|
|
tristate "SI7210 Hall effect sensor"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Say Y here to add support for the SI7210 Hall effect sensor.
|
|
|
|
This driver can also be compiled as a module.
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called si7210.
|
|
|
|
config TI_TMAG5273
|
|
tristate "TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Say Y here to add support for the TI TMAG5273 Low-Power
|
|
Linear 3D Hall-Effect Sensor.
|
|
|
|
This driver can also be compiled as a module.
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called tmag5273.
|
|
|
|
config YAMAHA_YAS530
|
|
tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say Y here to add support for the Yamaha YAS530 series of
|
|
3-Axis Magnetometers. YAS530, YAS532, YAS533 and YAS537 are
|
|
supported.
|
|
|
|
This driver can also be compiled as a module.
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called yamaha-yas.
|
|
|
|
endmenu
|