mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 12:16:20 +00:00
PNP: define PNP-specific IORESOURCE_IO_* flags alongside IRQ, DMA, MEM
PNP previously defined PNP_PORT_FLAG_16BITADDR and PNP_PORT_FLAG_FIXED in a private header file, but put those flags in struct resource.flags fields. Better to make them IORESOURCE_IO_* flags like the existing IRQ, DMA, and MEM flags. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andi Kleen <ak@linux.intel.com> Acked-by: Rene Herman <rene.herman@gmail.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
b72ee1f11e
commit
08c9f262f2
6 changed files with 14 additions and 13 deletions
|
@ -57,7 +57,7 @@ static void pnp_print_port(pnp_info_buffer_t * buffer, char *space,
|
||||||
"%sport 0x%x-0x%x, align 0x%x, size 0x%x, %i-bit address decoding\n",
|
"%sport 0x%x-0x%x, align 0x%x, size 0x%x, %i-bit address decoding\n",
|
||||||
space, port->min, port->max,
|
space, port->min, port->max,
|
||||||
port->align ? (port->align - 1) : 0, port->size,
|
port->align ? (port->align - 1) : 0, port->size,
|
||||||
port->flags & PNP_PORT_FLAG_16BITADDR ? 16 : 10);
|
port->flags & IORESOURCE_IO_16BIT_ADDR ? 16 : 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pnp_print_irq(pnp_info_buffer_t * buffer, char *space,
|
static void pnp_print_irq(pnp_info_buffer_t * buffer, char *space,
|
||||||
|
|
|
@ -486,7 +486,7 @@ static void __init isapnp_parse_port_resource(struct pnp_dev *dev,
|
||||||
port->max = (tmp[4] << 8) | tmp[3];
|
port->max = (tmp[4] << 8) | tmp[3];
|
||||||
port->align = tmp[5];
|
port->align = tmp[5];
|
||||||
port->size = tmp[6];
|
port->size = tmp[6];
|
||||||
port->flags = tmp[0] ? PNP_PORT_FLAG_16BITADDR : 0;
|
port->flags = tmp[0] ? IORESOURCE_IO_16BIT_ADDR : 0;
|
||||||
pnp_register_port_resource(dev, option, port);
|
pnp_register_port_resource(dev, option, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -507,7 +507,7 @@ static void __init isapnp_parse_fixed_port_resource(struct pnp_dev *dev,
|
||||||
port->min = port->max = (tmp[1] << 8) | tmp[0];
|
port->min = port->max = (tmp[1] << 8) | tmp[0];
|
||||||
port->size = tmp[2];
|
port->size = tmp[2];
|
||||||
port->align = 0;
|
port->align = 0;
|
||||||
port->flags = PNP_PORT_FLAG_FIXED;
|
port->flags = IORESOURCE_IO_FIXED;
|
||||||
pnp_register_port_resource(dev, option, port);
|
pnp_register_port_resource(dev, option, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -180,7 +180,7 @@ static void pnpacpi_parse_allocated_ioresource(struct pnp_dev *dev, u64 start,
|
||||||
u64 end = start + len - 1;
|
u64 end = start + len - 1;
|
||||||
|
|
||||||
if (io_decode == ACPI_DECODE_16)
|
if (io_decode == ACPI_DECODE_16)
|
||||||
flags |= PNP_PORT_FLAG_16BITADDR;
|
flags |= IORESOURCE_IO_16BIT_ADDR;
|
||||||
if (len == 0 || end >= 0x10003)
|
if (len == 0 || end >= 0x10003)
|
||||||
flags |= IORESOURCE_DISABLED;
|
flags |= IORESOURCE_DISABLED;
|
||||||
|
|
||||||
|
@ -485,7 +485,7 @@ static __init void pnpacpi_parse_port_option(struct pnp_dev *dev,
|
||||||
port->align = io->alignment;
|
port->align = io->alignment;
|
||||||
port->size = io->address_length;
|
port->size = io->address_length;
|
||||||
port->flags = ACPI_DECODE_16 == io->io_decode ?
|
port->flags = ACPI_DECODE_16 == io->io_decode ?
|
||||||
PNP_PORT_FLAG_16BITADDR : 0;
|
IORESOURCE_IO_16BIT_ADDR : 0;
|
||||||
pnp_register_port_resource(dev, option, port);
|
pnp_register_port_resource(dev, option, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -503,7 +503,7 @@ static __init void pnpacpi_parse_fixed_port_option(struct pnp_dev *dev,
|
||||||
port->min = port->max = io->address;
|
port->min = port->max = io->address;
|
||||||
port->size = io->address_length;
|
port->size = io->address_length;
|
||||||
port->align = 0;
|
port->align = 0;
|
||||||
port->flags = PNP_PORT_FLAG_FIXED;
|
port->flags = IORESOURCE_IO_FIXED;
|
||||||
pnp_register_port_resource(dev, option, port);
|
pnp_register_port_resource(dev, option, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -609,7 +609,7 @@ static __init void pnpacpi_parse_address_option(struct pnp_dev *dev,
|
||||||
port->min = port->max = p->minimum;
|
port->min = port->max = p->minimum;
|
||||||
port->size = p->address_length;
|
port->size = p->address_length;
|
||||||
port->align = 0;
|
port->align = 0;
|
||||||
port->flags = PNP_PORT_FLAG_FIXED;
|
port->flags = IORESOURCE_IO_FIXED;
|
||||||
pnp_register_port_resource(dev, option, port);
|
pnp_register_port_resource(dev, option, port);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -946,7 +946,7 @@ static void pnpacpi_encode_io(struct pnp_dev *dev,
|
||||||
|
|
||||||
if (pnp_resource_enabled(p)) {
|
if (pnp_resource_enabled(p)) {
|
||||||
/* Note: pnp_assign_port copies pnp_port->flags into p->flags */
|
/* Note: pnp_assign_port copies pnp_port->flags into p->flags */
|
||||||
io->io_decode = (p->flags & PNP_PORT_FLAG_16BITADDR) ?
|
io->io_decode = (p->flags & IORESOURCE_IO_16BIT_ADDR) ?
|
||||||
ACPI_DECODE_16 : ACPI_DECODE_10;
|
ACPI_DECODE_16 : ACPI_DECODE_10;
|
||||||
io->minimum = p->start;
|
io->minimum = p->start;
|
||||||
io->maximum = p->end;
|
io->maximum = p->end;
|
||||||
|
|
|
@ -310,7 +310,7 @@ static __init void pnpbios_parse_port_option(struct pnp_dev *dev,
|
||||||
port->max = (p[5] << 8) | p[4];
|
port->max = (p[5] << 8) | p[4];
|
||||||
port->align = p[6];
|
port->align = p[6];
|
||||||
port->size = p[7];
|
port->size = p[7];
|
||||||
port->flags = p[1] ? PNP_PORT_FLAG_16BITADDR : 0;
|
port->flags = p[1] ? IORESOURCE_IO_16BIT_ADDR : 0;
|
||||||
pnp_register_port_resource(dev, option, port);
|
pnp_register_port_resource(dev, option, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -326,7 +326,7 @@ static __init void pnpbios_parse_fixed_port_option(struct pnp_dev *dev,
|
||||||
port->min = port->max = (p[2] << 8) | p[1];
|
port->min = port->max = (p[2] << 8) | p[1];
|
||||||
port->size = p[3];
|
port->size = p[3];
|
||||||
port->align = 0;
|
port->align = 0;
|
||||||
port->flags = PNP_PORT_FLAG_FIXED;
|
port->flags = IORESOURCE_IO_FIXED;
|
||||||
pnp_register_port_resource(dev, option, port);
|
pnp_register_port_resource(dev, option, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,6 +88,10 @@ struct resource_list {
|
||||||
#define IORESOURCE_MEM_SHADOWABLE (1<<5) /* dup: IORESOURCE_SHADOWABLE */
|
#define IORESOURCE_MEM_SHADOWABLE (1<<5) /* dup: IORESOURCE_SHADOWABLE */
|
||||||
#define IORESOURCE_MEM_EXPANSIONROM (1<<6)
|
#define IORESOURCE_MEM_EXPANSIONROM (1<<6)
|
||||||
|
|
||||||
|
/* PnP I/O specific bits (IORESOURCE_BITS) */
|
||||||
|
#define IORESOURCE_IO_16BIT_ADDR (1<<0)
|
||||||
|
#define IORESOURCE_IO_FIXED (1<<1)
|
||||||
|
|
||||||
/* PCI ROM control bits (IORESOURCE_BITS) */
|
/* PCI ROM control bits (IORESOURCE_BITS) */
|
||||||
#define IORESOURCE_ROM_ENABLE (1<<0) /* ROM is enabled, same as PCI_ROM_ADDRESS_ENABLE */
|
#define IORESOURCE_ROM_ENABLE (1<<0) /* ROM is enabled, same as PCI_ROM_ADDRESS_ENABLE */
|
||||||
#define IORESOURCE_ROM_SHADOW (1<<1) /* ROM is copy at C000:0 */
|
#define IORESOURCE_ROM_SHADOW (1<<1) /* ROM is copy at C000:0 */
|
||||||
|
|
|
@ -182,9 +182,6 @@ static inline int pnp_dma_valid(struct pnp_dev *dev, unsigned int bar)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define PNP_PORT_FLAG_16BITADDR (1<<0)
|
|
||||||
#define PNP_PORT_FLAG_FIXED (1<<1)
|
|
||||||
|
|
||||||
struct pnp_port {
|
struct pnp_port {
|
||||||
unsigned short min; /* min base number */
|
unsigned short min; /* min base number */
|
||||||
unsigned short max; /* max base number */
|
unsigned short max; /* max base number */
|
||||||
|
|
Loading…
Reference in a new issue