[PATCH]: complete cleanup of check_region

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <[email protected]>
--- 

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 <[email protected]>
  */
 
 
@@ -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 <[email protected]>
+ *	    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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux