Subject: Re: PNP power management API for drivers
To: Joerg Sonnenberger <joerg@britannica.bec.de>
From: Matt Thomas <matt@3am-software.com>
List: tech-kern
Date: 10/05/2007 18:56:02
On Oct 5, 2007, at 6:39 PM, Joerg Sonnenberger wrote:

> I know that there are interactions between devices. This gets into the
> part of MD interfaces though. E.g. ACPI enumerates the different power
> domains, not sure about other platforms. I think this is similiar to
> handling deeper sleep states though -- without an infrastructure to  
> keep
> the device relations in one place this can't be done. It also affects
> only the bus drivers and not so much the device drivers. Basically the
> bus driver interface has to support putting devices into deeper sleep
> states incrementally and based on the global policy. For the rest it
> doesn't have to care.

Again, for the TI OMAP 2430, bus structure has nothing to do with power
domains.  In fact, pretty much all devices live off the same bus but
live in one of 5 power domains.  So having a bus orientated handler
isn't that helpful.

void pnp_domain_join(device_t domain, device_t self)

Where I'd have

power* at mainbus?

and supply the domain in attach_args.