diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2010-03-05 18:47:42 +0100 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-03-15 01:08:35 +0100 |
commit | 0f4050c7d3ba0275e5f39513c0670a717d43048c (patch) | |
tree | a3e01440a7b5e62d8ca1e6cd8ee80e2eb0b0cfbf | |
parent | resource: expand IORESOURCE_TYPE_BITS to make room for bus resource type (diff) | |
download | linux-0f4050c7d3ba0275e5f39513c0670a717d43048c.tar.xz linux-0f4050c7d3ba0275e5f39513c0670a717d43048c.zip |
resource: add bus number support
Add support for bus number resources. This is for bridges with a range of
bus numbers behind them.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r-- | include/linux/ioport.h | 1 | ||||
-rw-r--r-- | lib/vsprintf.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/ioport.h b/include/linux/ioport.h index b126209a40e2..510e4ac918dd 100644 --- a/include/linux/ioport.h +++ b/include/linux/ioport.h @@ -39,6 +39,7 @@ struct resource_list { #define IORESOURCE_MEM 0x00000200 #define IORESOURCE_IRQ 0x00000400 #define IORESOURCE_DMA 0x00000800 +#define IORESOURCE_BUS 0x00001000 #define IORESOURCE_PREFETCH 0x00002000 /* No side effects */ #define IORESOURCE_READONLY 0x00004000 diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 0d461c7c14db..ebbecf90d5d7 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -609,6 +609,12 @@ static char *resource_string(char *buf, char *end, struct resource *res, .precision = -1, .flags = SPECIAL | SMALL | ZEROPAD, }; + static const struct printf_spec bus_spec = { + .base = 16, + .field_width = 2, + .precision = -1, + .flags = SMALL | ZEROPAD, + }; static const struct printf_spec dec_spec = { .base = 10, .precision = -1, @@ -651,6 +657,9 @@ static char *resource_string(char *buf, char *end, struct resource *res, } else if (res->flags & IORESOURCE_DMA) { p = string(p, pend, "dma ", str_spec); specp = &dec_spec; + } else if (res->flags & IORESOURCE_BUS) { + p = string(p, pend, "bus ", str_spec); + specp = &bus_spec; } else { p = string(p, pend, "??? ", str_spec); specp = &mem_spec; |