Re: [PATCH] ar7: register watchdog driver only if enabled in hardware configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ralf,

Any comments on that patch ?

Thanks !

On Tuesday 04 August 2009 23:09:36 Florian Fainelli wrote:
> This patch checks if the watchdog enable bit is set in the DCL
> register meaning that the hardware watchdog actually works and
> if so, register the ar7_wdt platform_device.
>
> Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx>
> ---
> diff --git a/arch/mips/ar7/platform.c b/arch/mips/ar7/platform.c
> index e2278c0..835f3f0 100644
> --- a/arch/mips/ar7/platform.c
> +++ b/arch/mips/ar7/platform.c
> @@ -503,6 +503,7 @@ static int __init ar7_register_devices(void)
>  {
>  	u16 chip_id;
>  	int res;
> +	u32 *bootcr, val;
>  #ifdef CONFIG_SERIAL_8250
>  	static struct uart_port uart_port[2];
>
> @@ -595,7 +596,13 @@ static int __init ar7_register_devices(void)
>
>  	ar7_wdt_res.end = ar7_wdt_res.start + 0x20;
>
> -	res = platform_device_register(&ar7_wdt);
> +	bootcr = (u32 *)ioremap_nocache(AR7_REGS_DCL, 4);
> +	val = *bootcr;
> +	iounmap(bootcr);
> +
> +	/* Register watchdog only if enabled in hardware */
> +	if (val & AR7_WDT_HW_ENA)
> +		res = platform_device_register(&ar7_wdt);
>
>  	return res;
>  }
> diff --git a/arch/mips/include/asm/mach-ar7/ar7.h
> b/arch/mips/include/asm/mach-ar7/ar7.h index de71694..21cbbc7 100644
> --- a/arch/mips/include/asm/mach-ar7/ar7.h
> +++ b/arch/mips/include/asm/mach-ar7/ar7.h
> @@ -78,6 +78,9 @@
>  #define AR7_REF_CLOCK	25000000
>  #define AR7_XTAL_CLOCK	24000000
>
> +/* DCL */
> +#define AR7_WDT_HW_ENA	0x10
> +
>  struct plat_cpmac_data {
>  	int reset_bit;
>  	int power_bit;



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux