rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed
authorGeert Uytterhoeven <geert@linux-m68k.org>
Sun, 12 Jan 2020 17:13:49 +0000 (18:13 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 27 Jan 2020 22:36:35 +0000 (23:36 +0100)
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: 080481f54ef62121 ("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>
drivers/rtc/Kconfig

index 67860ca8444ba49f390af6e57495a3c3b6dbb002..b3b94f742e482ef72ed149c866f14d0c20c03708 100644 (file)
@@ -852,14 +852,14 @@ config RTC_I2C_AND_SPI
        default m if I2C=m
        default y if I2C=y
        default y if SPI_MASTER=y
-       select REGMAP_I2C if I2C
-       select REGMAP_SPI if SPI_MASTER
 
 comment "SPI and I2C RTC drivers"
 
 config RTC_DRV_DS3232
        tristate "Dallas/Maxim DS3232/DS3234"
        depends on RTC_I2C_AND_SPI
+       select REGMAP_I2C if I2C
+       select REGMAP_SPI if SPI_MASTER
        help
          If you say yes here you get support for Dallas Semiconductor
          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
        tristate "NXP PCF2127"
        depends on RTC_I2C_AND_SPI
+       select REGMAP_I2C if I2C
+       select REGMAP_SPI if SPI_MASTER
        select WATCHDOG_CORE if WATCHDOG
        help
          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
        tristate "Micro Crystal RV3029/3049"
        depends on RTC_I2C_AND_SPI
+       select REGMAP_I2C if I2C
+       select REGMAP_SPI if SPI_MASTER
        help
          If you say yes here you get support for the Micro Crystal
          RV3029 and RV3049 RTC chips.