zephyr/drivers
Kumar Gala df81fef944 drivers: sensor: Convert Kconfig bus 'depends on' to 'select'
This change in pattern is meant to address a misconfiguration issue
that can occur for sensors that support being on multiple busses
like I2C & SPI.

For example, you can have a configuration in which such a sensor is
on the I2C bus in the devicetree and the sensor is enabled.  However
the application configuration enables CONFIG_SPI=y and CONFIG_I2C=n
and this will cause the sensor driver to be built by default, however
since we don't have the I2C bus enabled the driver will not compile
correctly.

Previously we had been adding to board Kconfig.defconfig something
like:

	config I2C
		default y if SENSOR

This pattern doesn't scale well and may differ from what an application
specific need/use is.

So instead move to a pattern in which we leave the default enablement
up to the devicetree "status" property for the sensor.  We then have
the Kconfig move from 'depends on <BUS>' to 'select <BUS>' and in
the case of drivers that support multiple busses we have the Kconfig
be: 'select <BUS> if $(dt_compat_on_bus,$(<DT_COMPAT>),<BUS>) for
each bus type the sensor supports.

This removes the need to add Kconfig logic to each board and enables
the bus subsystem and bus controller driver if the sensor requires
it by default in the build system.

Fixes: #48518

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-08 06:58:18 +01:00
..
adc drivers: adc: stm32: Disable ADC before setting common path 2022-08-03 18:43:20 +02:00
audio drivers: dmic: remove old intel dmic driver 2022-07-25 13:14:49 -04:00
bbram
bluetooth drivers: bluetooth: hci: Add BT_HAS_HCI_VS selection for RPMSG. 2022-08-02 09:13:12 +02:00
cache everywhere: Fix legacy include paths 2022-07-18 16:16:47 +00:00
can drivers: can: stm32: rework filter handling 2022-08-03 05:02:09 +01:00
clock_control include: fix the remaining legacy #include paths 2022-08-02 16:41:41 +01:00
console drivers: console: ipm_console: Update driver to use DEVICE_DT_GET 2022-07-26 08:49:20 +02:00
coredump everywhere: Fix legacy include paths 2022-07-18 16:16:47 +00:00
counter drivers: counter: increase COUNTER_INIT_PRIORITY 2022-08-05 12:55:51 +02:00
crypto drivers: crypto_stm32: include soc.h in driver 2022-07-25 11:05:15 +00:00
dac drivers: dac: update drivers to use devicetree Kconfig symbol 2022-07-29 14:11:18 +02:00
dai drivers: dai: intel: reduce log clutter in ssp_trigger 2022-08-02 07:11:51 -04:00
debug
disk drivers: disk: sdmmc_stm32: Update driver to use gpio_dt_spec 2022-07-04 06:40:02 -05:00
display drivers: ssd16xx: Add an API to read raw RAM contents 2022-07-27 18:45:47 +02:00
dma drivers: dma: Add GD32 DMA driver 2022-08-02 09:13:21 +02:00
ec_host_cmd_periph
edac drivers: use unsigned int for irq_lock() 2022-07-14 14:37:13 -05:00
eeprom drivers: eeprom: Fix format strings 2022-08-07 14:29:36 +01:00
entropy drivers: entropy: Update drivers to use devicetree Kconfig symbol 2022-07-25 09:39:10 +02:00
espi emul: remove name param from bus register APIs 2022-07-19 15:52:36 -05:00
ethernet drivers: ethernet: sam_gmac: Convert to using dts for I2C EEPROM 2022-08-02 13:02:42 +02:00
flash drivers: flash: Update drivers to use devicetree Kconfig symbol 2022-07-30 08:27:13 -05:00
fpga
gpio drivers: gpio: Add xmc4xxx drivers 2022-08-05 13:00:21 +02:00
hwinfo drivers: hwinfo: Fix mcux device id 2022-08-02 13:40:04 -05:00
i2c drivers: i2c: esp32: fix node identification 2022-08-04 13:45:23 +02:00
i2s
ieee802154 drivers: ieee802154: Make raw mode and l2 mutually exclusive 2022-08-05 15:04:43 +02:00
interrupt_controller drivers: intc_gicv3: configuring affinity to PE 2022-08-04 13:43:29 +02:00
ipm intel_adsp: move cavs to be a series 2022-07-25 16:50:24 -04:00
kscan drivers: add mising braces to single line if statements 2022-07-06 11:00:45 -04:00
led drivers: led: tlc59108: Update driver to use i2c_dt_spec 2022-07-18 18:42:52 +02:00
led_strip drivers: Fix coding guidelines MISRAC:2012 Rule 14.4 do-whiles/Zero checks 2022-07-26 15:30:24 -04:00
lora drivers: lora: sx126x: Replace use of DT_INST_LABEL 2022-07-02 18:11:10 -05:00
mbox
mdio
memc drivers: memc: mcux_flexspi: Always try to apply pinctrl state 2022-08-01 18:03:10 +02:00
mipi_dsi
misc kconfig: guard grove lcd logging macros 2022-07-20 18:28:43 +02:00
mm intel_adsp: move cavs to be a series 2022-07-25 16:50:24 -04:00
modem drivers: modem: gsm: adjust logs level 2022-08-05 11:43:11 +01:00
net drivers: net: canbus: move CAN bus network driver to drivers/net 2022-07-13 10:34:51 +02:00
neural_net
pcie drivers: Fix coding guidelines MISRAC:2012 Rule 14.4 do-whiles/Zero checks 2022-07-26 15:30:24 -04:00
peci driver: PECI: npcx: add driver support for Nuvoton npcx family 2022-07-29 14:09:17 +02:00
pinctrl mec15xx: pinctrl for both mec15xx and mec17xx 2022-08-01 10:28:23 +02:00
pinmux
pm_cpu_ops drivers: add mising braces to single line if statements 2022-07-06 11:00:45 -04:00
power_domain
ps2 drivers: add mising braces to single line if statements 2022-07-06 11:00:45 -04:00
ptp_clock
pwm drivers: pwm_nrfx: Improve tracking of PWM peripheral usage 2022-07-28 20:52:41 +02:00
regulator drivers: regulator_pmic: Fix compile issue 2022-07-23 09:23:37 -05:00
reset
sdhc drivers: sdhc: Rework SPI config initialization 2022-06-29 14:59:43 +00:00
sensor drivers: sensor: Convert Kconfig bus 'depends on' to 'select' 2022-08-08 06:58:18 +01:00
serial serial: uart_pl011: Fix compile error for CONFIG_UART_INTERRUPT_DRIVEN=n 2022-08-08 06:57:45 +01:00
spi drivers: spi: Add default char to mcux flexcomm spi driver 2022-08-05 09:28:39 -05:00
syscon
timer drivers: timer: nrf_rtc_timer: Fix assert conditions 2022-08-05 15:15:34 +02:00
usb usb_dc_stm32: fix init on soft reset 2022-08-01 18:03:42 +02:00
usbc kconfig: guard usbc logging macros 2022-07-20 18:28:43 +02:00
video drivers: video: Update drivers to use devicetree Kconfig symbol 2022-07-19 09:39:49 -07:00
virtualization drivers: virt: ivshmem: Convert to use DEVICE_DT_GET_ONE 2022-07-25 15:16:05 +02:00
w1 drivers: w1: Add driver for Maxim DS2484 Single-Channel 1-Wire Master 2022-08-01 10:33:10 +02:00
watchdog drivers: watchdog: Update drivers to use devicetree Kconfig symbol 2022-07-22 14:06:00 +00:00
wifi soc: esp32: allow wifi and net stack into spiram 2022-07-29 14:11:00 +02:00
xen everywhere: Fix legacy include paths 2022-07-18 16:16:47 +00:00
CMakeLists.txt drivers: w1 introduce 1-wire api and common code 2022-07-05 23:06:45 +02:00
Kconfig drivers: w1 introduce 1-wire api and common code 2022-07-05 23:06:45 +02:00