PNP: remove pnp_resource_table from internal get/set interfaces
When we call protocol->get() and protocol->set() methods, we currently supply pointers to both the pnp_dev and the pnp_resource_table even though the pnp_resource_table should always be the one associated with the pnp_dev. This removes the pnp_resource_table arguments to make it clear that these methods only operate on the specified pnp_dev. 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:
@@ -364,7 +364,7 @@ pnp_set_current_resources(struct device *dmdev, struct device_attribute *attr,
|
|||||||
if (!strnicmp(buf, "get", 3)) {
|
if (!strnicmp(buf, "get", 3)) {
|
||||||
mutex_lock(&pnp_res_mutex);
|
mutex_lock(&pnp_res_mutex);
|
||||||
if (pnp_can_read(dev))
|
if (pnp_can_read(dev))
|
||||||
dev->protocol->get(dev, &dev->res);
|
dev->protocol->get(dev);
|
||||||
mutex_unlock(&pnp_res_mutex);
|
mutex_unlock(&pnp_res_mutex);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
@@ -976,21 +976,20 @@ static int isapnp_read_resources(struct pnp_dev *dev,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int isapnp_get_resources(struct pnp_dev *dev,
|
static int isapnp_get_resources(struct pnp_dev *dev)
|
||||||
struct pnp_resource_table *res)
|
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
pnp_init_resource_table(res);
|
pnp_init_resource_table(&dev->res);
|
||||||
isapnp_cfg_begin(dev->card->number, dev->number);
|
isapnp_cfg_begin(dev->card->number, dev->number);
|
||||||
ret = isapnp_read_resources(dev, res);
|
ret = isapnp_read_resources(dev, &dev->res);
|
||||||
isapnp_cfg_end();
|
isapnp_cfg_end();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int isapnp_set_resources(struct pnp_dev *dev,
|
static int isapnp_set_resources(struct pnp_dev *dev)
|
||||||
struct pnp_resource_table *res)
|
|
||||||
{
|
{
|
||||||
|
struct pnp_resource_table *res = &dev->res;
|
||||||
int tmp;
|
int tmp;
|
||||||
|
|
||||||
isapnp_cfg_begin(dev->card->number, dev->number);
|
isapnp_cfg_begin(dev->card->number, dev->number);
|
||||||
|
@@ -473,7 +473,7 @@ int pnp_start_dev(struct pnp_dev *dev)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dev->protocol->set(dev, &dev->res) < 0) {
|
if (dev->protocol->set(dev) < 0) {
|
||||||
dev_err(&dev->dev, "activation failed\n");
|
dev_err(&dev->dev, "activation failed\n");
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
@@ -73,8 +73,7 @@ static int __init ispnpidacpi(char *id)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pnpacpi_get_resources(struct pnp_dev *dev,
|
static int pnpacpi_get_resources(struct pnp_dev *dev)
|
||||||
struct pnp_resource_table *res)
|
|
||||||
{
|
{
|
||||||
acpi_status status;
|
acpi_status status;
|
||||||
|
|
||||||
@@ -83,8 +82,7 @@ static int pnpacpi_get_resources(struct pnp_dev *dev,
|
|||||||
return ACPI_FAILURE(status) ? -ENODEV : 0;
|
return ACPI_FAILURE(status) ? -ENODEV : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pnpacpi_set_resources(struct pnp_dev *dev,
|
static int pnpacpi_set_resources(struct pnp_dev *dev)
|
||||||
struct pnp_resource_table *res)
|
|
||||||
{
|
{
|
||||||
acpi_handle handle = dev->data;
|
acpi_handle handle = dev->data;
|
||||||
struct acpi_buffer buffer;
|
struct acpi_buffer buffer;
|
||||||
@@ -94,7 +92,7 @@ static int pnpacpi_set_resources(struct pnp_dev *dev,
|
|||||||
ret = pnpacpi_build_resource_template(dev, &buffer);
|
ret = pnpacpi_build_resource_template(dev, &buffer);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
ret = pnpacpi_encode_resources(res, &buffer);
|
ret = pnpacpi_encode_resources(&dev->res, &buffer);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
kfree(buffer.pointer);
|
kfree(buffer.pointer);
|
||||||
return ret;
|
return ret;
|
||||||
|
@@ -204,8 +204,7 @@ static int pnp_dock_thread(void *unused)
|
|||||||
|
|
||||||
#endif /* CONFIG_HOTPLUG */
|
#endif /* CONFIG_HOTPLUG */
|
||||||
|
|
||||||
static int pnpbios_get_resources(struct pnp_dev *dev,
|
static int pnpbios_get_resources(struct pnp_dev *dev)
|
||||||
struct pnp_resource_table *res)
|
|
||||||
{
|
{
|
||||||
u8 nodenum = dev->number;
|
u8 nodenum = dev->number;
|
||||||
struct pnp_bios_node *node;
|
struct pnp_bios_node *node;
|
||||||
@@ -220,14 +219,13 @@ static int pnpbios_get_resources(struct pnp_dev *dev,
|
|||||||
kfree(node);
|
kfree(node);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
pnpbios_read_resources_from_node(res, node);
|
pnpbios_read_resources_from_node(&dev->res, node);
|
||||||
dev->active = pnp_is_active(dev);
|
dev->active = pnp_is_active(dev);
|
||||||
kfree(node);
|
kfree(node);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pnpbios_set_resources(struct pnp_dev *dev,
|
static int pnpbios_set_resources(struct pnp_dev *dev)
|
||||||
struct pnp_resource_table *res)
|
|
||||||
{
|
{
|
||||||
u8 nodenum = dev->number;
|
u8 nodenum = dev->number;
|
||||||
struct pnp_bios_node *node;
|
struct pnp_bios_node *node;
|
||||||
@@ -243,7 +241,7 @@ static int pnpbios_set_resources(struct pnp_dev *dev,
|
|||||||
kfree(node);
|
kfree(node);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
if (pnpbios_write_resources_to_node(res, node) < 0) {
|
if (pnpbios_write_resources_to_node(&dev->res, node) < 0) {
|
||||||
kfree(node);
|
kfree(node);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@@ -328,8 +328,8 @@ struct pnp_protocol {
|
|||||||
char *name;
|
char *name;
|
||||||
|
|
||||||
/* resource control functions */
|
/* resource control functions */
|
||||||
int (*get) (struct pnp_dev *dev, struct pnp_resource_table *res);
|
int (*get) (struct pnp_dev *dev);
|
||||||
int (*set) (struct pnp_dev *dev, struct pnp_resource_table *res);
|
int (*set) (struct pnp_dev *dev);
|
||||||
int (*disable) (struct pnp_dev *dev);
|
int (*disable) (struct pnp_dev *dev);
|
||||||
|
|
||||||
/* protocol specific suspend/resume */
|
/* protocol specific suspend/resume */
|
||||||
|
Reference in New Issue
Block a user