PNP: add pnp_init_resources(struct pnp_dev *) interface

Add pnp_init_resources(struct pnp_dev *) to replace
pnp_init_resource_table(), which takes a pointer to the
pnp_resource_table itself.  Passing only the pnp_dev * reduces
the possibility for error in the caller and removes the
pnp_resource_table implementation detail from the interface.

Even though pnp_init_resource_table() is exported, I did not
export pnp_init_resources() because it is used only by the PNP
core.

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>
This commit is contained in:
Bjorn Helgaas 2008-04-28 16:34:09 -06:00 committed by Len Brown
parent 81b5c75f0e
commit f449000209
8 changed files with 16 additions and 11 deletions

View File

@ -351,14 +351,14 @@ pnp_set_current_resources(struct device *dmdev, struct device_attribute *attr,
if (!strnicmp(buf, "auto", 4)) {
if (dev->active)
goto done;
pnp_init_resource_table(&dev->res);
pnp_init_resources(dev);
retval = pnp_auto_config_dev(dev);
goto done;
}
if (!strnicmp(buf, "clear", 5)) {
if (dev->active)
goto done;
pnp_init_resource_table(&dev->res);
pnp_init_resources(dev);
goto done;
}
if (!strnicmp(buf, "get", 3)) {
@ -373,7 +373,7 @@ pnp_set_current_resources(struct device *dmdev, struct device_attribute *attr,
if (dev->active)
goto done;
buf += 3;
pnp_init_resource_table(&dev->res);
pnp_init_resources(dev);
mutex_lock(&pnp_res_mutex);
while (1) {
while (isspace(*buf))

View File

@ -424,7 +424,7 @@ static struct pnp_dev *__init isapnp_parse_device(struct pnp_card *card,
dev->capabilities |= PNP_READ;
dev->capabilities |= PNP_WRITE;
dev->capabilities |= PNP_DISABLE;
pnp_init_resource_table(&dev->res);
pnp_init_resources(dev);
return dev;
}
@ -981,7 +981,7 @@ static int isapnp_get_resources(struct pnp_dev *dev)
int ret;
dev_dbg(&dev->dev, "get resources\n");
pnp_init_resource_table(&dev->res);
pnp_init_resources(dev);
isapnp_cfg_begin(dev->card->number, dev->number);
ret = isapnp_read_resources(dev);
isapnp_cfg_end();

View File

@ -272,6 +272,11 @@ void pnp_init_resource_table(struct pnp_resource_table *table)
}
}
void pnp_init_resources(struct pnp_dev *dev)
{
pnp_init_resource_table(&dev->res);
}
/**
* pnp_clean_resources - clears resources that were not manually set
* @res: the resources to clean

View File

@ -212,7 +212,7 @@ static int __init pnpacpi_add_device(struct acpi_device *device)
/* clear out the damaged flags */
if (!dev->active)
pnp_init_resource_table(&dev->res);
pnp_init_resources(dev);
pnp_add_device(dev);
num++;

View File

@ -410,8 +410,7 @@ acpi_status pnpacpi_parse_allocated_resource(struct pnp_dev *dev)
dev_dbg(&dev->dev, "parse allocated resources\n");
/* Blank the resource table values */
pnp_init_resource_table(&dev->res);
pnp_init_resources(dev);
return acpi_walk_resources(handle, METHOD_NAME__CRS,
pnpacpi_allocated_resource, dev);

View File

@ -347,7 +347,7 @@ static int __init insert_device(struct pnp_bios_node *node)
/* clear out the damaged flags */
if (!dev->active)
pnp_init_resource_table(&dev->res);
pnp_init_resources(dev);
pnp_add_device(dev);
pnpbios_interface_attach_device(node);

View File

@ -145,8 +145,7 @@ static unsigned char *pnpbios_parse_allocated_resource_data(struct pnp_dev *dev,
dev_dbg(&dev->dev, "parse allocated resources\n");
/* Blank the resource table values */
pnp_init_resource_table(&dev->res);
pnp_init_resources(dev);
while ((char *)p < (char *)end) {

View File

@ -391,6 +391,7 @@ int pnp_register_port_resource(struct pnp_dev *dev, struct pnp_option *option,
int pnp_register_mem_resource(struct pnp_dev *dev, struct pnp_option *option,
struct pnp_mem *data);
void pnp_init_resource_table(struct pnp_resource_table *table);
void pnp_init_resources(struct pnp_dev *dev);
int pnp_manual_config_dev(struct pnp_dev *dev, struct pnp_resource_table *res,
int mode);
int pnp_auto_config_dev(struct pnp_dev *dev);
@ -438,6 +439,7 @@ static inline int pnp_register_dma_resource(struct pnp_dev *dev, struct pnp_opti
static inline int pnp_register_port_resource(struct pnp_dev *dev, struct pnp_option *option, struct pnp_port *data) { return -ENODEV; }
static inline int pnp_register_mem_resource(struct pnp_dev *dev, struct pnp_option *option, struct pnp_mem *data) { return -ENODEV; }
static inline void pnp_init_resource_table(struct pnp_resource_table *table) { }
static inline void pnp_init_resources(struct pnp_dev *dev) { }
static inline int pnp_manual_config_dev(struct pnp_dev *dev, struct pnp_resource_table *res, int mode) { return -ENODEV; }
static inline int pnp_auto_config_dev(struct pnp_dev *dev) { return -ENODEV; }
static inline int pnp_validate_config(struct pnp_dev *dev) { return -ENODEV; }