rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed

Merely enabling I2C and RTC selects REGMAP_I2C and REGMAP_SPI, even when
no driver needs it.  While the former can be moduler, the latter cannot,
and thus becomes built-in.

Fix this by moving the select statements for REGMAP_I2C and REGMAP_SPI
from the RTC_I2C_AND_SPI helper to the individual drivers that depend on
it.

Note that the comment for RTC_I2C_AND_SPI refers to SND_SOC_I2C_AND_SPI
for more information, but the latter does not select REGMAP_{I2C,SPI}
itself, and defers that to the individual drivers, too.

Fixes: 080481f54e ("rtc: merge ds3232 and ds3234")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: kbuild test robot <lkp@intel.com>
Link: https://lore.kernel.org/r/20200112171349.22268-1-geert@linux-m68k.org
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
Geert Uytterhoeven 2020-01-12 18:13:49 +01:00 committed by Alexandre Belloni
parent 578c2b661e
commit 34719de919

View File

@ -852,14 +852,14 @@ config RTC_I2C_AND_SPI
default m if I2C=m default m if I2C=m
default y if I2C=y default y if I2C=y
default y if SPI_MASTER=y default y if SPI_MASTER=y
select REGMAP_I2C if I2C
select REGMAP_SPI if SPI_MASTER
comment "SPI and I2C RTC drivers" comment "SPI and I2C RTC drivers"
config RTC_DRV_DS3232 config RTC_DRV_DS3232
tristate "Dallas/Maxim DS3232/DS3234" tristate "Dallas/Maxim DS3232/DS3234"
depends on RTC_I2C_AND_SPI depends on RTC_I2C_AND_SPI
select REGMAP_I2C if I2C
select REGMAP_SPI if SPI_MASTER
help help
If you say yes here you get support for Dallas Semiconductor If you say yes here you get support for Dallas Semiconductor
DS3232 and DS3234 real-time clock chips. If an interrupt is associated DS3232 and DS3234 real-time clock chips. If an interrupt is associated
@ -879,6 +879,8 @@ config RTC_DRV_DS3232_HWMON
config RTC_DRV_PCF2127 config RTC_DRV_PCF2127
tristate "NXP PCF2127" tristate "NXP PCF2127"
depends on RTC_I2C_AND_SPI depends on RTC_I2C_AND_SPI
select REGMAP_I2C if I2C
select REGMAP_SPI if SPI_MASTER
select WATCHDOG_CORE if WATCHDOG select WATCHDOG_CORE if WATCHDOG
help help
If you say yes here you get support for the NXP PCF2127/29 RTC If you say yes here you get support for the NXP PCF2127/29 RTC
@ -895,6 +897,8 @@ config RTC_DRV_PCF2127
config RTC_DRV_RV3029C2 config RTC_DRV_RV3029C2
tristate "Micro Crystal RV3029/3049" tristate "Micro Crystal RV3029/3049"
depends on RTC_I2C_AND_SPI depends on RTC_I2C_AND_SPI
select REGMAP_I2C if I2C
select REGMAP_SPI if SPI_MASTER
help help
If you say yes here you get support for the Micro Crystal If you say yes here you get support for the Micro Crystal
RV3029 and RV3049 RTC chips. RV3029 and RV3049 RTC chips.