public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] watchdog: Compile possible drivers with COMPILE_TEST
@ 2015-10-14 18:55 Luis de Bethencourt
  2015-10-14 21:35 ` Guenter Roeck
  2015-10-16  4:11 ` kbuild test robot
  0 siblings, 2 replies; 7+ messages in thread
From: Luis de Bethencourt @ 2015-10-14 18:55 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-watchdog, wim, javier, Luis de Bethencourt

These drivers have depends that aren't build dependencies, so it's
a good idea to allow these drivers to always be built when the
COMPILE_TEST option is enabled.

That way, the drivers can be built with a config generated by make
allyesconfig and check if a patch would break the build.

Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
---

Hi,

I have removed the COMPILE_TEST for SIRFSOC_WATCHDOG, since the kbuild test
robot complained with warnings about it.

Thanks,
Luis

 drivers/watchdog/Kconfig | 46 +++++++++++++++++++++++-----------------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 79e1aa1..b3d69c3 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -190,7 +190,7 @@ config AT91SAM9X_WATCHDOG
 
 config SAMA5D4_WATCHDOG
 	tristate "Atmel SAMA5D4 Watchdog Timer"
-	depends on ARCH_AT91
+	depends on ARCH_AT91 || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Atmel SAMA5D4 watchdog timer is embedded into SAMA5D4 chips.
@@ -261,7 +261,7 @@ config HAVE_S3C2410_WATCHDOG
 
 config S3C2410_WATCHDOG
 	tristate "S3C2410 Watchdog"
-	depends on HAVE_S3C2410_WATCHDOG
+	depends on HAVE_S3C2410_WATCHDOG || COMPILE_TEST
 	select WATCHDOG_CORE
 	select MFD_SYSCON if ARCH_EXYNOS5
 	help
@@ -299,7 +299,7 @@ config DW_WATCHDOG
 
 config EP93XX_WATCHDOG
 	tristate "EP93xx Watchdog"
-	depends on ARCH_EP93XX
+	depends on ARCH_EP93XX || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Say Y here if to include support for the watchdog timer
@@ -310,7 +310,7 @@ config EP93XX_WATCHDOG
 
 config OMAP_WATCHDOG
 	tristate "OMAP Watchdog"
-	depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
+	depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Support for TI OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog.  Say 'Y'
@@ -346,7 +346,7 @@ config IOP_WATCHDOG
 
 config DAVINCI_WATCHDOG
 	tristate "DaVinci watchdog"
-	depends on ARCH_DAVINCI || ARCH_KEYSTONE
+	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Say Y here if to include support for the watchdog timer
@@ -380,7 +380,7 @@ config RN5T618_WATCHDOG
 
 config SUNXI_WATCHDOG
 	tristate "Allwinner SoCs watchdog support"
-	depends on ARCH_SUNXI
+	depends on ARCH_SUNXI || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Say Y here to include support for the watchdog timer
@@ -409,7 +409,7 @@ config TWL4030_WATCHDOG
 
 config STMP3XXX_RTC_WATCHDOG
 	tristate "Freescale STMP3XXX & i.MX23/28 watchdog"
-	depends on RTC_DRV_STMP
+	depends on RTC_DRV_STMP || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Say Y here to include support for the watchdog timer inside
@@ -419,7 +419,7 @@ config STMP3XXX_RTC_WATCHDOG
 
 config NUC900_WATCHDOG
 	tristate "Nuvoton NUC900 watchdog"
-	depends on ARCH_W90X900
+	depends on ARCH_W90X900 || COMPILE_TEST
 	help
 	  Say Y here if to include support for the watchdog timer
 	  for the Nuvoton NUC900 series SoCs.
@@ -428,7 +428,7 @@ config NUC900_WATCHDOG
 
 config TS72XX_WATCHDOG
 	tristate "TS-72XX SBC Watchdog"
-	depends on MACH_TS72XX
+	depends on MACH_TS72XX || COMPILE_TEST
 	help
 	  Technologic Systems TS-7200, TS-7250 and TS-7260 boards have
 	  watchdog timer implemented in a external CPLD chip. Say Y here
@@ -446,7 +446,7 @@ config MAX63XX_WATCHDOG
 
 config IMX2_WDT
 	tristate "IMX2+ Watchdog"
-	depends on ARCH_MXC
+	depends on ARCH_MXC || COMPILE_TEST
 	select REGMAP_MMIO
 	select WATCHDOG_CORE
 	help
@@ -484,7 +484,7 @@ config RETU_WATCHDOG
 
 config MOXART_WDT
 	tristate "MOXART watchdog"
-	depends on ARCH_MOXART
+	depends on ARCH_MOXART || COMPILE_TEST
 	help
 	  Say Y here to include Watchdog timer support for the watchdog
 	  existing on the MOXA ART SoC series platforms.
@@ -503,7 +503,7 @@ config SIRFSOC_WATCHDOG
 
 config ST_LPC_WATCHDOG
 	tristate "STMicroelectronics LPC Watchdog"
-	depends on ARCH_STI
+	depends on ARCH_STI || COMPILE_TEST
 	depends on OF
 	select WATCHDOG_CORE
 	help
