|
@@ -321,7 +321,6 @@ pnp_set_current_resources(struct device *dmdev, struct device_attribute *attr,
|
|
|
{
|
|
|
struct pnp_dev *dev = to_pnp_dev(dmdev);
|
|
|
struct pnp_resource *pnp_res;
|
|
|
- struct resource *res;
|
|
|
char *buf = (void *)ubuf;
|
|
|
int retval = 0;
|
|
|
resource_size_t start, end;
|
|
@@ -402,24 +401,20 @@ pnp_set_current_resources(struct device *dmdev, struct device_attribute *attr,
|
|
|
buf += 3;
|
|
|
while (isspace(*buf))
|
|
|
++buf;
|
|
|
- pnp_res = pnp_get_pnp_resource(dev,
|
|
|
- IORESOURCE_MEM, nmem);
|
|
|
- if (!pnp_res)
|
|
|
- break;
|
|
|
- pnp_res->index = nmem;
|
|
|
- res = &pnp_res->res;
|
|
|
- res->start = simple_strtoul(buf, &buf, 0);
|
|
|
+ start = simple_strtoul(buf, &buf, 0);
|
|
|
while (isspace(*buf))
|
|
|
++buf;
|
|
|
if (*buf == '-') {
|
|
|
buf += 1;
|
|
|
while (isspace(*buf))
|
|
|
++buf;
|
|
|
- res->end = simple_strtoul(buf, &buf, 0);
|
|
|
+ end = simple_strtoul(buf, &buf, 0);
|
|
|
} else
|
|
|
- res->end = res->start;
|
|
|
- res->flags = IORESOURCE_MEM;
|
|
|
- nmem++;
|
|
|
+ end = start;
|
|
|
+ pnp_res = pnp_add_mem_resource(dev, start, end,
|
|
|
+ 0);
|
|
|
+ if (pnp_res)
|
|
|
+ pnp_res->index = nmem++;
|
|
|
continue;
|
|
|
}
|
|
|
if (!strnicmp(buf, "irq", 3)) {
|