lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 8 Jul 2019 13:24:38 +0000
From:   "Vaittinen, Matti" <Matti.Vaittinen@...rohmeurope.com>
To:     "a.zummo@...ertech.it" <a.zummo@...ertech.it>,
        "arnd@...db.de" <arnd@...db.de>,
        "alexandre.belloni@...tlin.com" <alexandre.belloni@...tlin.com>
CC:     "linux-rtc@...r.kernel.org" <linux-rtc@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "lee.jones@...aro.org" <lee.jones@...aro.org>
Subject: Re: [PATCH] rtc: bd70528: fix link error

Hello Arnd,

Thanks for taking a look on this!

On Mon, 2019-07-08 at 14:41 +0200, Arnd Bergmann wrote:
> With CONFIG_BD70528_WATCHDOG=m, a built-in rtc driver cannot call
> into the low-level functions that are part of the watchdog module:
> 
> drivers/rtc/rtc-bd70528.o: In function `bd70528_set_time':
> rtc-bd70528.c:(.text+0x22c): undefined reference to
> `bd70528_wdt_lock'
> rtc-bd70528.c:(.text+0x2a8): undefined reference to
> `bd70528_wdt_unlock'
> drivers/rtc/rtc-bd70528.o: In function
> `bd70528_set_rtc_based_timers':
> rtc-bd70528.c:(.text+0x50c): undefined reference to `bd70528_wdt_set'
> 
> Add a Kconfig dependency on this driver, but still allow compile-
> testing
> without it.
> 
> Fixes: 32a4a4ebf768 ("rtc: bd70528: Initial support for ROHM bd70528
> RTC")
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
>  drivers/rtc/Kconfig | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
> index 3bfc04a86529..7b071cc74422 100644
> --- a/drivers/rtc/Kconfig
> +++ b/drivers/rtc/Kconfig
> @@ -498,8 +498,10 @@ config RTC_DRV_M41T80_WDT
>  	help
>  	  If you say Y here you will get support for the
>  	  watchdog timer in the ST M41T60 and M41T80 RTC chips series.
> +
>  config RTC_DRV_BD70528
>  	tristate "ROHM BD70528 PMIC RTC"
> +	depends on BD70528_WATCHDOG || (COMPILE_TEST &&
> !BD70528_WATCHDOG)

I am not fan of this. There may well be use-cases where it is desirable
to leave the watchdog out but still compile in the RTC. This is why we
have static inline stubs in the header for cases where WDG is not
compiled in. (RTC does not need to stop WDG if WDG driver is not
included)

Adding dependency from RTC to MFD for BD70528 should be done - this
will avoid most of the issues (And there has been few patches sent for
this already). But that's still not complete solution because
configuring RTC and MFD to be built in-kernel and WDG as a module will
cause errors again.

Is there a way to force WDG in-kernel if RTC is in-kernel? (Or
disallow configuring RTC in-kernel if WDG is a module - while still
allow RTC to be built without WDG?

>  	help
>  	  If you say Y here you will get support for the RTC
>  	  on ROHM BD70528 Power Management IC.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