PNP: convert encoders to use pnp_get_resource(), not pnp_resource_table
authorBjorn Helgaas <bjorn.helgaas@hp.com>
Mon, 28 Apr 2008 22:34:24 +0000 (16:34 -0600)
committerLen Brown <len.brown@intel.com>
Tue, 29 Apr 2008 07:22:26 +0000 (03:22 -0400)
This removes more direct references to pnp_resource_table.  This
path is used when telling a device what resources it should use.

This doesn't convert ISAPNP because ISA needs to know the config
register index in addition to the resource itself.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Acked-By: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/pnp/pnpacpi/rsparser.c
drivers/pnp/pnpbios/rsparser.c

index bd41e4d4270c86b59615867cc032074948063b5f..000a1b39f0b6d15da640d8d60708761f870c9e50 100644 (file)
@@ -1014,7 +1014,6 @@ static void pnpacpi_encode_fixed_mem32(struct pnp_dev *dev,
 
 int pnpacpi_encode_resources(struct pnp_dev *dev, struct acpi_buffer *buffer)
 {
-       struct pnp_resource_table *res_table = &dev->res;
        int i = 0;
        /* pnpacpi_build_resource_template allocates extra mem */
        int res_cnt = (buffer->length - 1) / sizeof(struct acpi_resource) - 1;
@@ -1026,45 +1025,43 @@ int pnpacpi_encode_resources(struct pnp_dev *dev, struct acpi_buffer *buffer)
                switch (resource->type) {
                case ACPI_RESOURCE_TYPE_IRQ:
                        pnpacpi_encode_irq(dev, resource,
-                                          &res_table->irq_resource[irq]);
+                              pnp_get_resource(dev, IORESOURCE_IRQ, irq));
                        irq++;
                        break;
 
                case ACPI_RESOURCE_TYPE_DMA:
                        pnpacpi_encode_dma(dev, resource,
-                                          &res_table->dma_resource[dma]);
+                               pnp_get_resource(dev, IORESOURCE_DMA, dma));
                        dma++;
                        break;
                case ACPI_RESOURCE_TYPE_IO:
                        pnpacpi_encode_io(dev, resource,
-                                         &res_table->port_resource[port]);
+                               pnp_get_resource(dev, IORESOURCE_IO, port));
                        port++;
                        break;
                case ACPI_RESOURCE_TYPE_FIXED_IO:
                        pnpacpi_encode_fixed_io(dev, resource,
-                                               &res_table->
-                                               port_resource[port]);
+                               pnp_get_resource(dev, IORESOURCE_IO, port));
                        port++;
                        break;
                case ACPI_RESOURCE_TYPE_MEMORY24:
                        pnpacpi_encode_mem24(dev, resource,
-                                            &res_table->mem_resource[mem]);
+                               pnp_get_resource(dev, IORESOURCE_MEM, mem));
                        mem++;
                        break;
                case ACPI_RESOURCE_TYPE_MEMORY32:
                        pnpacpi_encode_mem32(dev, resource,
-                                            &res_table->mem_resource[mem]);
+                               pnp_get_resource(dev, IORESOURCE_MEM, mem));
                        mem++;
                        break;
                case ACPI_RESOURCE_TYPE_FIXED_MEMORY32:
                        pnpacpi_encode_fixed_mem32(dev, resource,
-                                                  &res_table->
-                                                  mem_resource[mem]);
+                               pnp_get_resource(dev, IORESOURCE_MEM, mem));
                        mem++;
                        break;
                case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
                        pnpacpi_encode_ext_irq(dev, resource,
-                                              &res_table->irq_resource[irq]);
+                               pnp_get_resource(dev, IORESOURCE_IRQ, irq));
                        irq++;
                        break;
                case ACPI_RESOURCE_TYPE_START_DEPENDENT:
index 4390e3b41df07949f45f3f8823b975a14e3db537..c1f9e162d2c599ff7aff1e57b243f259b7910cbd 100644 (file)
@@ -688,7 +688,6 @@ static unsigned char *pnpbios_encode_allocated_resource_data(struct pnp_dev
                                                             unsigned char *p,
                                                             unsigned char *end)
 {
-       struct pnp_resource_table *res = &dev->res;
        unsigned int len, tag;
        int port = 0, irq = 0, dma = 0, mem = 0;
 
@@ -711,42 +710,48 @@ static unsigned char *pnpbios_encode_allocated_resource_data(struct pnp_dev
                case LARGE_TAG_MEM:
                        if (len != 9)
                                goto len_err;
-                       pnpbios_encode_mem(dev, p, &res->mem_resource[mem]);
+                       pnpbios_encode_mem(dev, p,
+                               pnp_get_resource(dev, IORESOURCE_MEM, mem));
                        mem++;
                        break;
 
                case LARGE_TAG_MEM32:
                        if (len != 17)
                                goto len_err;
-                       pnpbios_encode_mem32(dev, p, &res->mem_resource[mem]);
+                       pnpbios_encode_mem32(dev, p,
+                               pnp_get_resource(dev, IORESOURCE_MEM, mem));
                        mem++;
                        break;
 
                case LARGE_TAG_FIXEDMEM32:
                        if (len != 9)
                                goto len_err;
-                       pnpbios_encode_fixed_mem32(dev, p, &res->mem_resource[mem]);
+                       pnpbios_encode_fixed_mem32(dev, p,
+                               pnp_get_resource(dev, IORESOURCE_MEM, mem));
                        mem++;
                        break;
 
                case SMALL_TAG_IRQ:
                        if (len < 2 || len > 3)
                                goto len_err;
-                       pnpbios_encode_irq(dev, p, &res->irq_resource[irq]);
+                       pnpbios_encode_irq(dev, p,
+                               pnp_get_resource(dev, IORESOURCE_IRQ, irq));
                        irq++;
                        break;
 
                case SMALL_TAG_DMA:
                        if (len != 2)
                                goto len_err;
-                       pnpbios_encode_dma(dev, p, &res->dma_resource[dma]);
+                       pnpbios_encode_dma(dev, p,
+                               pnp_get_resource(dev, IORESOURCE_DMA, dma));
                        dma++;
                        break;
 
                case SMALL_TAG_PORT:
                        if (len != 7)
                                goto len_err;
-                       pnpbios_encode_port(dev, p, &res->port_resource[port]);
+                       pnpbios_encode_port(dev, p,
+                               pnp_get_resource(dev, IORESOURCE_IO, port));
                        port++;
                        break;
 
@@ -757,7 +762,8 @@ static unsigned char *pnpbios_encode_allocated_resource_data(struct pnp_dev
                case SMALL_TAG_FIXEDPORT:
                        if (len != 3)
                                goto len_err;
-                       pnpbios_encode_fixed_port(dev, p, &res->port_resource[port]);
+                       pnpbios_encode_fixed_port(dev, p,
+                               pnp_get_resource(dev, IORESOURCE_IO, port));
                        port++;
                        break;