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>
This commit is contained in:
Родитель
cd7e9fcd1f
Коммит
0f4050c7d3
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче