| From 42d416c18494f0e9206a94ab0f4a677f7f8c4d41 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sun, 12 Jan 2020 18:13:49 +0100 |
| Subject: rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed |
| |
| From: Geert Uytterhoeven <geert@linux-m68k.org> |
| |
| [ Upstream commit 34719de919af07682861cb0fa2bcf64da33ecf44 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/rtc/Kconfig | 8 ++++++-- |
| 1 file changed, 6 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig |
| index 1adf9f8156522..5efc6af539c0d 100644 |
| --- a/drivers/rtc/Kconfig |
| +++ b/drivers/rtc/Kconfig |
| @@ -859,14 +859,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 |
| @@ -886,6 +886,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 |
| @@ -902,6 +904,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. |
| -- |
| 2.20.1 |
| |