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

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

 



Hey Alexander,

Le Wednesday 05 August 2009 10:00:35 Alexander Clouter, vous avez écrit :
> Florian Fainelli <florian@xxxxxxxxxxx> 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;
> > }
>
> 'res' can now return NULL[1].  Solved if you do:
> ----
> int res = -ENODEV;
> ----
>
> I'm guessing this is the most apprioate?

I prefer letting this as-is, since if the watchdog was not enabled in 
hardware, we will not register the watchdog driver, and return the last 
platform_device_register call.

>
> Cheers
>
> [1] I cannot see the full file annoyingly, it's not in my linux-mips
> 	git tree.

Not sure which tree you checked out, but it is in linux-queue: 
http://www.linux-mips.org/git?p=linux-queue.git;a=tree;f=arch/mips/ar7;h=40ee7382dfabf05ee6c967016e42f94992655c20;hb=HEAD
-- 
Best regards, Florian Fainelli
Email: florian@xxxxxxxxxxx
Web: http://openwrt.org
IRC: [florian] on irc.freenode.net
-------------------------------


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

  Powered by Linux