treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / drivers / iio / light / Kconfig
blob9968f982fbc75cf18a20ada7eb5c3a13b12098bf
1 # SPDX-License-Identifier: GPL-2.0-only
4 # Light sensors
6 # When adding new entries keep the list in alphabetical order
8 menu "Light sensors"
10 config ACPI_ALS
11         tristate "ACPI Ambient Light Sensor"
12         depends on ACPI
13         select IIO_BUFFER
14         select IIO_TRIGGERED_BUFFER
15         select IIO_KFIFO_BUF
16         help
17           Say Y here if you want to build a driver for the ACPI0008
18           Ambient Light Sensor.
20           To compile this driver as a module, choose M here: the module will
21           be called acpi-als.
23 config ADJD_S311
24         tristate "ADJD-S311-CR999 digital color sensor"
25         select IIO_BUFFER
26         select IIO_TRIGGERED_BUFFER
27         depends on I2C
28         help
29           If you say yes here you get support for the Avago ADJD-S311-CR999
30           digital color light sensor.
32           This driver can also be built as a module.  If so, the module
33           will be called adjd_s311.
35 config ADUX1020
36         tristate "ADUX1020 photometric sensor"
37         select REGMAP_I2C
38         depends on I2C
39         help
40          Say Y here if you want to build a driver for the Analog Devices
41          ADUX1020 photometric sensor.
43          To compile this driver as a module, choose M here: the
44          module will be called adux1020.
46 config AL3320A
47         tristate "AL3320A ambient light sensor"
48         depends on I2C
49         help
50           Say Y here if you want to build a driver for the Dyna Image AL3320A
51           ambient light sensor.
53           To compile this driver as a module, choose M here: the
54           module will be called al3320a.
56 config APDS9300
57         tristate "APDS9300 ambient light sensor"
58         depends on I2C
59         help
60           Say Y here if you want to build a driver for the Avago APDS9300
61           ambient light sensor.
63           To compile this driver as a module, choose M here: the
64           module will be called apds9300.
66 config APDS9960
67         tristate "Avago APDS9960 gesture/RGB/ALS/proximity sensor"
68         select REGMAP_I2C
69         select IIO_BUFFER
70         select IIO_KFIFO_BUF
71         depends on I2C
72         help
73           Say Y here to build I2C interface support for the Avago
74           APDS9960 gesture/RGB/ALS/proximity sensor.
76           To compile this driver as a module, choose M here: the
77           module will be called apds9960
79 config BH1750
80         tristate "ROHM BH1750 ambient light sensor"
81         depends on I2C
82         help
83           Say Y here to build support for the ROHM BH1710, BH1715, BH1721,
84           BH1750, BH1751 ambient light sensors.
86           To compile this driver as a module, choose M here: the module will
87           be called bh1750.
89 config BH1780
90         tristate "ROHM BH1780 ambient light sensor"
91         depends on I2C
92         help
93           Say Y here to build support for the ROHM BH1780GLI ambient
94           light sensor.
96           To compile this driver as a module, choose M here: the module will
97           be called bh1780.
99 config CM32181
100         depends on I2C
101         tristate "CM32181 driver"
102         help
103           Say Y here if you use cm32181.
104           This option enables ambient light sensor using
105           Capella cm32181 device driver.
107           To compile this driver as a module, choose M here:
108           the module will be called cm32181.
110 config CM3232
111         depends on I2C
112         tristate "CM3232 ambient light sensor"
113         help
114           Say Y here if you use cm3232.
115           This option enables ambient light sensor using
116           Capella Microsystems cm3232 device driver.
118           To compile this driver as a module, choose M here:
119           the module will be called cm3232.
121 config CM3323
122         depends on I2C
123         tristate "Capella CM3323 color light sensor"
124         help
125           Say Y here if you want to build a driver for Capella CM3323
126           color sensor.
128           To compile this driver as a module, choose M here: the module will
129           be called cm3323.
131 config CM3605
132         tristate "Capella CM3605 ambient light and proximity sensor"
133         depends on OF
134         help
135           Say Y here if you want to build a driver for Capella CM3605
136           ambient light and short range proximity sensor.
138           To compile this driver as a module, choose M here: the module will
139           be called cm3605.
141 config CM36651
142         depends on I2C
143         tristate "CM36651 driver"
144         help
145           Say Y here if you use cm36651.
146           This option enables proximity & RGB sensor using
147           Capella cm36651 device driver.
149           To compile this driver as a module, choose M here:
150           the module will be called cm36651.
152 config IIO_CROS_EC_LIGHT_PROX
153         tristate "ChromeOS EC Light and Proximity Sensors"
154         depends on IIO_CROS_EC_SENSORS_CORE
155         help
156           Say Y here if you use the light and proximity sensors
157           presented by the ChromeOS EC Sensor hub.
159           To compile this driver as a module, choose M here:
160           the module will be called cros_ec_light_prox.
162 config GP2AP020A00F
163         tristate "Sharp GP2AP020A00F Proximity/ALS sensor"
164         depends on I2C
165         select REGMAP_I2C
166         select IIO_BUFFER
167         select IIO_TRIGGERED_BUFFER
168         select IRQ_WORK
169         help
170           Say Y here if you have a Sharp GP2AP020A00F proximity/ALS combo-chip
171           hooked to an I2C bus.
173           To compile this driver as a module, choose M here: the
174           module will be called gp2ap020a00f.
176 config SENSORS_ISL29018
177         tristate "Intersil 29018 light and proximity sensor"
178         depends on I2C
179         select REGMAP_I2C
180         default n
181         help
182           If you say yes here you get support for ambient light sensing and
183           proximity infrared sensing from Intersil ISL29018.
184           This driver will provide the measurements of ambient light intensity
185           in lux, proximity infrared sensing and normal infrared sensing.
186           Data from sensor is accessible via sysfs.
188 config SENSORS_ISL29028
189         tristate "Intersil ISL29028 Concurrent Light and Proximity Sensor"
190         depends on I2C
191         select REGMAP_I2C
192         help
193           Provides driver for the Intersil's ISL29028 device.
194           This driver supports the sysfs interface to get the ALS, IR intensity,
195           Proximity value via iio. The ISL29028 provides the concurrent sensing
196           of ambient light and proximity.
198 config ISL29125
199         tristate "Intersil ISL29125 digital color light sensor"
200         depends on I2C
201         select IIO_BUFFER
202         select IIO_TRIGGERED_BUFFER
203         help
204           Say Y here if you want to build a driver for the Intersil ISL29125
205           RGB light sensor for I2C.
207           To compile this driver as a module, choose M here: the module will be
208           called isl29125.
210 config HID_SENSOR_ALS
211         depends on HID_SENSOR_HUB
212         select IIO_BUFFER
213         select IIO_TRIGGERED_BUFFER
214         select HID_SENSOR_IIO_COMMON
215         select HID_SENSOR_IIO_TRIGGER
216         tristate "HID ALS"
217         help
218           Say yes here to build support for the HID SENSOR
219           Ambient light sensor.
221           To compile this driver as a module, choose M here: the
222           module will be called hid-sensor-als.
224 config HID_SENSOR_PROX
225         depends on HID_SENSOR_HUB
226         select IIO_BUFFER
227         select IIO_TRIGGERED_BUFFER
228         select HID_SENSOR_IIO_COMMON
229         select HID_SENSOR_IIO_TRIGGER
230         tristate "HID PROX"
231         help
232           Say yes here to build support for the HID SENSOR
233           Proximity sensor.
235           To compile this driver as a module, choose M here: the
236           module will be called hid-sensor-prox.
238 config JSA1212
239         tristate "JSA1212 ALS and proximity sensor driver"
240         depends on I2C
241         select REGMAP_I2C
242         help
243           Say Y here if you want to build a IIO driver for JSA1212
244           proximity & ALS sensor device.
246           To compile this driver as a module, choose M here:
247           the module will be called jsa1212.
249 config RPR0521
250         tristate "ROHM RPR0521 ALS and proximity sensor driver"
251         depends on I2C
252         select REGMAP_I2C
253         help
254           Say Y here if you want to build support for ROHM's RPR0521
255           ambient light and proximity sensor device.
257           To compile this driver as a module, choose M here:
258           the module will be called rpr0521.
260 config SENSORS_LM3533
261         tristate "LM3533 ambient light sensor"
262         depends on MFD_LM3533
263         help
264           If you say yes here you get support for the ambient light sensor
265           interface on National Semiconductor / TI LM3533 Lighting Power
266           chips.
268           The sensor interface can be used to control the LEDs and backlights
269           of the chip through defining five light zones and three sets of
270           corresponding output-current values.
272           The driver provides raw and mean adc readings along with the current
273           light zone through sysfs. A threshold event can be generated on zone
274           changes. The ALS-control output values can be set per zone for the
275           three current output channels.
277 config LTR501
278         tristate "LTR-501ALS-01 light sensor"
279         depends on I2C
280         select REGMAP_I2C
281         select IIO_BUFFER
282         select IIO_TRIGGERED_BUFFER
283         help
284           If you say yes here you get support for the Lite-On LTR-501ALS-01
285           ambient light and proximity sensor. This driver also supports LTR-559
286           ALS/PS or LTR-301 ALS sensors.
288           This driver can also be built as a module.  If so, the module
289           will be called ltr501.
291 config LV0104CS
292         tristate "LV0104CS Ambient Light Sensor"
293         depends on I2C
294         help
295           Say Y here if you want to build support for the On Semiconductor
296           LV0104CS ambient light sensor.
298           To compile this driver as a module, choose M here:
299           the module will be called lv0104cs.
301 config MAX44000
302         tristate "MAX44000 Ambient and Infrared Proximity Sensor"
303         depends on I2C
304         select REGMAP_I2C
305         select IIO_BUFFER
306         select IIO_TRIGGERED_BUFFER
307         help
308           Say Y here if you want to build support for Maxim Integrated's
309           MAX44000 ambient and infrared proximity sensor device.
311           To compile this driver as a module, choose M here:
312           the module will be called max44000.
314 config MAX44009
315         tristate "MAX44009 Ambient Light Sensor"
316         depends on I2C
317         select REGMAP_I2C
318         help
319          Say Y here if you want to build support for Maxim Integrated's
320          MAX44009 ambient light sensor device.
322          To compile this driver as a module, choose M here:
323          the module will be called max44009.
325 config NOA1305
326         tristate "ON Semiconductor NOA1305 ambient light sensor"
327         depends on I2C
328         select REGMAP_I2C
329         help
330          Say Y here if you want to build support for the ON Semiconductor
331          NOA1305 ambient light sensor.
333          To compile this driver as a module, choose M here:
334          The module will be called noa1305.
336 config OPT3001
337         tristate "Texas Instruments OPT3001 Light Sensor"
338         depends on I2C
339         help
340           If you say Y or M here, you get support for Texas Instruments
341           OPT3001 Ambient Light Sensor.
343           If built as a dynamically linked module, it will be called
344           opt3001.
346 config PA12203001
347         tristate "TXC PA12203001 light and proximity sensor"
348         depends on I2C
349         select REGMAP_I2C
350         help
351           If you say yes here you get support for the TXC PA12203001
352           ambient light and proximity sensor.
354           This driver can also be built as a module.  If so, the module
355           will be called pa12203001.
357 config SI1133
358         tristate "SI1133 UV Index Sensor and Ambient Light Sensor"
359         depends on I2C
360         select REGMAP_I2C
361           help
362           Say Y here if you want to build a driver for the Silicon Labs SI1133
363           UV Index Sensor and Ambient Light Sensor chip.
365           To compile this driver as a module, choose M here: the module will be
366           called si1133.
368 config SI1145
369         tristate "SI1132 and SI1141/2/3/5/6/7 combined ALS, UV index and proximity sensor"
370         depends on I2C
371         select IIO_BUFFER
372         select IIO_TRIGGERED_BUFFER
373         help
374           Say Y here if you want to build a driver for the Silicon Labs SI1132 or
375           SI1141/2/3/5/6/7 combined ambient light, UV index and proximity sensor
376           chips.
378           To compile this driver as a module, choose M here: the module will be
379           called si1145.
381 config STK3310
382         tristate "STK3310 ALS and proximity sensor"
383         depends on I2C
384         select REGMAP_I2C
385         help
386           Say yes here to get support for the Sensortek STK3310 ambient light
387           and proximity sensor. The STK3311 model is also supported by this
388           driver.
390           Choosing M will build the driver as a module. If so, the module
391           will be called stk3310.
393 config ST_UVIS25
394         tristate "STMicroelectronics UVIS25 sensor driver"
395         depends on (I2C || SPI)
396         select IIO_BUFFER
397         select IIO_TRIGGERED_BUFFER
398         select ST_UVIS25_I2C if (I2C)
399         select ST_UVIS25_SPI if (SPI_MASTER)
400         help
401           Say yes here to build support for STMicroelectronics UVIS25
402           uv sensor
404           To compile this driver as a module, choose M here: the module
405           will be called st_uvis25.
407 config ST_UVIS25_I2C
408         tristate
409         depends on ST_UVIS25
410         select REGMAP_I2C
412 config ST_UVIS25_SPI
413         tristate
414         depends on ST_UVIS25
415         select REGMAP_SPI
417 config TCS3414
418         tristate "TAOS TCS3414 digital color sensor"
419         depends on I2C
420         select IIO_BUFFER
421         select IIO_TRIGGERED_BUFFER
422         help
423           If you say yes here you get support for the TAOS TCS3414
424           family of digital color sensors.
426           This driver can also be built as a module.  If so, the module
427           will be called tcs3414.
429 config TCS3472
430         tristate "TAOS TCS3472 color light-to-digital converter"
431         depends on I2C
432         select IIO_BUFFER
433         select IIO_TRIGGERED_BUFFER
434         help
435           If you say yes here you get support for the TAOS TCS3472
436           family of color light-to-digital converters with IR filter.
438           This driver can also be built as a module.  If so, the module
439           will be called tcs3472.
441 config SENSORS_TSL2563
442         tristate "TAOS TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors"
443         depends on I2C
444         help
445           If you say yes here you get support for the Taos TSL2560,
446           TSL2561, TSL2562 and TSL2563 ambient light sensors.
448           This driver can also be built as a module.  If so, the module
449           will be called tsl2563.
451 config TSL2583
452         tristate "TAOS TSL2580, TSL2581 and TSL2583 light-to-digital converters"
453         depends on I2C
454         help
455           Provides support for the TAOS tsl2580, tsl2581 and tsl2583 devices.
456           Access ALS data via iio, sysfs.
458 config TSL2772
459         tristate "TAOS TSL/TMD2x71 and TSL/TMD2x72 Family of light and proximity sensors"
460         depends on I2C
461         help
462           Support for: tsl2571, tsl2671, tmd2671, tsl2771, tmd2771, tsl2572, tsl2672,
463           tmd2672, tsl2772, tmd2772 devices.
464           Provides iio_events and direct access via sysfs.
466 config TSL4531
467         tristate "TAOS TSL4531 ambient light sensors"
468         depends on I2C
469         help
470           Say Y here if you want to build a driver for the TAOS TSL4531 family
471           of ambient light sensors with direct lux output.
473           To compile this driver as a module, choose M here: the
474           module will be called tsl4531.
476 config US5182D
477         tristate "UPISEMI light and proximity sensor"
478         depends on I2C
479         help
480           If you say yes here you get support for the UPISEMI US5182D
481           ambient light and proximity sensor.
483           This driver can also be built as a module.  If so, the module
484           will be called us5182d.
486 config VCNL4000
487         tristate "VCNL4000/4010/4020/4200 combined ALS and proximity sensor"
488         depends on I2C
489         help
490           Say Y here if you want to build a driver for the Vishay VCNL4000,
491           VCNL4010, VCNL4020, VCNL4200 combined ambient light and proximity
492           sensor.
494           To compile this driver as a module, choose M here: the
495           module will be called vcnl4000.
497 config VCNL4035
498         tristate "VCNL4035 combined ALS and proximity sensor"
499         select IIO_TRIGGERED_BUFFER
500         select REGMAP_I2C
501         depends on I2C
502         help
503           Say Y here if you want to build a driver for the Vishay VCNL4035,
504           combined ambient light (ALS) and proximity sensor. Currently only ALS
505           function is available.
507           To compile this driver as a module, choose M here: the
508           module will be called vcnl4035.
510 config VEML6030
511         tristate "VEML6030 ambient light sensor"
512         select REGMAP_I2C
513         depends on I2C
514         help
515           Say Y here if you want to build a driver for the Vishay VEML6030
516           ambient light sensor (ALS).
518           To compile this driver as a module, choose M here: the
519           module will be called veml6030.
521 config VEML6070
522         tristate "VEML6070 UV A light sensor"
523         depends on I2C
524         help
525           Say Y here if you want to build a driver for the Vishay VEML6070 UV A
526           light sensor.
528           To compile this driver as a module, choose M here: the
529           module will be called veml6070.
531 config VL6180
532         tristate "VL6180 ALS, range and proximity sensor"
533         depends on I2C
534         help
535           Say Y here if you want to build a driver for the STMicroelectronics
536           VL6180 combined ambient light, range and proximity sensor.
538           To compile this driver as a module, choose M here: the
539           module will be called vl6180.
541 config ZOPT2201
542         tristate "ZOPT2201 ALS and UV B sensor"
543         depends on I2C
544         help
545           Say Y here if you want to build a driver for the IDT
546           ZOPT2201 ambient light and UV B sensor.
548           To compile this driver as a module, choose M here: the
549           module will be called zopt2201.
551 endmenu