@@ -539,7 +539,7 @@ config QCOM_WDT
 
 config MESON_WATCHDOG
 	tristate "Amlogic Meson SoCs watchdog support"
-	depends on ARCH_MESON
+	depends on ARCH_MESON || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Say Y here to include support for the watchdog timer
@@ -549,7 +549,7 @@ config MESON_WATCHDOG
 
 config MEDIATEK_WATCHDOG
 	tristate "Mediatek SoCs watchdog support"
-	depends on ARCH_MEDIATEK
+	depends on ARCH_MEDIATEK || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Say Y here to include support for the watchdog timer
@@ -559,7 +559,7 @@ config MEDIATEK_WATCHDOG
 
 config DIGICOLOR_WATCHDOG
 	tristate "Conexant Digicolor SoCs watchdog support"
-	depends on ARCH_DIGICOLOR
+	depends on ARCH_DIGICOLOR || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Say Y here to include support for the watchdog timer
@@ -582,7 +582,7 @@ config LPC18XX_WATCHDOG
 
 config AT32AP700X_WDT
 	tristate "AT32AP700x watchdog"
-	depends on CPU_AT32AP700X
+	depends on CPU_AT32AP700X || COMPILE_TEST
 	help
 	  Watchdog timer embedded into AT32AP700x devices. This will reboot
 	  your system when the timeout is reached.
@@ -690,7 +690,7 @@ config GEODE_WDT
 
 config SC520_WDT
 	tristate "AMD Elan SC520 processor Watchdog"
-	depends on MELAN
+	depends on MELAN || COMPILE_TEST
 	help
 	  This is the driver for the hardware watchdog built in to the
 	  AMD "Elan" SC520 microcomputer commonly used in embedded systems.
@@ -963,7 +963,7 @@ config NV_TCO
 
 config RDC321X_WDT
 	tristate "RDC R-321x SoC watchdog"
-	depends on X86_RDC321X
+	depends on X86_RDC321X || COMPILE_TEST
 	help
 	  This is the driver for the built in hardware watchdog
 	  in the RDC R-321x SoC.
@@ -987,7 +987,7 @@ config 60XX_WDT
 
 config SBC8360_WDT
 	tristate "SBC8360 Watchdog Timer"
-	depends on X86_32
+	depends on X86_32 || COMPILE_TEST
 	---help---
 
 	  This is the driver for the hardware watchdog on the SBC8360 Single
@@ -1178,7 +1178,7 @@ config ATH79_WDT
 
 config BCM47XX_WDT
 	tristate "Broadcom BCM47xx Watchdog Timer"
-	depends on BCM47XX || ARCH_BCM_5301X
+	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Hardware driver for the Broadcom BCM47xx Watchdog Timer.
@@ -1293,7 +1293,7 @@ config BCM2835_WDT
 
 config BCM_KONA_WDT
 	tristate "BCM Kona Watchdog"
-	depends on ARCH_BCM_MOBILE
+	depends on ARCH_BCM_MOBILE || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  Support for the watchdog timer on the following Broadcom BCM281xx
@@ -1368,7 +1368,7 @@ config 8xxx_WDT
 
 config MV64X60_WDT
 	tristate "MV64X60 (Marvell Discovery) Watchdog Timer"
-	depends on MV64X60
+	depends on MV64X60 || COMPILE_TEST
 
 config PIKA_WDT
 	tristate "PIKA FPGA Watchdog"
@@ -1533,7 +1533,7 @@ config PCWATCHDOG
 
 config MIXCOMWD
 	tristate "Mixcom Watchdog"
-	depends on ISA
+	depends on ISA || COMPILE_TEST
 	---help---
 	  This is a driver for the Mixcom hardware watchdog cards.  This
 	  watchdog simply watches your kernel to make sure it doesn't freeze,
-- 
2.5.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] watchdog: Compile possible drivers with COMPILE_TEST
  2015-10-14 18:55 [PATCH v2] watchdog: Compile possible drivers with COMPILE_TEST Luis de Bethencourt
