Re: of_iomap and request_mem_region
From: Arnd Bergmann <arnd@arndb.de>
Date: 2008-02-10 02:46:08
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 <><