diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2008-04-28 18:34:25 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-29 03:22:26 -0400 |
commit | f6505fef18644557f732468c1f22f84560d8a819 (patch) | |
tree | 942bf646b502369e3f8e8f398265d0872e8d3a0c /drivers/pnp/manager.c | |
parent | 7e2cf31f1c97ac14b6d9dc5f1ce9e1e01aef9c18 (diff) |
PNP: convert assign, interface to use pnp_get_resource(), not pnp_resource_table
This removes more direct references to pnp_resource_table from the
pnp_assign_resources() path and the /sys user interface path.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/pnp/manager.c')
-rw-r--r-- | drivers/pnp/manager.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/pnp/manager.c b/drivers/pnp/manager.c index 08865292fc95..7c5ebddfc6af 100644 --- a/drivers/pnp/manager.c +++ b/drivers/pnp/manager.c | |||
@@ -21,14 +21,13 @@ static int pnp_assign_port(struct pnp_dev *dev, struct pnp_port *rule, int idx) | |||
21 | { | 21 | { |
22 | struct resource *res; | 22 | struct resource *res; |
23 | 23 | ||
24 | if (idx >= PNP_MAX_PORT) { | 24 | res = pnp_get_resource(dev, IORESOURCE_IO, idx); |
25 | if (!res) { | ||
25 | dev_err(&dev->dev, "too many I/O port resources\n"); | 26 | dev_err(&dev->dev, "too many I/O port resources\n"); |
26 | /* pretend we were successful so at least the manager won't try again */ | 27 | /* pretend we were successful so at least the manager won't try again */ |
27 | return 1; | 28 | return 1; |
28 | } | 29 | } |
29 | 30 | ||
30 | res = &dev->res.port_resource[idx]; | ||
31 | |||
32 | /* check if this resource has been manually set, if so skip */ | 31 | /* check if this resource has been manually set, if so skip */ |
33 | if (!(res->flags & IORESOURCE_AUTO)) { | 32 | if (!(res->flags & IORESOURCE_AUTO)) { |
34 | dev_dbg(&dev->dev, " io %d already set to %#llx-%#llx " | 33 | dev_dbg(&dev->dev, " io %d already set to %#llx-%#llx " |
@@ -68,14 +67,13 @@ static int pnp_assign_mem(struct pnp_dev *dev, struct pnp_mem *rule, int idx) | |||
68 | { | 67 | { |
69 | struct resource *res; | 68 | struct resource *res; |
70 | 69 | ||
71 | if (idx >= PNP_MAX_MEM) { | 70 | res = pnp_get_resource(dev, IORESOURCE_MEM, idx); |
71 | if (!res) { | ||
72 | dev_err(&dev->dev, "too many memory resources\n"); | 72 | dev_err(&dev->dev, "too many memory resources\n"); |
73 | /* pretend we were successful so at least the manager won't try again */ | 73 | /* pretend we were successful so at least the manager won't try again */ |
74 | return 1; | 74 | return 1; |
75 | } | 75 | } |
76 | 76 | ||
77 | res = &dev->res.mem_resource[idx]; | ||
78 | |||
79 | /* check if this resource has been manually set, if so skip */ | 77 | /* check if this resource has been manually set, if so skip */ |
80 | if (!(res->flags & IORESOURCE_AUTO)) { | 78 | if (!(res->flags & IORESOURCE_AUTO)) { |
81 | dev_dbg(&dev->dev, " mem %d already set to %#llx-%#llx " | 79 | dev_dbg(&dev->dev, " mem %d already set to %#llx-%#llx " |
@@ -131,14 +129,13 @@ static int pnp_assign_irq(struct pnp_dev *dev, struct pnp_irq *rule, int idx) | |||
131 | 5, 10, 11, 12, 9, 14, 15, 7, 3, 4, 13, 0, 1, 6, 8, 2 | 129 | 5, 10, 11, 12, 9, 14, 15, 7, 3, 4, 13, 0, 1, 6, 8, 2 |
132 | }; | 130 | }; |
133 | 131 | ||
134 | if (idx >= PNP_MAX_IRQ) { | 132 | res = pnp_get_resource(dev, IORESOURCE_IRQ, idx); |
133 | if (!res) { | ||
135 | dev_err(&dev->dev, "too many IRQ resources\n"); | 134 | dev_err(&dev->dev, "too many IRQ resources\n"); |
136 | /* pretend we were successful so at least the manager won't try again */ | 135 | /* pretend we were successful so at least the manager won't try again */ |
137 | return 1; | 136 | return 1; |
138 | } | 137 | } |
139 | 138 | ||
140 | res = &dev->res.irq_resource[idx]; | ||
141 | |||
142 | /* check if this resource has been manually set, if so skip */ | 139 | /* check if this resource has been manually set, if so skip */ |
143 | if (!(res->flags & IORESOURCE_AUTO)) { | 140 | if (!(res->flags & IORESOURCE_AUTO)) { |
144 | dev_dbg(&dev->dev, " irq %d already set to %d flags %#lx\n", | 141 | dev_dbg(&dev->dev, " irq %d already set to %d flags %#lx\n", |
@@ -188,13 +185,12 @@ static void pnp_assign_dma(struct pnp_dev *dev, struct pnp_dma *rule, int idx) | |||
188 | 1, 3, 5, 6, 7, 0, 2, 4 | 185 | 1, 3, 5, 6, 7, 0, 2, 4 |
189 | }; | 186 | }; |
190 | 187 | ||
191 | if (idx >= PNP_MAX_DMA) { | 188 | res = pnp_get_resource(dev, IORESOURCE_DMA, idx); |
189 | if (!res) { | ||
192 | dev_err(&dev->dev, "too many DMA resources\n"); | 190 | dev_err(&dev->dev, "too many DMA resources\n"); |
193 | return; | 191 | return; |
194 | } | 192 | } |
195 | 193 | ||
196 | res = &dev->res.dma_resource[idx]; | ||
197 | |||
198 | /* check if this resource has been manually set, if so skip */ | 194 | /* check if this resource has been manually set, if so skip */ |
199 | if (!(res->flags & IORESOURCE_AUTO)) { | 195 | if (!(res->flags & IORESOURCE_AUTO)) { |
200 | dev_dbg(&dev->dev, " dma %d already set to %d flags %#lx\n", | 196 | dev_dbg(&dev->dev, " dma %d already set to %d flags %#lx\n", |