of_iomap() matched with plan iounmap()
Arnd Bergmann
arnd at arndb.de
Fri Aug 19 22:26:18 EST 2011
On Friday 19 August 2011, David Miller wrote:
> From: David Brown <davidb at codeaurora.org>
> Date: Thu, 18 Aug 2011 10:02:26 -0700
>
> > The SPARC target contains of_ioremap() and of_iounmap(), which various
> > drivers use (generally inside of CONFIG_SBUS).
> >
> > include/linux/of_address.h contains a definition for of_iomap(), but
> > not corresponding unmap call. Code using this calls the regular
> > iounmap().
> >
> > Is it safe to assume that of_iomap() will always be based on ioremap()
> > and therefore it is safe to use iounmap(), or would it be better to
> > define another name for drivers to use as the inverse of of_iomap().
> > I'm not sure what to call it, since of_iounmap() is already taken by
> > SPARC.
>
> It's better to define a matching of_iounmap() interface, even if for
> now it is exactly iounmap()
But the problem is that we need conflicting prototypes for of_iounmap.
Sparc currently has
extern void of_iounmap(struct resource *res, void __iomem *base, unsigned long size);
(as the reverse of of_ioremap)
While we would probably want the generic prototype to be
extern void of_iounmap(void __iomem *base);
(as the reverse of of_iomap)
We could of course change all existing users of of_iounmap on sparc to use
the simpler prototype, because it also just calls iounmap.
Arnd
More information about the devicetree-discuss
mailing list