@ 2015-10-14 21:35 ` Guenter Roeck
  2015-10-14 22:11   ` Luis de Bethencourt
  2015-10-16  4:11 ` kbuild test robot
  1 sibling, 1 reply; 7+ messages in thread
From: Guenter Roeck @ 2015-10-14 21:35 UTC (permalink / raw)
  To: Luis de Bethencourt, linux-kernel; +Cc: linux-watchdog, wim, javier

On 10/14/2015 11:55 AM, Luis de Bethencourt wrote:
> These drivers have depends that aren't build dependencies, so it's
> a good idea to allow these drivers to always be built when the
> COMPILE_TEST option is enabled.
>
> That way, the drivers can be built with a config generated by make
> allyesconfig and check if a patch would break the build.
>
> Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>

What architectures have you actually tested this for ?

Guenter

> ---
>
> Hi,
>
> I have removed the COMPILE_TEST for SIRFSOC_WATCHDOG, since the kbuild test
> robot complained with warnings about it.
>
> Thanks,
> Luis
>
>   drivers/watchdog/Kconfig | 46 +++++++++++++++++++++++-----------------------
>   1 file changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index 79e1aa1..b3d69c3 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -190,7 +190,7 @@ config AT91SAM9X_WATCHDOG
>
>   config SAMA5D4_WATCHDOG
>   	tristate "Atmel SAMA5D4 Watchdog Timer"
> -	depends on ARCH_AT91
> +	depends on ARCH_AT91 || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Atmel SAMA5D4 watchdog timer is embedded into SAMA5D4 chips.
> @@ -261,7 +261,7 @@ config HAVE_S3C2410_WATCHDOG
>
>   config S3C2410_WATCHDOG
>   	tristate "S3C2410 Watchdog"
> -	depends on HAVE_S3C2410_WATCHDOG
> +	depends on HAVE_S3C2410_WATCHDOG || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	select MFD_SYSCON if ARCH_EXYNOS5
>   	help
> @@ -299,7 +299,7 @@ config DW_WATCHDOG
>
>   config EP93XX_WATCHDOG
>   	tristate "EP93xx Watchdog"
> -	depends on ARCH_EP93XX
> +	depends on ARCH_EP93XX || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Say Y here if to include support for the watchdog timer
> @@ -310,7 +310,7 @@ config EP93XX_WATCHDOG
>
>   config OMAP_WATCHDOG
>   	tristate "OMAP Watchdog"
> -	depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
> +	depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Support for TI OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog.  Say 'Y'
> @@ -346,7 +346,7 @@ config IOP_WATCHDOG
>
>   config DAVINCI_WATCHDOG
>   	tristate "DaVinci watchdog"
> -	depends on ARCH_DAVINCI || ARCH_KEYSTONE
> +	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Say Y here if to include support for the watchdog timer
> @@ -380,7 +380,7 @@ config RN5T618_WATCHDOG
>
>   config SUNXI_WATCHDOG
>   	tristate "Allwinner SoCs watchdog support"
> -	depends on ARCH_SUNXI
> +	depends on ARCH_SUNXI || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Say Y here to include support for the watchdog timer
> @@ -409,7 +409,7 @@ config TWL4030_WATCHDOG
>
>   config STMP3XXX_RTC_WATCHDOG
>   	tristate "Freescale STMP3XXX & i.MX23/28 watchdog"
> -	depends on RTC_DRV_STMP
> +	depends on RTC_DRV_STMP || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Say Y here to include support for the watchdog timer inside
> @@ -419,7 +419,7 @@ config STMP3XXX_RTC_WATCHDOG
>
>   config NUC900_WATCHDOG
>   	tristate "Nuvoton NUC900 watchdog"
> -	depends on ARCH_W90X900
> +	depends on ARCH_W90X900 || COMPILE_TEST
>   	help
>   	  Say Y here if to include support for the watchdog timer
>   	  for the Nuvoton NUC900 series SoCs.
> @@ -428,7 +428,7 @@ config NUC900_WATCHDOG
>
>   config TS72XX_WATCHDOG
>   	tristate "TS-72XX SBC Watchdog"
> -	depends on MACH_TS72XX
> +	depends on MACH_TS72XX || COMPILE_TEST
>   	help
>   	  Technologic Systems TS-7200, TS-7250 and TS-7260 boards have
>   	  watchdog timer implemented in a external CPLD chip. Say Y here
> @@ -446,7 +446,7 @@ config MAX63XX_WATCHDOG
>
>   config IMX2_WDT
>   	tristate "IMX2+ Watchdog"
> -	depends on ARCH_MXC
> +	depends on ARCH_MXC || COMPILE_TEST
>   	select REGMAP_MMIO
>   	select WATCHDOG_CORE
>   	help
> @@ -484,7 +484,7 @@ config RETU_WATCHDOG
>
>   config MOXART_WDT
>   	tristate "MOXART watchdog"
> -	depends on ARCH_MOXART
> +	depends on ARCH_MOXART || COMPILE_TEST
>   	help
>   	  Say Y here to include Watchdog timer support for the watchdog
>   	  existing on the MOXA ART SoC series platforms.
> @@ -503,7 +503,7 @@ config SIRFSOC_WATCHDOG
>
>   config ST_LPC_WATCHDOG
>   	tristate "STMicroelectronics LPC Watchdog"
> -	depends on ARCH_STI
> +	depends on ARCH_STI || COMPILE_TEST
>   	depends on OF
>   	select WATCHDOG_CORE
>   	help
> @@ -539,7 +539,7 @@ config QCOM_WDT
>
>   config MESON_WATCHDOG
>   	tristate "Amlogic Meson SoCs watchdog support"
> -	depends on ARCH_MESON
> +	depends on ARCH_MESON || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Say Y here to include support for the watchdog timer
> @@ -549,7 +549,7 @@ config MESON_WATCHDOG
>
>   config MEDIATEK_WATCHDOG
>   	tristate "Mediatek SoCs watchdog support"
> -	depends on ARCH_MEDIATEK
> +	depends on ARCH_MEDIATEK || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Say Y here to include support for the watchdog timer
> @@ -559,7 +559,7 @@ config MEDIATEK_WATCHDOG
>
>   config DIGICOLOR_WATCHDOG
>   	tristate "Conexant Digicolor SoCs watchdog support"
> -	depends on ARCH_DIGICOLOR
> +	depends on ARCH_DIGICOLOR || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Say Y here to include support for the watchdog timer
> @@ -582,7 +582,7 @@ config LPC18XX_WATCHDOG
>
>   config AT32AP700X_WDT
>   	tristate "AT32AP700x watchdog"
> -	depends on CPU_AT32AP700X
> +	depends on CPU_AT32AP700X || COMPILE_TEST
>   	help
>   	  Watchdog timer embedded into AT32AP700x devices. This will reboot
>   	  your system when the timeout is reached.
> @@ -690,7 +690,7 @@ config GEODE_WDT
>
>   config SC520_WDT
>   	tristate "AMD Elan SC520 processor Watchdog"
> -	depends on MELAN
> +	depends on MELAN || COMPILE_TEST
>   	help
>   	  This is the driver for the hardware watchdog built in to the
>   	  AMD "Elan" SC520 microcomputer commonly used in embedded systems.
> @@ -963,7 +963,7 @@ config NV_TCO
>
>   config RDC321X_WDT
>   	tristate "RDC R-321x SoC watchdog"
> -	depends on X86_RDC321X
> +	depends on X86_RDC321X || COMPILE_TEST
>   	help
>   	  This is the driver for the built in hardware watchdog
>   	  in the RDC R-321x SoC.
> @@ -987,7 +987,7 @@ config 60XX_WDT
>
>   config SBC8360_WDT
>   	tristate "SBC8360 Watchdog Timer"
> -	depends on X86_32
> +	depends on X86_32 || COMPILE_TEST
>   	---help---
>
>   	  This is the driver for the hardware watchdog on the SBC8360 Single
> @@ -1178,7 +1178,7 @@ config ATH79_WDT
>
>   config BCM47XX_WDT
>   	tristate "Broadcom BCM47xx Watchdog Timer"
> -	depends on BCM47XX || ARCH_BCM_5301X
> +	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Hardware driver for the Broadcom BCM47xx Watchdog Timer.
> @@ -1293,7 +1293,7 @@ config BCM2835_WDT
>
>   config BCM_KONA_WDT
>   	tristate "BCM Kona Watchdog"
> -	depends on ARCH_BCM_MOBILE
> +	depends on ARCH_BCM_MOBILE || COMPILE_TEST
>   	select WATCHDOG_CORE
>   	help
>   	  Support for the watchdog timer on the following Broadcom BCM281xx
> @@ -1368,7 +1368,7 @@ config 8xxx_WDT
>
>   config MV64X60_WDT
>   	tristate "MV64X60 (Marvell Discovery) Watchdog Timer"
> -	depends on MV64X60
> +	depends on MV64X60 || COMPILE_TEST
>
>   config PIKA_WDT
>   	tristate "PIKA FPGA Watchdog"
> @@ -1533,7 +1533,7 @@ config PCWATCHDOG
>
>   config MIXCOMWD
>   	tristate "Mixcom Watchdog"
> -	depends on ISA
> +	depends on ISA || COMPILE_TEST
>   	---help---
>   	  This is a driver for the Mixcom hardware watchdog cards.  This
>   	  watchdog simply watches your kernel to make sure it doesn't freeze,
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] watchdog: Compile possible drivers with COMPILE_TEST
  2015-10-14 21:35 ` Guenter Roeck
