lkml.org 
[lkml]   [2008]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] [WATCHDOG] mpc8xxx_wdt: fix modular build
On Wed, Aug 13, 2008 at 05:31:59PM +0300, Adrian Bunk wrote:
> On Wed, Aug 13, 2008 at 04:23:41PM +0400, Anton Vorontsov wrote:
> >...
> > --- a/drivers/watchdog/mpc8xxx_wdt.c
> > +++ b/drivers/watchdog/mpc8xxx_wdt.c
> > @@ -48,6 +48,7 @@ struct mpc8xxx_wdt_type {
> > };
> >
> > static struct mpc8xxx_wdt __iomem *wd_base;
> > +static int mpc8xxx_wdt_init_late(void);
> >
> > static u16 timeout = 0xffff;
> > module_param(timeout, ushort, 0);
> > @@ -213,6 +214,12 @@ static int __devinit mpc8xxx_wdt_probe(struct of_device *ofdev,
> > else
> > timeout_sec = timeout / freq;
> >
> > +#ifdef CONFIG_8xxx_WDT_MODULE
> > + ret = mpc8xxx_wdt_init_late();
> > + if (ret)
> > + goto err_unmap;
> > +#endif
>
> In mpc8xxx_wdt_probe()?

Yes.

> Isn't mpc8xxx_wdt_init() the correct place?

Not exactly. In case of non-modular build we rely on the fact
that OF devices are populated before module_init(), so _probe
is executed before _init_late.

But with modules, we can do the right thing: just register the driver
and await for the usual probe, then probe the wdt, and then register
userspace interface. Yes, kind of complicated, but we really need
this on 8xx.

> > pr_info("WDT driver for MPC8xxx initialized. mode:%s timeout=%d "
> > "(%d seconds)\n", reset ? "reset" : "interrupt", timeout,
> > timeout_sec);
> > @@ -280,7 +287,7 @@ static struct of_platform_driver mpc8xxx_wdt_driver = {
> > * very early to start pinging the watchdog (misc devices are not yet
> > * available), and later module_init() just registers the misc device.
> > */
> > -static int __init mpc8xxx_wdt_init_late(void)
> > +static int mpc8xxx_wdt_init_late(void)
> > {
> > int ret;
> >
> > @@ -295,7 +302,9 @@ static int __init mpc8xxx_wdt_init_late(void)
> > }
> > return 0;
> > }
> > +#ifndef CONFIG_8xxx_WDT_MODULE
>
> Your #ifdef is correct, but "#ifdef MODULE" would express this better.

Thanks, will repost soon.

--
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2


\
 
 \ /
  Last update: 2008-08-13 19:25    [W:0.045 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site