of_iomap() and devres questions

Rob Herring robherring2 at gmail.com
Thu Apr 4 05:39:20 EST 2013


On 04/02/2013 02:25 PM, Markus Mayer wrote:
> Hi all,
> 
> I have a few questions regarding the implementation of the of_iomap()
> function.
> 
> As it currently stands, the function parses the device tree for the
> device's address and then simply calls ioremap() with that address and
> the associated size.
> 
> The first question that has come up is why of_iomap() doesn't also call
> request_mem_region()? Is there a particular reason for it or has it just
> not yet been implemented?

Don't know. It probably should not and make cause some breakage.

> The second question is regarding the use of devres in of_iomap(). Would
> it make sense for of_iomap() to use devm_ioremap() or, better yet,
> devm_request_and_ioremap() instead of simply calling ioremap()?

You should not be using of_iomap in a driver, but rather the functions
you mention. of_iomap is mainly used in cases where there is no driver
or struct device. Which means devm_* functions would be pointless. Also
there is no way to get from a struct device_node ptr to a struct device ptr.

Rob

> 
> Thanks,
> -Markus
> 
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss



More information about the devicetree-discuss mailing list