[PATCH v2 0/7] resource, PNPACPI: add bus number and window support

From: Bjorn Helgaas
Date: Fri Mar 05 2010 - 12:47:29 EST

These patches add a new resource type, IORESOURCE_BUS, a new resource flag,
IORESOURCE_WINDOW, and PNPACPI support that uses them.

IORESOURCE_BUS is for PCI bus number ranges. For bridge devices, ACPI reports
secondary bus number ranges in _CRS descriptors, but we currently ignore them.
Adding this resource type will allow us to handle those descriptors in PNPACPI.

IORESOURCE_WINDOW is also for bridges: ACPI reports the regions that the bridge
forwards to its secondary bus. We have _CRS parsing code in pci_root.c that
handles these window descriptors, but PNPACPI currently ignores them. Adding
this flag bit will allow PNPACPI to deal with the windows correctly.

No drivers use bus or window resources yet, but ultimately, I would like to
drop the _CRS parsing code from pci_root.c and rely on PNPACPI to do it for us.
The current effect of this series is to change /sys/bus/pnp/.../resources (and
"lspnp -v" output) from this:

00:00 PNP0a03 PCI bus
state = active

to something like this:

00:00 PNP0a03 PCI bus
state = active
bus 0x0-0x0
io 0x0-0xcff window
io 0x0-0x2cfe window
io 0x3b0-0x3bb window
io 0x3c0-0x3df window
mem 0xf5d00000-0xf6ffffff window
mem disabled
mem 0xa0000-0xbffff window

Changes from v1 to v2:
- Add close quote in vsprintf SPECIAL comment (Randy Dunlap).


Bjorn Helgaas (7):
resource: expand IORESOURCE_TYPE_BITS to make room for bus resource type
vsprintf: clarify comments for printf_spec flags
vsprintf: move %pR resource printf_specs off the stack
resource: add bus number support
resource: add window support
PNPACPI: add window support
PNPACPI: add bus number support

drivers/pnp/base.h | 3 ++
drivers/pnp/interface.c | 7 +++--
drivers/pnp/pnpacpi/rsparser.c | 49 ++++++++++++++++++++++----------
drivers/pnp/resource.c | 27 +++++++++++++++++
drivers/pnp/support.c | 4 ++-
include/linux/ioport.h | 18 ++++++------
lib/vsprintf.c | 62 +++++++++++++++++++++++++---------------
7 files changed, 119 insertions(+), 51 deletions(-)
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/