Re: [PATCH 2/2] mfd: twl4030: add twl4030-pwrbutton as our child

Andrew Morton
2009-02-27T23:43:07Z

On Fri, 27 Feb 2009 15:20:56 -0800
David Brownell <david-b@pacbell.net> wrote:

> On Friday 27 February 2009, Andrew Morton wrote:
> > > >
> > > > What has gone wrong here?
> > >
> > > Not much I can see. __It's registering a platform_device,
> > > but only if it could be used on this system.
> >
> > Again, that all gets fixed if this is done the right way around. __Run
> > your probe function. __If the hardware is there, register with the core
> > and all the nodes appear. __If the hardware is not present: bale.
>
> Right. If there's no button hooked up to its "power button"
> signal, don't register that "twl4030-pwrbutton" node.
>
>
> > The design of the whole subsystem appears to be upside down :(
>
> You seem to be missing something. Is it only the lack of that
> tweak Felipe sent?

I generally just delete unchangelogged patches.

<goes back and finds it>

That doesn't address the problem at all. A function called
"add_children" just shouldn't exist. The general kernel design is for
client drivers to register themselves with the core, so the core does
not have any hard-wired knowledge of any client drivers.

IOW, twl4030_pwrbutton_probe() should call into twl4030-core,
registering the powerbutton driver.