diff mbox series

watchdog: da9062: Add dependency on I2C

Message ID 20200208130803.23387-1-linux@roeck-us.net (mailing list archive)
State Accepted
Headers show
Series watchdog: da9062: Add dependency on I2C | expand

Commit Message

Guenter Roeck Feb. 8, 2020, 1:08 p.m. UTC
Since commit 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic
safe"), the driver calls i2c functions directly. It now therefore depends
on I2C. This is a hard dependency which overrides COMPILE_TEST.

Reported-by: kbuild test robot <lkp@intel.com>
Fixes: 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic safe")
Cc: Marco Felsch <m.felsch@pengutronix.de>
Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Cc: Stefan Lengfeld <contact@stefanchrist.eu>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
 drivers/watchdog/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Marco Felsch Feb. 8, 2020, 1:56 p.m. UTC | #1
Hi Guenter,

thanks for fixing that.

On 20-02-08 05:08, Guenter Roeck wrote:
> Since commit 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic
> safe"), the driver calls i2c functions directly. It now therefore depends
> on I2C. This is a hard dependency which overrides COMPILE_TEST.
> 
> Reported-by: kbuild test robot <lkp@intel.com>
> Fixes: 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic safe")
> Cc: Marco Felsch <m.felsch@pengutronix.de>
> Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
> Cc: Stefan Lengfeld <contact@stefanchrist.eu>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>

Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> 

> ---
>  drivers/watchdog/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index c3c8e0786a99..9ea2b43d4b01 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -207,6 +207,7 @@ config DA9063_WATCHDOG
>  config DA9062_WATCHDOG
>  	tristate "Dialog DA9062/61 Watchdog"
>  	depends on MFD_DA9062 || COMPILE_TEST
> +	depends on I2C
>  	select WATCHDOG_CORE
>  	help
>  	  Support for the watchdog in the DA9062 and DA9061 PMICs.
> -- 
> 2.17.1
Marco Felsch Feb. 8, 2020, 2:01 p.m. UTC | #2
Hi,

On 20-02-08 05:08, Guenter Roeck wrote:
> Since commit 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic
> safe"), the driver calls i2c functions directly. It now therefore depends
> on I2C. This is a hard dependency which overrides COMPILE_TEST.

I just wondered why it doesn't complain if no regmap support is on and
surprise it provides stubs ^^ Is it worth to add i2c stubs too?

Regards,
  Marco

> Reported-by: kbuild test robot <lkp@intel.com>
> Fixes: 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic safe")
> Cc: Marco Felsch <m.felsch@pengutronix.de>
> Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
> Cc: Stefan Lengfeld <contact@stefanchrist.eu>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
>  drivers/watchdog/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index c3c8e0786a99..9ea2b43d4b01 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -207,6 +207,7 @@ config DA9063_WATCHDOG
>  config DA9062_WATCHDOG
>  	tristate "Dialog DA9062/61 Watchdog"
>  	depends on MFD_DA9062 || COMPILE_TEST
> +	depends on I2C
>  	select WATCHDOG_CORE
>  	help
>  	  Support for the watchdog in the DA9062 and DA9061 PMICs.
> -- 
> 2.17.1
> 
>
Guenter Roeck Feb. 8, 2020, 2:22 p.m. UTC | #3
On 2/8/20 6:01 AM, Marco Felsch wrote:
> Hi,
> 
> On 20-02-08 05:08, Guenter Roeck wrote:
>> Since commit 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic
>> safe"), the driver calls i2c functions directly. It now therefore depends
>> on I2C. This is a hard dependency which overrides COMPILE_TEST.
> 
> I just wondered why it doesn't complain if no regmap support is on and
> surprise it provides stubs ^^ Is it worth to add i2c stubs too?
> 

I'd rather not go there. In practice it doesn't make much of a difference -
it just ensures that COMPILE_TEST can run on architectures which don't
support I2C. I think 0day only finds it because they select COMPILE_TEST
and then selectively disable I2C (and maybe other configuration options)
to catch problems like this.

Guenter
Marco Felsch Feb. 10, 2020, 8:53 a.m. UTC | #4
On 20-02-08 06:22, Guenter Roeck wrote:
> On 2/8/20 6:01 AM, Marco Felsch wrote:
> > Hi,
> > 
> > On 20-02-08 05:08, Guenter Roeck wrote:
> > > Since commit 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic
> > > safe"), the driver calls i2c functions directly. It now therefore depends
> > > on I2C. This is a hard dependency which overrides COMPILE_TEST.
> > 
> > I just wondered why it doesn't complain if no regmap support is on and
> > surprise it provides stubs ^^ Is it worth to add i2c stubs too?
> > 
> 
> I'd rather not go there. In practice it doesn't make much of a difference -
> it just ensures that COMPILE_TEST can run on architectures which don't
> support I2C. I think 0day only finds it because they select COMPILE_TEST
> and then selectively disable I2C (and maybe other configuration options)
> to catch problems like this.

I know, just saying that this is a bit confusing for a reader because
the deps are handled correctly by MFD_* and REGMAP_* symbols. Anyway
thanks for fixing the bug I introduced. I was a bit to busy last week.

Regards,
  Marco

> Guenter
>
Geert Uytterhoeven Feb. 12, 2020, 2:12 p.m. UTC | #5
On Sat, Feb 8, 2020 at 2:09 PM Guenter Roeck <linux@roeck-us.net> wrote:
> Since commit 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic
> safe"), the driver calls i2c functions directly. It now therefore depends
> on I2C. This is a hard dependency which overrides COMPILE_TEST.
>
> Reported-by: kbuild test robot <lkp@intel.com>
> Fixes: 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic safe")
> Cc: Marco Felsch <m.felsch@pengutronix.de>
> Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
> Cc: Stefan Lengfeld <contact@stefanchrist.eu>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>

Just ran into the same issue, so
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>

Gr{oetje,eeting}s,

                        Geert
diff mbox series

Patch

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index c3c8e0786a99..9ea2b43d4b01 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -207,6 +207,7 @@  config DA9063_WATCHDOG
 config DA9062_WATCHDOG
 	tristate "Dialog DA9062/61 Watchdog"
 	depends on MFD_DA9062 || COMPILE_TEST
+	depends on I2C
 	select WATCHDOG_CORE
 	help
 	  Support for the watchdog in the DA9062 and DA9061 PMICs.