lkml.org 
[lkml]   [2005]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Linux-2.6.13 : __check_region is deprecated
On Tue, 30 Aug 2005, Stephane Wirtel wrote:

> Hi,
>
> By compiling my kernel, I can see that the __check_region function (in
> kernel/resource.c) is deprecated.
>
> With a grep on the source code of the last release, I get this result.
>
> drivers/pnp/resource.c:255: if (__check_region(&ioport_resource, *port, length(port,end)))
> include/linux/ioport.h:117:#define check_mem_region(start,n) __check_region(&iomem_resource, (start), (n))
> include/linux/ioport.h:120:extern int __check_region(struct resource *, unsigned long, unsigned long);
> include/linux/ioport.h:125: return __check_region(&ioport_resource, s, n);
> kernel/resource.c:468:int __deprecated __check_region(struct resource *parent, unsigned long start, unsigned long n)
> kernel/resource.c:481:EXPORT_SYMBOL(__check_region);
>
> Is there a function to replace this deprecated function ?

Just restructure the code to use request_region().

> Why is it deprecated ?

because it's racy. I.e., it's normally used as:

check_region();
if (ok)
request_region();

but between the check_region() and request_region(), the region
could have been allocated by something else.

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

\
 
 \ /
  Last update: 2005-08-30 01:25    [W:0.081 / U:0.412 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site