mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
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
|