@ 2015-10-14 22:11   ` Luis de Bethencourt
  2015-10-14 22:40     ` Guenter Roeck
  0 siblings, 1 reply; 7+ messages in thread
From: Luis de Bethencourt @ 2015-10-14 22:11 UTC (permalink / raw)
  To: Guenter Roeck, linux-kernel; +Cc: linux-watchdog, wim, javier

On 14/10/15 22:35, Guenter Roeck wrote:
> On 10/14/2015 11:55 AM, Luis de Bethencourt wrote:
>> These drivers have depends that aren't build dependencies, so it's
>> a good idea to allow these drivers to always be built when the
>> COMPILE_TEST option is enabled.
>>
>> That way, the drivers can be built with a config generated by make
>> allyesconfig and check if a patch would break the build.
>>
>> Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
> 
> What architectures have you actually tested this for ?
> 
> Guenter
> 

I've compiled it in x86 and then I tried ARM
(with CROSS_COMPILE="ccache arm-linux-gnueabihf-" ARCH=arm)

But ARM kept failing due to other drivers, first Lustre then an Ethernet
driver (I40E), and more.

Is there a better way of doing this?

Thanks,
Luis

>> ---
>>
>> Hi,
>>
>> I have removed the COMPILE_TEST for SIRFSOC_WATCHDOG, since the kbuild test
>> robot complained with warnings about it.
>>
>> Thanks,
>> Luis
>>
>>   drivers/watchdog/Kconfig | 46 +++++++++++++++++++++++-----------------------
>>   1 file changed, 23 insertions(+), 23 deletions(-)
>>
>> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
>> index 79e1aa1..b3d69c3 100644
>> --- a/drivers/watchdog/Kconfig
>> +++ b/drivers/watchdog/Kconfig
>> @@ -190,7 +190,7 @@ config AT91SAM9X_WATCHDOG
>>
>>   config SAMA5D4_WATCHDOG
>>       tristate "Atmel SAMA5D4 Watchdog Timer"
>> -    depends on ARCH_AT91
>> +    depends on ARCH_AT91 || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Atmel SAMA5D4 watchdog timer is embedded into SAMA5D4 chips.
>> @@ -261,7 +261,7 @@ config HAVE_S3C2410_WATCHDOG
>>
>>   config S3C2410_WATCHDOG
>>       tristate "S3C2410 Watchdog"
>> -    depends on HAVE_S3C2410_WATCHDOG
>> +    depends on HAVE_S3C2410_WATCHDOG || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       select MFD_SYSCON if ARCH_EXYNOS5
>>       help
>> @@ -299,7 +299,7 @@ config DW_WATCHDOG
>>
>>   config EP93XX_WATCHDOG
>>       tristate "EP93xx Watchdog"
>> -    depends on ARCH_EP93XX
>> +    depends on ARCH_EP93XX || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Say Y here if to include support for the watchdog timer
>> @@ -310,7 +310,7 @@ config EP93XX_WATCHDOG
>>
>>   config OMAP_WATCHDOG
>>       tristate "OMAP Watchdog"
>> -    depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
>> +    depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Support for TI OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog.  Say 'Y'
>> @@ -346,7 +346,7 @@ config IOP_WATCHDOG
>>
>>   config DAVINCI_WATCHDOG
>>       tristate "DaVinci watchdog"
>> -    depends on ARCH_DAVINCI || ARCH_KEYSTONE
>> +    depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Say Y here if to include support for the watchdog timer
>> @@ -380,7 +380,7 @@ config RN5T618_WATCHDOG
>>
>>   config SUNXI_WATCHDOG
>>       tristate "Allwinner SoCs watchdog support"
>> -    depends on ARCH_SUNXI
>> +    depends on ARCH_SUNXI || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Say Y here to include support for the watchdog timer
>> @@ -409,7 +409,7 @@ config TWL4030_WATCHDOG
>>
>>   config STMP3XXX_RTC_WATCHDOG
>>       tristate "Freescale STMP3XXX & i.MX23/28 watchdog"
>> -    depends on RTC_DRV_STMP
>> +    depends on RTC_DRV_STMP || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Say Y here to include support for the watchdog timer inside
>> @@ -419,7 +419,7 @@ config STMP3XXX_RTC_WATCHDOG
>>
>>   config NUC900_WATCHDOG
>>       tristate "Nuvoton NUC900 watchdog"
>> -    depends on ARCH_W90X900
>> +    depends on ARCH_W90X900 || COMPILE_TEST
>>       help
>>         Say Y here if to include support for the watchdog timer
>>         for the Nuvoton NUC900 series SoCs.
>> @@ -428,7 +428,7 @@ config NUC900_WATCHDOG
>>
>>   config TS72XX_WATCHDOG
>>       tristate "TS-72XX SBC Watchdog"
>> -    depends on MACH_TS72XX
>> +    depends on MACH_TS72XX || COMPILE_TEST
>>       help
>>         Technologic Systems TS-7200, TS-7250 and TS-7260 boards have
>>         watchdog timer implemented in a external CPLD chip. Say Y here
>> @@ -446,7 +446,7 @@ config MAX63XX_WATCHDOG
>>
>>   config IMX2_WDT
>>       tristate "IMX2+ Watchdog"
>> -    depends on ARCH_MXC
>> +    depends on ARCH_MXC || COMPILE_TEST
>>       select REGMAP_MMIO
>>       select WATCHDOG_CORE
>>       help
>> @@ -484,7 +484,7 @@ config RETU_WATCHDOG
>>
>>   config MOXART_WDT
>>       tristate "MOXART watchdog"
>> -    depends on ARCH_MOXART
>> +    depends on ARCH_MOXART || COMPILE_TEST
>>       help
>>         Say Y here to include Watchdog timer support for the watchdog
>>         existing on the MOXA ART SoC series platforms.
>> @@ -503,7 +503,7 @@ config SIRFSOC_WATCHDOG
>>
>>   config ST_LPC_WATCHDOG
>>       tristate "STMicroelectronics LPC Watchdog"
>> -    depends on ARCH_STI
>> +    depends on ARCH_STI || COMPILE_TEST
>>       depends on OF
>>       select WATCHDOG_CORE
>>       help
>> @@ -539,7 +539,7 @@ config QCOM_WDT
>>
>>   config MESON_WATCHDOG
>>       tristate "Amlogic Meson SoCs watchdog support"
>> -    depends on ARCH_MESON
>> +    depends on ARCH_MESON || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Say Y here to include support for the watchdog timer
>> @@ -549,7 +549,7 @@ config MESON_WATCHDOG
>>
>>   config MEDIATEK_WATCHDOG
>>       tristate "Mediatek SoCs watchdog support"
>> -    depends on ARCH_MEDIATEK
>> +    depends on ARCH_MEDIATEK || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Say Y here to include support for the watchdog timer
>> @@ -559,7 +559,7 @@ config MEDIATEK_WATCHDOG
>>
>>   config DIGICOLOR_WATCHDOG
>>       tristate "Conexant Digicolor SoCs watchdog support"
>> -    depends on ARCH_DIGICOLOR
>> +    depends on ARCH_DIGICOLOR || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Say Y here to include support for the watchdog timer
>> @@ -582,7 +582,7 @@ config LPC18XX_WATCHDOG
>>
>>   config AT32AP700X_WDT
>>       tristate "AT32AP700x watchdog"
>> -    depends on CPU_AT32AP700X
>> +    depends on CPU_AT32AP700X || COMPILE_TEST
>>       help
>>         Watchdog timer embedded into AT32AP700x devices. This will reboot
>>         your system when the timeout is reached.
>> @@ -690,7 +690,7 @@ config GEODE_WDT
>>
>>   config SC520_WDT
>>       tristate "AMD Elan SC520 processor Watchdog"
>> -    depends on MELAN
>> +    depends on MELAN || COMPILE_TEST
>>       help
>>         This is the driver for the hardware watchdog built in to the
>>         AMD "Elan" SC520 microcomputer commonly used in embedded systems.
>> @@ -963,7 +963,7 @@ config NV_TCO
>>
>>   config RDC321X_WDT
>>       tristate "RDC R-321x SoC watchdog"
>> -    depends on X86_RDC321X
>> +    depends on X86_RDC321X || COMPILE_TEST
>>       help
>>         This is the driver for the built in hardware watchdog
>>         in the RDC R-321x SoC.
>> @@ -987,7 +987,7 @@ config 60XX_WDT
>>
>>   config SBC8360_WDT
>>       tristate "SBC8360 Watchdog Timer"
>> -    depends on X86_32
>> +    depends on X86_32 || COMPILE_TEST
>>       ---help---
>>
>>         This is the driver for the hardware watchdog on the SBC8360 Single
>> @@ -1178,7 +1178,7 @@ config ATH79_WDT
>>
>>   config BCM47XX_WDT
>>       tristate "Broadcom BCM47xx Watchdog Timer"
>> -    depends on BCM47XX || ARCH_BCM_5301X
>> +    depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Hardware driver for the Broadcom BCM47xx Watchdog Timer.
>> @@ -1293,7 +1293,7 @@ config BCM2835_WDT
>>
>>   config BCM_KONA_WDT
>>       tristate "BCM Kona Watchdog"
>> -    depends on ARCH_BCM_MOBILE
>> +    depends on ARCH_BCM_MOBILE || COMPILE_TEST
>>       select WATCHDOG_CORE
>>       help
>>         Support for the watchdog timer on the following Broadcom BCM281xx
>> @@ -1368,7 +1368,7 @@ config 8xxx_WDT
>>
>>   config MV64X60_WDT
>>       tristate "MV64X60 (Marvell Discovery) Watchdog Timer"
>> -    depends on MV64X60
>> +    depends on MV64X60 || COMPILE_TEST
>>
>>   config PIKA_WDT
>>       tristate "PIKA FPGA Watchdog"
>> @@ -1533,7 +1533,7 @@ config PCWATCHDOG
>>
>>   config MIXCOMWD
>>       tristate "Mixcom Watchdog"
>> -    depends on ISA
>> +    depends on ISA || COMPILE_TEST
>>       ---help---
>>         This is a driver for the Mixcom hardware watchdog cards.  This
>>         watchdog simply watches your kernel to make sure it doesn't freeze,
>>
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] watchdog: Compile possible drivers with COMPILE_TEST
  2015-10-14 22:11   ` Luis de Bethencourt
@ 2015-10-14 22:40     ` Guenter Roeck
  2015-10-15  2:11       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 7+ messages in thread
