# Re: \[RFC/PATCH 1/3\] powerpc: add ioremap\_bat() function for setting up BAT translated IO regions.

- From: Kumar Gala \<hidden\>
- Date: 2008-08-07 01:52:23 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2008/08/9444276
- Thread: https://ratatoskr.run/linuxppc-dev/2008/08/9444193/t.md

```text
>>>> 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
```
