lkml.org 
[lkml]   [2003]   [Sep]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] i2c driver fixes for 2.6.0-test5
On Tue, Sep 23, 2003 at 09:16:17AM +0100, Christoph Hellwig wrote:
> On Mon, Sep 22, 2003 at 04:30:28PM -0700, Greg KH wrote:
> > for (addr = 0x00; addr <= (is_isa ? 0xffff : 0x7f); addr++) {
> > - /* XXX: WTF is going on here??? */
> > - if ((is_isa && check_region(addr, 1)) ||
> > + void *region_used = request_region(addr, 1, "foo");
> > + release_region(addr, 1);
> > + if ((is_isa && (region_used == NULL)) ||
>
> WTF?? Your papering over bugs again, this doesn't help at all.

Why?

Ok, from my reading of this horrible chunk of code it does the
following:
- if this is a isa based controller, then we check the region
that is to be used.
- If it is already in use by someone else, then we skip it, and
move on to the next address.
- If it is not in use, then we pass the address down to the chip
driver and let it try to find the chip at this address (it
will do the reserving of the address space on its own.)

So basically, check_region is pretty valid here, as we are trying to see
if something else is already at this address, to try to prevent i2c
drivers from stomping on each other. I replaced this with a
request_region()/release_region() pair to get rid of the compiler
warning.

Is this your understanding too? Or do you think we should just get rid
of the request_region() check here all together?

thanks,

greg k-h
-
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-03-22 13:48    [W:0.070 / U:0.320 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site