From: Guenter Roeck @ 2015-10-14 22:40 UTC (permalink / raw)
  To: Luis de Bethencourt, linux-kernel; +Cc: linux-watchdog, wim, javier

On 10/14/2015 03:11 PM, Luis de Bethencourt wrote:
> On 14/10/15 22:35, Guenter Roeck wrote:
>> On 10/14/2015 11:55 AM, Luis de Bethencourt wrote:
>>> These drivers have depends that aren't build dependencies, so it's
>>> a good idea to allow these drivers to always be built when the
>>> COMPILE_TEST option is enabled.
>>>
>>> That way, the drivers can be built with a config generated by make
>>> allyesconfig and check if a patch would break the build.
>>>
>>> Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
>>
>> What architectures have you actually tested this for ?
>>
>> Guenter
>>
>
> I've compiled it in x86 and then I tried ARM
> (with CROSS_COMPILE="ccache arm-linux-gnueabihf-" ARCH=arm)
>
> But ARM kept failing due to other drivers, first Lustre then an Ethernet
> driver (I40E), and more.
>
arm:allmodconfig should build fine. Either case, you can always run "make -i"
to ignore errors, to ensure that you at least don't introduce new problems.

> Is there a better way of doing this?
>
Sure, at least run allmodconfig for _all_ architectures, or at least
for the major architectures.

