Thread (6 messages) flat view 6 messages, 3 authors, 2023-07-06

Re: [PATCH] rtc: Kconfig: select REGMAP for RTC_DRV_DS1307

From: Benjamin Gray <hidden>
Date: 2023-07-06 06:15:44
Also in: linux-rtc

On Thu, 2023-07-06 at 05:13 +0000, Christophe Leroy wrote:

Le 05/07/2023 à 02:30, Benjamin Gray a écrit :
quoted
The drivers/rtc/rtc-ds1307.c driver has a direct dependency on
struct regmap_config, which is guarded behind CONFIG_REGMAP.

Commit 70a640c0efa7 ("regmap: REGMAP_KUNIT should not select
REGMAP")
exposed this by disabling the default pick unless KUNIT_ALL_TESTS
is
set, causing the ppc64be allnoconfig build to fail.

Signed-off-by: Benjamin Gray <redacted>
---
  drivers/rtc/Kconfig | 1 +
  1 file changed, 1 insertion(+)
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index ffca9a8bb878..7455ebd189fe 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -246,6 +246,7 @@ config RTC_DRV_AS3722
  
  config RTC_DRV_DS1307
        tristate "Dallas/Maxim DS1307/37/38/39/40/41, ST M41T00,
EPSON RX-8025, ISL12057"
+       select REGMAP
As far as I can see, REGMAP defaults to Y when REGMAP_I2C is
selected.
Can you explain more in details why you have to select it explicitely
? 
If there is something wrong with the logic, then the logic should be 
fixed instead of just adding a selection of REGMAP for that
particular 
RTC_DRV_DS1307. Because others like RTC_DRV_ABB5ZES3 or
RTC_DRV_ABEOZ9 
might have the exact same problem.
Right, yeah, I don't want to assert this patch is the correct solution,
sending it was more to offer a fix and allow discussion if it should be
resolved some other way (so thanks for replying, I appreciate it).

In terms of why I made this patch, the way I see it, if a config option
requires another config option be set, then "selects" is the natural
way of phrasing this dependency. "default" on the REGMAP side seems
weird. If it's a default, does that mean it can be overridden? But
RTC_DRV_DS1307 *requires* REGMAP; it's not just a "would be nice". The
build breaks without it.

But maybe KConfig works differently to my assumptions. Maybe the
referenced patch that causes the build failure is actually incorrect
(CC Geert). I spoke with Joel Stanley (CC) and he indicated you're not
supposed to depend on REGMAP like KUnit does?

As for other drivers having the same problem, quite possibly, yes. But
the PPC configs don't seem to build those drivers, so I'd prefer to
leave it to anyone who does build them to report the error. I wasn't
planning to audit all the drivers, I was just trying to fix the PPC
configs I build and test.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help