PNP: add struct pnp_resource
authorBjorn Helgaas <bjorn.helgaas@hp.com>
Mon, 28 Apr 2008 22:34:30 +0000 (16:34 -0600)
committerLen Brown <len.brown@intel.com>
Tue, 29 Apr 2008 07:22:27 +0000 (03:22 -0400)
This patch adds a "struct pnp_resource".  This currently
contains only a struct resource, but we will soon need
additional PNP-specific information.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/pnp/base.h
drivers/pnp/manager.c
drivers/pnp/resource.c

index b888a5fb6b7f2dbf62a661030950a1982780dab9..1d6bb351d323a597209add80534730d668c55616 100644 (file)
@@ -26,9 +26,13 @@ void pnp_init_resource(struct resource *res);
 #define PNP_MAX_IRQ             2
 #define PNP_MAX_DMA             2
 
+struct pnp_resource {
+       struct resource res;
+};
+
 struct pnp_resource_table {
-       struct resource port_resource[PNP_MAX_PORT];
-       struct resource mem_resource[PNP_MAX_MEM];
-       struct resource dma_resource[PNP_MAX_DMA];
-       struct resource irq_resource[PNP_MAX_IRQ];
+       struct pnp_resource port[PNP_MAX_PORT];
+       struct pnp_resource mem[PNP_MAX_MEM];
+       struct pnp_resource dma[PNP_MAX_DMA];
+       struct pnp_resource irq[PNP_MAX_IRQ];
 };
index 46a5e0e90d9a69394fb629cbc910c3f802df1cae..4823da27e640f87861ec52c807102c0093b7c807 100644 (file)
@@ -247,22 +247,22 @@ void pnp_init_resources(struct pnp_dev *dev)
        int idx;
 
        for (idx = 0; idx < PNP_MAX_IRQ; idx++) {
-               res = &dev->res->irq_resource[idx];
+               res = &dev->res->irq[idx].res;
                res->flags = IORESOURCE_IRQ;
                pnp_init_resource(res);
        }
        for (idx = 0; idx < PNP_MAX_DMA; idx++) {
-               res = &dev->res->dma_resource[idx];
+               res = &dev->res->dma[idx].res;
                res->flags = IORESOURCE_DMA;
                pnp_init_resource(res);
        }
        for (idx = 0; idx < PNP_MAX_PORT; idx++) {
-               res = &dev->res->port_resource[idx];
+               res = &dev->res->port[idx].res;
                res->flags = IORESOURCE_IO;
                pnp_init_resource(res);
        }
        for (idx = 0; idx < PNP_MAX_MEM; idx++) {
-               res = &dev->res->mem_resource[idx];
+               res = &dev->res->mem[idx].res;
                res->flags = IORESOURCE_MEM;
                pnp_init_resource(res);
        }
@@ -278,28 +278,28 @@ static void pnp_clean_resource_table(struct pnp_dev *dev)
        int idx;
 
        for (idx = 0; idx < PNP_MAX_IRQ; idx++) {
-               res = &dev->res->irq_resource[idx];
+               res = &dev->res->irq[idx].res;
                if (res->flags & IORESOURCE_AUTO) {
                        res->flags = IORESOURCE_IRQ;
                        pnp_init_resource(res);
                }
        }
        for (idx = 0; idx < PNP_MAX_DMA; idx++) {
-               res = &dev->res->dma_resource[idx];
+               res = &dev->res->dma[idx].res;
                if (res->flags & IORESOURCE_AUTO) {
                        res->flags = IORESOURCE_DMA;
                        pnp_init_resource(res);
                }
        }
        for (idx = 0; idx < PNP_MAX_PORT; idx++) {
-               res = &dev->res->port_resource[idx];
+               res = &dev->res->port[idx].res;
                if (res->flags & IORESOURCE_AUTO) {
                        res->flags = IORESOURCE_IO;
                        pnp_init_resource(res);
                }
        }
        for (idx = 0; idx < PNP_MAX_MEM; idx++) {
-               res = &dev->res->mem_resource[idx];
+               res = &dev->res->mem[idx].res;
                if (res->flags & IORESOURCE_AUTO) {
                        res->flags = IORESOURCE_MEM;
                        pnp_init_resource(res);
index f7adc7eefbf8d169369e41d49972e75799db32bb..7e9f4300e5f6eda0419ca24a2171750938b4a290 100644 (file)
@@ -508,19 +508,19 @@ struct resource *pnp_get_resource(struct pnp_dev *dev,
        case IORESOURCE_IO:
                if (num >= PNP_MAX_PORT)
                        return NULL;
-               return &res->port_resource[num];
+               return &res->port[num].res;
        case IORESOURCE_MEM:
                if (num >= PNP_MAX_MEM)
                        return NULL;
-               return &res->mem_resource[num];
+               return &res->mem[num].res;
        case IORESOURCE_IRQ:
                if (num >= PNP_MAX_IRQ)
                        return NULL;
-               return &res->irq_resource[num];
+               return &res->irq[num].res;
        case IORESOURCE_DMA:
                if (num >= PNP_MAX_DMA)
                        return NULL;
-               return &res->dma_resource[num];
+               return &res->dma[num].res;
        }
        return NULL;
 }