Guenter


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] watchdog: Compile possible drivers with COMPILE_TEST
  2015-10-14 22:40     ` Guenter Roeck
@ 2015-10-15  2:11       ` Krzysztof Kozlowski
  2015-10-16 13:05         ` Luis de Bethencourt
  0 siblings, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2015-10-15  2:11 UTC (permalink / raw)
  To: Luis de Bethencourt
  Cc: linux-kernel, Guenter Roeck, linux-watchdog, wim, javier

2015-10-15 7:40 GMT+09:00 Guenter Roeck <linux@roeck-us.net>:
> On 10/14/2015 03:11 PM, Luis de Bethencourt wrote:
>>
>> On 14/10/15 22:35, Guenter Roeck wrote:
>>>
>>> On 10/14/2015 11:55 AM, Luis de Bethencourt wrote:
>>>>
>>>> These drivers have depends that aren't build dependencies, so it's
>>>> a good idea to allow these drivers to always be built when the
>>>> COMPILE_TEST option is enabled.
>>>>
>>>> That way, the drivers can be built with a config generated by make
>>>> allyesconfig and check if a patch would break the build.
>>>>
>>>> Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
>>>
>>>
>>> What architectures have you actually tested this for ?
>>>
>>> Guenter
>>>
>>
>> I've compiled it in x86 and then I tried ARM
>> (with CROSS_COMPILE="ccache arm-linux-gnueabihf-" ARCH=arm)
>>
>> But ARM kept failing due to other drivers, first Lustre then an Ethernet
>> driver (I40E), and more.
>>
> arm:allmodconfig should build fine. Either case, you can always run "make
> -i"
> to ignore errors, to ensure that you at least don't introduce new problems.
>
>> Is there a better way of doing this?
>>
> Sure, at least run allmodconfig for _all_ architectures, or at least
> for the major architectures.

At least 32-bit and 64-bit of mixtures. x86 and ARMv7 is not enough.
For example something like:
$ apt-get install build-essential gcc-4.8-multilib
gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu libc6-dev-arm64-cross
gcc-powerpc-linux-gnu
(PPC can be built for 32- and 64-bit)
And you can get MIPS from CodeSourcery.

Toggling COMPILE_TEST with this may break someone's else allyesconfig.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] watchdog: Compile possible drivers with COMPILE_TEST
  2015-10-14 18:55 [PATCH v2] watchdog: Compile possible drivers with COMPILE_TEST Luis de Bethencourt
  2015-10-14 21:35 ` Guenter Roeck
