[PATCH]: complete cleanup of check_region

From: Surya
Date: Thu Jun 07 2007 - 05:50:21 EST


Hi all,
This patch cleans up all the instances of check_region and
__check_region and replaces them with request_region and
__request_region. Applies and compiles clean on latest Linus tree.

Files affected:
drivers/cdrom/sbpcd.c
drivers/pnp/resource.c
include/linux/ioport.h
kernel/resource.c
sound/oss/pss.c


thanks.


Signed-off-by: Surya Prabhakar <surya.prabhakar@xxxxxxxxx>
---

diff --git a/drivers/cdrom/sbpcd.c b/drivers/cdrom/sbpcd.c
index a1283b1..2c1355e 100644
--- a/drivers/cdrom/sbpcd.c
+++ b/drivers/cdrom/sbpcd.c
@@ -358,6 +358,11 @@
* Add bio/kdev_t changes for 2.5.x required to make it work again.
* Still room for improvement in the request handling here if anyone
* actually cares. Bring your own chainsaw. Paul G. 02/2002
+ *
+ *
+ * Cleaned up the reference for deprecated check_region to
+ * request_region.
+ * Thu Jun 7 12:14:00 IST 2007 Surya <surya.prabhakar@xxxxxxxxx>
*/


@@ -5670,7 +5675,7 @@ int __init sbpcd_init(void)
{
addr[1]=sbpcd[port_index];
if (addr[1]==0) break;
- if (check_region(addr[1],4))
+ if (request_region(addr[1],4, "sbpcd driver"))
{
msg(DBG_INF,"check_region: %03X is not free.\n",addr[1]);
continue;
diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c
index a685fbe..2be8001 100644
--- a/drivers/pnp/resource.c
+++ b/drivers/pnp/resource.c
@@ -251,7 +251,7 @@ int pnp_check_port(struct pnp_dev * dev, int idx)
/* 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(&ioport_resource, *port, length(port,end), "isapnp request-region"))
return 0;
}

diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index 71ea923..ebe6c22 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -124,19 +124,12 @@ extern struct resource * __request_region(struct resource *,

/* Compatibility cruft */
#define release_region(start,n) __release_region(&ioport_resource, (start), (n))
-#define check_mem_region(start,n) __check_region(&iomem_resource, (start), (n))
+#define check_mem_region(start,n) __request_region(&iomem_resource, (start), (n), "request-region")
#define release_mem_region(start,n) __release_region(&iomem_resource, (start), (n))

-extern int __check_region(struct resource *, resource_size_t, resource_size_t);
extern void __release_region(struct resource *, resource_size_t,
resource_size_t);

-static inline int __deprecated check_region(resource_size_t s,
- resource_size_t n)
-{
- return __check_region(&ioport_resource, s, n);
-}
-
/* Wrappers for managed devices */
struct device;
#define devm_request_region(dev,start,n,name) \
diff --git a/kernel/resource.c b/kernel/resource.c
index 9bd14fd..99a97ca 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -520,36 +520,6 @@ struct resource * __request_region(struct resource *parent,
EXPORT_SYMBOL(__request_region);

/**
- * __check_region - check if a resource region is busy or free
- * @parent: parent resource descriptor
- * @start: resource start address
- * @n: resource region size
- *
- * Returns 0 if the region is free at the moment it is checked,
- * returns %-EBUSY if the region is busy.
- *
- * NOTE:
- * This function is deprecated because its use is racy.
- * Even if it returns 0, a subsequent call to request_region()
- * may fail because another driver etc. just allocated the region.
- * Do NOT use it. It will be removed from the kernel.
- */
-int __check_region(struct resource *parent, resource_size_t start,
- resource_size_t n)
-{
- struct resource * res;
-
- res = __request_region(parent, start, n, "check-region");
- if (!res)
- return -EBUSY;
-
- release_resource(res);
- kfree(res);
- return 0;
-}
-EXPORT_SYMBOL(__check_region);
-
-/**
* __release_region - release a previously reserved resource region
* @parent: parent resource descriptor
* @start: resource start address
diff --git a/sound/oss/pss.c b/sound/oss/pss.c
index ece428b..c61a1a3 100644
--- a/sound/oss/pss.c
+++ b/sound/oss/pss.c
@@ -54,6 +54,9 @@
* Added __init to probe_pss(), attach_pss() and probe_pss_mpu()
* 02-Jan-2001: Chris Rankin
* Specify that this module owns the coprocessor
+ * 07-Jun-2007: Surya Prabhakar <surya.prabhakar@xxxxxxxxx>
+ * Cleaned up the reference for deprecated check_region to
+ * request_region.
*/


@@ -677,7 +680,7 @@ static void configure_nonsound_components(void)
{
printk(KERN_INFO "PSS: CDROM port not enabled.\n");
}
- else if(check_region(pss_cdrom_port, 2))
+ else if(request_region(pss_cdrom_port, 2, "CDROM config"))
{
printk(KERN_ERR "PSS: CDROM I/O port conflict.\n");
}


--
surya .
07/06/2007
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/