On Fri, 27 Feb 2009 15:20:56 -0800 David Brownell <david-b@xxxxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html