[RFC/PATCH 1/3] powerpc: add ioremap_bat() function for setting up BAT translated IO regions.

Kumar Gala galak at kernel.crashing.org
Thu Aug 7 11:52:10 EST 2008


>>>> why can't we just do this in ioremap itself?
>>>
>>> I suppose we could; but the usecase is somewhat different and I  
>>> wanted
>>> to keep it simple.  Using a separate API also helps reenforce that  
>>> the
>>> caller really needs to know what they are doing because BATs are a
>>> limited resource.
>>
>> there is a bunch of error checking and difference in semantics that  
>> you need
>> to fix.
>
> details please?  I agree that it can be tightened up in some areas,
> but I'd like to know if you've seen something I haven't.

The alignment checks for one?  Why does the caller need to ensure  
alignment.. we just force alignment in __ioremap().. we should be  
doing the same thing here.

>> I think introduce a new API for this is silly,
>
> I don't think so.  I actually prefer it being an different API.  It
> forces the caller to understand what the function does.  It forces the
> programmer to think and to understand the effect of mapping large io
> blocks.

Ok.. My feeling is the same core logic should be used so I don't have  
to fix 2 places in the future.

>> especially since we
>> expect there to only be one actual invocation of the API for serial  
>> console
>> access.
>
> Actually, this is not only for early serial.  Early serial just
> happens to be the first user.

Than this really should be done as part of __ioremap() since you have  
to deal with doing different things depending on how mem_init_done is  
set.

- k



More information about the Linuxppc-dev mailing list