Re: [patch 2.6.21-rc5-git] make /proc/acpi/wakeup more useful

David Brownell
2007-04-18T03:25:56Z

On Tuesday 17 April 2007 8:03 pm, Greg KH wrote:
> On Tue, Apr 17, 2007 at 02:57:49PM -0700, David Brownell wrote:

> > Looks like the i8042 serial nodes will be bizarre too:
> >
> > /sys/devices/pnp0/00:09
> > ... touchpad's PNP node
> > /sys/devices/acpi_system:00/device:00/PNP0A03:00/device:15/PNP0F13:00
> > ... its ACPI node
> > /sys/devices/platform/i8042/serio4
> > ... its serio node
> >
> > That seems like two nodes too many, but without me trying to twist
> > my mind around i8042 issues, I can't quite speculate why struct
> > serio "is-a" device rather than "has-a" device (the PNP node) as
> > would be the case with a more normal driver structure.
> >
> > But the existence of that device_add() in serio.c sure explains why
> > the PNP node doesn't get associated with the input class device one
> > would expect from knowing that 00:09 is the touchpad.
>
> Ick, how can we fix this up?

You're asking the wrong penguin for that answer ... :)

But I'd suggest that someone who knows ACPI -- and PNPACPI --- work
on merging those ACPI and PNP nodes. (Same thing would need doing
with ACPI and PCI ...)

That ACPI subtree is quite new, at least in terms of being public.
So I'd think its details must be very flexible right now.

> > And hmm, just this morning I saw email from Greg re-affirming that
> > drivers should not device_add(). Converting such legacy drivers is
> > simple though, right? :)
>
> Heh, yeah right, they can remain platform drivers :)

Most platform drivers aren't legacy drivers. Just the x86 ones!
And a lot of those wouldn't be headaches if PNPACPI were used better...

In this case, making the i8042 stuff use PNP more naturally would
seem like the most natural way to resolve the problem for all but
pre-ACPI legacy x86 hardware. Now that ACPI implies PNPACPI by
default, various corner cases have vanished.

That said, I know less about i8042 wierdness -- and I know there's
a lot of it! -- than about ACPI, so I'll stay out of that. Beyond
pointing out these curious little corner cases I've uncovered while
trying to make sure wakeup annotations get assigned to the right
sysfs device nodes. :)

- Dave

>
> thanks,
>
> greg k-h
>