@ 2015-10-16  4:11 ` kbuild test robot
  1 sibling, 0 replies; 7+ messages in thread
From: kbuild test robot @ 2015-10-16  4:11 UTC (permalink / raw)
  To: Luis de Bethencourt
  Cc: kbuild-all, linux-kernel, linux-watchdog, wim, javier,
	Luis de Bethencourt

[-- Attachment #1: Type: text/plain, Size: 3547 bytes --]

Hi Luis,

[auto build test ERROR on v4.3-rc5 -- if it's inappropriate base, please suggest rules for selecting the more suitable base]

url:    https://github.com/0day-ci/linux/commits/Luis-de-Bethencourt/watchdog-Compile-possible-drivers-with-COMPILE_TEST/20151015-025729
config: um-allmodconfig (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=um 

All error/warnings (new ones prefixed by >>):

   drivers/watchdog/digicolor_wdt.c: In function 'dc_wdt_probe':
>> drivers/watchdog/digicolor_wdt.c:167:2: error: implicit declaration of function 'iounmap' [-Werror=implicit-function-declaration]
     iounmap(wdt->base);
     ^
   cc1: some warnings being treated as errors
--
   drivers/watchdog/sc520_wdt.c: In function 'sc520_wdt_unload':
>> drivers/watchdog/sc520_wdt.c:380:2: error: implicit declaration of function 'iounmap' [-Werror=implicit-function-declaration]
     iounmap(wdtmrctl);
     ^
   drivers/watchdog/sc520_wdt.c: In function 'sc520_wdt_init':
>> drivers/watchdog/sc520_wdt.c:395:13: error: implicit declaration of function 'ioremap' [-Werror=implicit-function-declaration]
     wdtmrctl = ioremap(MMCR_BASE + OFFS_WDTMRCTL, 2);
                ^
>> drivers/watchdog/sc520_wdt.c:395:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     wdtmrctl = ioremap(MMCR_BASE + OFFS_WDTMRCTL, 2);
              ^
   cc1: some warnings being treated as errors

vim +/iounmap +167 drivers/watchdog/digicolor_wdt.c

336694a0 Baruch Siach 2015-03-31  151  	watchdog_init_timeout(&dc_wdt_wdd, timeout, dev);
336694a0 Baruch Siach 2015-03-31  152  	ret = watchdog_register_device(&dc_wdt_wdd);
336694a0 Baruch Siach 2015-03-31  153  	if (ret) {
336694a0 Baruch Siach 2015-03-31  154  		dev_err(dev, "Failed to register watchdog device");
336694a0 Baruch Siach 2015-03-31  155  		goto err_iounmap;
336694a0 Baruch Siach 2015-03-31  156  	}
336694a0 Baruch Siach 2015-03-31  157  
336694a0 Baruch Siach 2015-03-31  158  	wdt->restart_handler.notifier_call = dc_restart_handler;
336694a0 Baruch Siach 2015-03-31  159  	wdt->restart_handler.priority = 128;
336694a0 Baruch Siach 2015-03-31  160  	ret = register_restart_handler(&wdt->restart_handler);
336694a0 Baruch Siach 2015-03-31  161  	if (ret)
336694a0 Baruch Siach 2015-03-31  162  		dev_warn(&pdev->dev, "cannot register restart handler\n");
336694a0 Baruch Siach 2015-03-31  163  
336694a0 Baruch Siach 2015-03-31  164  	return 0;
336694a0 Baruch Siach 2015-03-31  165  
336694a0 Baruch Siach 2015-03-31  166  err_iounmap:
336694a0 Baruch Siach 2015-03-31 @167  	iounmap(wdt->base);
336694a0 Baruch Siach 2015-03-31  168  	return ret;
336694a0 Baruch Siach 2015-03-31  169  }
336694a0 Baruch Siach 2015-03-31  170  
336694a0 Baruch Siach 2015-03-31  171  static int dc_wdt_remove(struct platform_device *pdev)
336694a0 Baruch Siach 2015-03-31  172  {
336694a0 Baruch Siach 2015-03-31  173  	struct dc_wdt *wdt = platform_get_drvdata(pdev);
336694a0 Baruch Siach 2015-03-31  174  
336694a0 Baruch Siach 2015-03-31  175  	unregister_restart_handler(&wdt->restart_handler);

:::::: The code at line 167 was first introduced by commit
:::::: 336694a01dae7e788630f8043dae30337047b51b watchdog: digicolor: driver for Conexant Digicolor CX92755 SoC

:::::: TO: Baruch Siach <baruch@tkos.co.il>
:::::: CC: Wim Van Sebroeck <wim@iguana.be>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 17023 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] watchdog: Compile possible drivers with COMPILE_TEST
  2015-10-15  2:11       ` Krzysztof Kozlowski
