On Friday, 11 of July 2008, Pavel Machek wrote: > Hi! > > > From: Rafael J. Wysocki <rjw@xxxxxxx> > > > > PCI: Simplify PCI device PM code (rev. 4) > > > > If the offset of PCI device's PM capability in its configuration > > space, the mask of states that the device supports PME# from and the > > D1 and D2 support bits are cached in the corresponding > > struct pci_dev, the PCI device PM code can be simplified quite a bit. > > > > Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> > > --- > > drivers/pci/pci.c | 118 ++++++++++++++++++++--------------------------- > > include/linux/pci.h | 8 ++- > > include/linux/pci_regs.h | 1 > > 3 files changed, 60 insertions(+), 67 deletions(-) > > > > Index: linux-pci/include/linux/pci.h > > =================================================================== > > --- linux-pci.orig/include/linux/pci.h > > +++ linux-pci/include/linux/pci.h > > @@ -177,6 +177,13 @@ struct pci_dev { > > pci_power_t current_state; /* Current operating state. In ACPI-speak, > > this is D0-D3, D0 being fully functional, > > and D3 being off. */ > > + int pm_cap; /* PM capability offset in the > > + configuration space */ > > + unsigned int pme_support:5; /* Bitmask of states from which PME# > > + can be generated */ > > + unsigned int d1_support:1; /* Low power state D1 is supported */ > > + unsigned int d2_support:1; /* Low power state D2 is supported */ > > + unsigned int no_d1d2:1; /* Only allow D0 and D3 */ > > Uh, "D1", "D2", then "no D1D2" ? Yes. They are used for different things. > > } > > > > - if (pmc & PCI_PM_CAP_PME_MASK) { > > + dev->pm_cap = pm; > > + > > + dev->d1_support = false; > > + dev->d2_support = false; > > I thought d1_support is unsigned int, not bool? They are always used as bools, though. Thanks, Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm