mirror of
https://github.com/torvalds/linux.git
synced 2024-12-21 10:31:54 +00:00
1c46ae0af6
Take 2 also includes a fix set that was too late for the 4.2 cycle. As we had a lot of tools and docs work in this set, I have broken those out into their own categories in this description. Fixes from the pull request '4th set of IIO fixes for the 4.2 cycle'. * Poll functions for both event chardev and the buffer one were returning negative error codes (via a positive value). * A recent change to lsiio adding some error handling that was wrong and stopped the tool working. * bmg160 was missing some dependencies in Kconfig * berlin2-adc had a misshandled register (wrote a value rather than a bitmap) New device support * TI opt3001 light sensor * TXC PA12 ALS and proximity sensor. * mcp3301 ADC support (in mcp320x driver) * ST lsm303agr accelerometer and magnetometer drivers (plus some st-sensors common support to allow different WHOAMI register addresses, devices with fixed scale and allow interrupt equiped magnetometers). * ADIS16305, ADIS16367, ADIS16445IMUs (in the adis16400 driver) * ADIS16266 gyro (in the adis16260 driver) * ADIS16137 gyro (in the adis16136 driver) New functionality * mmc35240 DT bindings. * Inverse unit conversion macros to aid handing of values written to sysfs attributes. Core cleanup * Forward declaration of struct iio_trigger to avoid a compile warning. Driver cleanup / fixes * mxs-lradc - Clarify which parts are supported. - Fix spelling erorrs. - Missing/extra includes - reorder includes - add datasheet name listings for all usable channels (to allow them to be bound by name from consumer drivers) * acpi-als - add some function prefixes as per general iio style. * bmc150_magn - replace a magic value with the existing define. * vf610 - determine possible sample frequencies taking into account the electrical characteristics (defining a minimum sample time) * dht11 - whitespace - additional docs - avoid mulitple assignments in one line - Use the new funciton ktime_get_resolution_ns to cleanup a nasty trick previously used for timing. * Fix all drivers that consider 0 a valid IRQ for historical reasons. * Export I2C module alias info where previously missing (to allow autoprobing) * Export OF module alias info where previously missing. * mmc35240 - switch some variables into arrays to improve readability. * mlx90614 - define some magic numbers for readability. * bmc150_magn - expand area locked by a mutex to cover all the use of the data->buffer. - use descriptive naming for a mask instead of a magic value. * berin2-adc - pass up an error code rather that a generic error - constify the iio_chan_spec - some other little tidy ups. * stk8312 - fix a dependency on triggered buffers in kconfig - add a check for invalid attribute values - improve error handling by returning error codes where possible and return immediately where relevant - rework macro defs to use GENMASK etc - change some variable types to reduce unnecessary casting - clean up code style - drop a local buffer copy for bulk reads and use the one in data->buffer instead. * adis16400 - the adis16448 gyroscope scale was wrong. * adis16480 - some more wrong scales for various parts. * adis16300 - has an undocumented product id and serial number registers so use them. * iio_simple_dummy - fix some wrong code indentation. * bmc150-accel - use the chip ID to detect the chip present rather than verifying the expected part was there. This was in response to a wrong ACPI entry on the WinBook TW100. * mma8452 - fix _get_hp_filter_index - drop a double include - pass up an error code rather than rewriting it - range check input values to attribute writes - register defs tidy up using GENMASK and reordering them to be easier to follow. - various coding style cleanups - put the Kconfig entry in the write place (alphabetically). Tools related * Tools cleanup - drop an explicity NULL comparison, some unnecessary braces, use the ARRAY_SIZE macro, send error messages to stderr instead of dropping them in the middle of normal output. * Fix tools to allow that scale and offset attributes are optional. * More tools fixes including allowing true 32bit data (previously an overflow prevented more than 31bits) * Drop a stray header guard that ended up in a c file. * Make calc_digits static as it isn't exported or in the header. * Set ci_array pointer to NULL after free as a protection against non safe usage of the tools core code. Also convert a double pointer to a single one as the extra level of indirection was unnecessary. Docs * DocBook introduction by Daniel Baluta. Glad we are beginning to draw together some more introductory docs to suplement the various tools / examples. * Drop bytes_per_datum sysfs attribute docs as it no longer exists. * A whole load of missing / fixing of kernel-doc for the core of IIO. * Document the trigger name sysfs attribute in the ABI docs. * Minor typos in the ABI docs related to power down modes. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJVy5EbAAoJEFSFNJnE9BaIyjEQAIXc+mjgdyMJEXLKlKKGCSY5 EX7saX91IeSK5y0CWX0hd0VPewaj4ExG7PWo3gqUSm1L9zmusLcyJm8W2pev3CGE m7s40efxZJw0Jmmu18a3LCfcHUu/LWl4mHQtZy/AFGgWhZzWIyKA2XLqgc+Wu9qb sjzleSJ05etDksyA7JWFCrrwBnJlW4lD25o0nD0kt3Wry2wlbN2JvZ9QLmmoc0ex shvtI556Ew0FRywT9ir555EoJNAQQMW85Ft0dWFBnLwgc67nFTa4YNRXgoRlzhh/ sRnGKzrs5SVc1c9sxiVS4utiazxy/irHgZ5FkvTTq7F+GXeIwPK9Xv/SXZTmvs5w lrSazRIjiLqWgpv/5oaOOGlikbpctI2kSXO0GbCW8th+l3KnKcKfComa3fnU7dca /lofp/JzpIfwM+Bnjl1nlNuEbT0mlfJySfhUSSu/kHJxOcvDfkK4vv3oSfFp5nbF rhA9vbVEfopXTGIOwWDjV4j0HtMCEHgOPN3T0kuyiYiWZUIjfJXchXG8e5h9/ncd ACjH3fg6FQtHzTtzqLQky/NVAKcnFrgJSokN25GXF7R95TxufYJ6RIfnenJiCd2n QCIdPam4bZh3/C2QYtiqWKY5e+zfkqs88/Er/HGgvxRUhKCbTvCcey1RY7FEDFHY +9nMx/Yts8L1ulUEMjsm =/b3G -----END PGP SIGNATURE----- Merge tag 'iio-for-4.3b-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: Second set of new device support, features and cleanup for the 4.3 cycle. Take 2 also includes a fix set that was too late for the 4.2 cycle. As we had a lot of tools and docs work in this set, I have broken those out into their own categories in this description. Fixes from the pull request '4th set of IIO fixes for the 4.2 cycle'. * Poll functions for both event chardev and the buffer one were returning negative error codes (via a positive value). * A recent change to lsiio adding some error handling that was wrong and stopped the tool working. * bmg160 was missing some dependencies in Kconfig * berlin2-adc had a misshandled register (wrote a value rather than a bitmap) New device support * TI opt3001 light sensor * TXC PA12 ALS and proximity sensor. * mcp3301 ADC support (in mcp320x driver) * ST lsm303agr accelerometer and magnetometer drivers (plus some st-sensors common support to allow different WHOAMI register addresses, devices with fixed scale and allow interrupt equiped magnetometers). * ADIS16305, ADIS16367, ADIS16445IMUs (in the adis16400 driver) * ADIS16266 gyro (in the adis16260 driver) * ADIS16137 gyro (in the adis16136 driver) New functionality * mmc35240 DT bindings. * Inverse unit conversion macros to aid handing of values written to sysfs attributes. Core cleanup * Forward declaration of struct iio_trigger to avoid a compile warning. Driver cleanup / fixes * mxs-lradc - Clarify which parts are supported. - Fix spelling erorrs. - Missing/extra includes - reorder includes - add datasheet name listings for all usable channels (to allow them to be bound by name from consumer drivers) * acpi-als - add some function prefixes as per general iio style. * bmc150_magn - replace a magic value with the existing define. * vf610 - determine possible sample frequencies taking into account the electrical characteristics (defining a minimum sample time) * dht11 - whitespace - additional docs - avoid mulitple assignments in one line - Use the new funciton ktime_get_resolution_ns to cleanup a nasty trick previously used for timing. * Fix all drivers that consider 0 a valid IRQ for historical reasons. * Export I2C module alias info where previously missing (to allow autoprobing) * Export OF module alias info where previously missing. * mmc35240 - switch some variables into arrays to improve readability. * mlx90614 - define some magic numbers for readability. * bmc150_magn - expand area locked by a mutex to cover all the use of the data->buffer. - use descriptive naming for a mask instead of a magic value. * berin2-adc - pass up an error code rather that a generic error - constify the iio_chan_spec - some other little tidy ups. * stk8312 - fix a dependency on triggered buffers in kconfig - add a check for invalid attribute values - improve error handling by returning error codes where possible and return immediately where relevant - rework macro defs to use GENMASK etc - change some variable types to reduce unnecessary casting - clean up code style - drop a local buffer copy for bulk reads and use the one in data->buffer instead. * adis16400 - the adis16448 gyroscope scale was wrong. * adis16480 - some more wrong scales for various parts. * adis16300 - has an undocumented product id and serial number registers so use them. * iio_simple_dummy - fix some wrong code indentation. * bmc150-accel - use the chip ID to detect the chip present rather than verifying the expected part was there. This was in response to a wrong ACPI entry on the WinBook TW100. * mma8452 - fix _get_hp_filter_index - drop a double include - pass up an error code rather than rewriting it - range check input values to attribute writes - register defs tidy up using GENMASK and reordering them to be easier to follow. - various coding style cleanups - put the Kconfig entry in the write place (alphabetically). Tools related * Tools cleanup - drop an explicity NULL comparison, some unnecessary braces, use the ARRAY_SIZE macro, send error messages to stderr instead of dropping them in the middle of normal output. * Fix tools to allow that scale and offset attributes are optional. * More tools fixes including allowing true 32bit data (previously an overflow prevented more than 31bits) * Drop a stray header guard that ended up in a c file. * Make calc_digits static as it isn't exported or in the header. * Set ci_array pointer to NULL after free as a protection against non safe usage of the tools core code. Also convert a double pointer to a single one as the extra level of indirection was unnecessary. Docs * DocBook introduction by Daniel Baluta. Glad we are beginning to draw together some more introductory docs to suplement the various tools / examples. * Drop bytes_per_datum sysfs attribute docs as it no longer exists. * A whole load of missing / fixing of kernel-doc for the core of IIO. * Document the trigger name sysfs attribute in the ABI docs. * Minor typos in the ABI docs related to power down modes.
301 lines
8.1 KiB
Plaintext
301 lines
8.1 KiB
Plaintext
#
|
|
# Light sensors
|
|
#
|
|
# When adding new entries keep the list in alphabetical order
|
|
|
|
menu "Light sensors"
|
|
|
|
config ACPI_ALS
|
|
tristate "ACPI Ambient Light Sensor"
|
|
depends on ACPI
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select IIO_KFIFO_BUF
|
|
help
|
|
Say Y here if you want to build a driver for the ACPI0008
|
|
Ambient Light Sensor.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called acpi-als.
|
|
|
|
config ADJD_S311
|
|
tristate "ADJD-S311-CR999 digital color sensor"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the Avago ADJD-S311-CR999
|
|
digital color light sensor.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called adjd_s311.
|
|
|
|
config AL3320A
|
|
tristate "AL3320A ambient light sensor"
|
|
depends on I2C
|
|
help
|
|
Say Y here if you want to build a driver for the Dyna Image AL3320A
|
|
ambient light sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called al3320a.
|
|
|
|
config APDS9300
|
|
tristate "APDS9300 ambient light sensor"
|
|
depends on I2C
|
|
help
|
|
Say Y here if you want to build a driver for the Avago APDS9300
|
|
ambient light sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called apds9300.
|
|
|
|
config BH1750
|
|
tristate "ROHM BH1750 ambient light sensor"
|
|
depends on I2C
|
|
help
|
|
Say Y here to build support for the ROHM BH1710, BH1715, BH1721,
|
|
BH1750, BH1751 ambient light sensors.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called bh1750.
|
|
|
|
config CM32181
|
|
depends on I2C
|
|
tristate "CM32181 driver"
|
|
help
|
|
Say Y here if you use cm32181.
|
|
This option enables ambient light sensor using
|
|
Capella cm32181 device driver.
|
|
|
|
To compile this driver as a module, choose M here:
|
|
the module will be called cm32181.
|
|
|
|
config CM3232
|
|
depends on I2C
|
|
tristate "CM3232 ambient light sensor"
|
|
help
|
|
Say Y here if you use cm3232.
|
|
This option enables ambient light sensor using
|
|
Capella Microsystems cm3232 device driver.
|
|
|
|
To compile this driver as a module, choose M here:
|
|
the module will be called cm3232.
|
|
|
|
config CM3323
|
|
depends on I2C
|
|
tristate "Capella CM3323 color light sensor"
|
|
help
|
|
Say Y here if you want to build a driver for Capella CM3323
|
|
color sensor.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called cm3323.
|
|
|
|
config CM36651
|
|
depends on I2C
|
|
tristate "CM36651 driver"
|
|
help
|
|
Say Y here if you use cm36651.
|
|
This option enables proximity & RGB sensor using
|
|
Capella cm36651 device driver.
|
|
|
|
To compile this driver as a module, choose M here:
|
|
the module will be called cm36651.
|
|
|
|
config GP2AP020A00F
|
|
tristate "Sharp GP2AP020A00F Proximity/ALS sensor"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select IRQ_WORK
|
|
help
|
|
Say Y here if you have a Sharp GP2AP020A00F proximity/ALS combo-chip
|
|
hooked to an I2C bus.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called gp2ap020a00f.
|
|
|
|
config ISL29125
|
|
tristate "Intersil ISL29125 digital color light sensor"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say Y here if you want to build a driver for the Intersil ISL29125
|
|
RGB light sensor for I2C.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called isl29125.
|
|
|
|
config HID_SENSOR_ALS
|
|
depends on HID_SENSOR_HUB
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select HID_SENSOR_IIO_COMMON
|
|
select HID_SENSOR_IIO_TRIGGER
|
|
tristate "HID ALS"
|
|
help
|
|
Say yes here to build support for the HID SENSOR
|
|
Ambient light sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called hid-sensor-als.
|
|
|
|
config HID_SENSOR_PROX
|
|
depends on HID_SENSOR_HUB
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select HID_SENSOR_IIO_COMMON
|
|
select HID_SENSOR_IIO_TRIGGER
|
|
tristate "HID PROX"
|
|
help
|
|
Say yes here to build support for the HID SENSOR
|
|
Proximity sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called hid-sensor-prox.
|
|
|
|
config JSA1212
|
|
tristate "JSA1212 ALS and proximity sensor driver"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Say Y here if you want to build a IIO driver for JSA1212
|
|
proximity & ALS sensor device.
|
|
|
|
To compile this driver as a module, choose M here:
|
|
the module will be called jsa1212.
|
|
|
|
config RPR0521
|
|
tristate "ROHM RPR0521 ALS and proximity sensor driver"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Say Y here if you want to build support for ROHM's RPR0521
|
|
ambient light and proximity sensor device.
|
|
|
|
To compile this driver as a module, choose M here:
|
|
the module will be called rpr0521.
|
|
|
|
config SENSORS_LM3533
|
|
tristate "LM3533 ambient light sensor"
|
|
depends on MFD_LM3533
|
|
help
|
|
If you say yes here you get support for the ambient light sensor
|
|
interface on National Semiconductor / TI LM3533 Lighting Power
|
|
chips.
|
|
|
|
The sensor interface can be used to control the LEDs and backlights
|
|
of the chip through defining five light zones and three sets of
|
|
corresponding output-current values.
|
|
|
|
The driver provides raw and mean adc readings along with the current
|
|
light zone through sysfs. A threshold event can be generated on zone
|
|
changes. The ALS-control output values can be set per zone for the
|
|
three current output channels.
|
|
|
|
config LTR501
|
|
tristate "LTR-501ALS-01 light sensor"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
If you say yes here you get support for the Lite-On LTR-501ALS-01
|
|
ambient light and proximity sensor. This driver also supports LTR-559
|
|
ALS/PS or LTR-301 ALS sensors.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called ltr501.
|
|
|
|
config OPT3001
|
|
tristate "Texas Instruments OPT3001 Light Sensor"
|
|
depends on I2C
|
|
help
|
|
If you say Y or M here, you get support for Texas Instruments
|
|
OPT3001 Ambient Light Sensor.
|
|
|
|
If built as a dynamically linked module, it will be called
|
|
opt3001.
|
|
|
|
config PA12203001
|
|
tristate "TXC PA12203001 light and proximity sensor"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
If you say yes here you get support for the TXC PA12203001
|
|
ambient light and proximity sensor.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called pa12203001.
|
|
|
|
config STK3310
|
|
tristate "STK3310 ALS and proximity sensor"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here to get support for the Sensortek STK3310 ambient light
|
|
and proximity sensor. The STK3311 model is also supported by this
|
|
driver.
|
|
|
|
Choosing M will build the driver as a module. If so, the module
|
|
will be called stk3310.
|
|
|
|
config TCS3414
|
|
tristate "TAOS TCS3414 digital color sensor"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
If you say yes here you get support for the TAOS TCS3414
|
|
family of digital color sensors.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called tcs3414.
|
|
|
|
config TCS3472
|
|
tristate "TAOS TCS3472 color light-to-digital converter"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
If you say yes here you get support for the TAOS TCS3472
|
|
family of color light-to-digital converters with IR filter.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called tcs3472.
|
|
|
|
config SENSORS_TSL2563
|
|
tristate "TAOS TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the Taos TSL2560,
|
|
TSL2561, TSL2562 and TSL2563 ambient light sensors.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called tsl2563.
|
|
|
|
config TSL4531
|
|
tristate "TAOS TSL4531 ambient light sensors"
|
|
depends on I2C
|
|
help
|
|
Say Y here if you want to build a driver for the TAOS TSL4531 family
|
|
of ambient light sensors with direct lux output.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called tsl4531.
|
|
|
|
config VCNL4000
|
|
tristate "VCNL4000 combined ALS and proximity sensor"
|
|
depends on I2C
|
|
help
|
|
Say Y here if you want to build a driver for the Vishay VCNL4000
|
|
combined ambient light and proximity sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called vcnl4000.
|
|
|
|
endmenu
|