Commit 34719de9 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Alexandre Belloni
Browse files

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: 080481f5 ("rtc: merge ds3232 and ds3234")
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Reported-by: default avatarkbuild test robot <lkp@intel.com>
Reported-by: default avatarkbuild test robot <lkp@intel.com>
Link: https://lore.kernel.org/r/20200112171349.22268-1-geert@linux-m68k.org


Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 578c2b66
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -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.