of_iomap and request_mem_region

Jon Smirl jonsmirl at gmail.com
Sun Feb 10 13:59:43 EST 2008


On 2/9/08, Arnd Bergmann <arnd at arndb.de> wrote:
> On Sunday 10 February 2008, Jon Smirl wrote:
> > of_iomap doesn't implicitly do a request_mem_region().  How should
> > request_mem_region() be handled? When using of_iomap you don't get the
> > length of the region back so it isn't easy to call request_mem_region.
> >
> > What about adding a third param to of_iomap for the driver name? If it
> > is non-null also do the request region. If it is null check to make
> > sure the region has already be requested.
>
> I'd prefer changing of_iomap so that it gets the of_device instead of
> the device_node. That would help us do two changes at once:
>
> 1. call request_mem_region using dev->driver->name, as you mentioned.
> 2. use managed registrations, as lib/devres.c does e.g. in pcim_iomap,
> so that we can kill all the calls to iounmap in the cleanup path
> of OF drivers.
>
> maybe we can do a new ofm_iomap interface first, and then move
> drivers over to use that one.

There are only four drivers using of_iomap. It is not much work to
change them. Looking at them I don't see any that request the
resource. That's probably because they don't have the length needed to
make the call.

There are a lot of drivers using of_address_to_resource. They could
probably be converted to of_iomap if it gets changed. All of the ones
I checked follow the of_address_to_resource with a request_resource
call.

>
>         Arnd <><
>
>


-- 
Jon Smirl
jonsmirl at gmail.com



More information about the Linuxppc-dev mailing list