summaryrefslogtreecommitdiffstats
path: root/drivers/pnp/resource.c
diff options
context:
space:
mode:
authorJakub Sitnicki <jsitnicki@gmail.com>2014-12-08 22:01:57 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-01-22 01:14:50 +0100
commiteeeb98bf06286380f74fc0d39df643c50fd056e5 (patch)
tree1ac420dac2614b0932b4962fc731fa08b250f6da /drivers/pnp/resource.c
parentec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc (diff)
downloadop-kernel-dev-eeeb98bf06286380f74fc0d39df643c50fd056e5.zip
op-kernel-dev-eeeb98bf06286380f74fc0d39df643c50fd056e5.tar.gz
PNP: Switch from __check_region() to __request_region()
PNP core is the last user of the __check_region() which has been deprecated for almost 12 years (since v2.5.54). Replace it with a combo of __request_region() followed by __release_region(). pnp_check_port() and pnp_check_mem() remain racy after this change. Signed-off-by: Jakub Sitnicki <jsitnicki@gmail.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/pnp/resource.c')
-rw-r--r--drivers/pnp/resource.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c
index 782e822..f980ff7 100644
--- a/drivers/pnp/resource.c
+++ b/drivers/pnp/resource.c
@@ -179,8 +179,9 @@ int pnp_check_port(struct pnp_dev *dev, struct resource *res)
/* check if the resource is already in use, skip if the
* device is active because it itself may be in use */
if (!dev->active) {
- if (__check_region(&ioport_resource, *port, length(port, end)))
+ if (!request_region(*port, length(port, end), "pnp"))
return 0;
+ release_region(*port, length(port, end));
}
/* check if the resource is reserved */
@@ -241,8 +242,9 @@ int pnp_check_mem(struct pnp_dev *dev, struct resource *res)
/* check if the resource is already in use, skip if the
* device is active because it itself may be in use */
if (!dev->active) {
- if (check_mem_region(*addr, length(addr, end)))
+ if (!request_mem_region(*addr, length(addr, end), "pnp"))
return 0;
+ release_mem_region(*addr, length(addr, end));
}
/* check if the resource is reserved */
OpenPOWER on IntegriCloud