@ 2015-10-16 13:05         ` Luis de Bethencourt
  0 siblings, 0 replies; 7+ messages in thread
From: Luis de Bethencourt @ 2015-10-16 13:05 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-kernel, Guenter Roeck, linux-watchdog, wim, javier

On 15/10/15 03:11, Krzysztof Kozlowski wrote:
> 2015-10-15 7:40 GMT+09:00 Guenter Roeck <linux@roeck-us.net>:
>> On 10/14/2015 03:11 PM, Luis de Bethencourt wrote:
>>>
>>> On 14/10/15 22:35, Guenter Roeck wrote:
>>>>
>>>> On 10/14/2015 11:55 AM, Luis de Bethencourt wrote:
>>>>>
>>>>> These drivers have depends that aren't build dependencies, so it's
>>>>> a good idea to allow these drivers to always be built when the
>>>>> COMPILE_TEST option is enabled.
>>>>>
>>>>> That way, the drivers can be built with a config generated by make
>>>>> allyesconfig and check if a patch would break the build.
>>>>>
>>>>> Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
>>>>
>>>>
>>>> What architectures have you actually tested this for ?
>>>>
>>>> Guenter
>>>>
>>>
>>> I've compiled it in x86 and then I tried ARM
>>> (with CROSS_COMPILE="ccache arm-linux-gnueabihf-" ARCH=arm)
>>>
>>> But ARM kept failing due to other drivers, first Lustre then an Ethernet
>>> driver (I40E), and more.
>>>
>> arm:allmodconfig should build fine. Either case, you can always run "make
>> -i"
>> to ignore errors, to ensure that you at least don't introduce new problems.
>>
>>> Is there a better way of doing this?
>>>
>> Sure, at least run allmodconfig for _all_ architectures, or at least
>> for the major architectures.
> 
> At least 32-bit and 64-bit of mixtures. x86 and ARMv7 is not enough.
> For example something like:
> $ apt-get install build-essential gcc-4.8-multilib
> gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu libc6-dev-arm64-cross
> gcc-powerpc-linux-gnu
> (PPC can be built for 32- and 64-bit)
> And you can get MIPS from CodeSourcery.
> 
> Toggling COMPILE_TEST with this may break someone's else allyesconfig.
> 
> Best regards,
> Krzysztof
> 

Hi Krysztof and Guenter,

Thanks for the help on how to build for all architectures.
I will do this in the future.

Building more drivers when compilation testing isn't worth the risk of making
somebody's allyesconfig break.

Thanks,
Luis

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-10-16 13:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-14 18:55 [PATCH v2] watchdog: Compile possible drivers with COMPILE_TEST Luis de Bethencourt
2015-10-14 21:35 ` Guenter Roeck
2015-10-14 22:11   ` Luis de Bethencourt
2015-10-14 22:40     ` Guenter Roeck
2015-10-15  2:11       ` Krzysztof Kozlowski
2015-10-16 13:05         ` Luis de Bethencourt
2015-10-16  4:11 ` kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox