Subject: Re: of_iomap and request_mem_region

From: Arnd Bergmann <[email-masked]>
Date: Sun, 10 Feb 2008 03:45:54 +0100

On Sunday 10 February 2008, Jon Smirl wrote:
> of_iomap doesn't implicitly do a request_mem_region(). =A0How 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.
>=20
> 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.

	Arnd <><