lkml.org 
[lkml]   [2018]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] drivers/of: Add devm_of_iomap()
From
Date
On Fri, 2018-06-15 at 08:16 +0200, Geert Uytterhoeven wrote:
> Hi Ben,
>
> On Fri, Jun 15, 2018 at 1:51 AM Benjamin Herrenschmidt
> <benh@kernel.crashing.org> wrote:
> > On Thu, 2018-06-14 at 10:27 +0200, Geert Uytterhoeven wrote:
> > > > --- a/include/linux/of_address.h
> > > > +++ b/include/linux/of_address.h
> > > > @@ -40,6 +40,11 @@ extern void __iomem *of_iomap(struct device_node *device, int index);
> > > > void __iomem *of_io_request_and_map(struct device_node *device,
> > > > int index, const char *name);
> > > >
> > > > +/* Request and map, wrapper on devm_ioremap_resource */
> > > > +extern void __iomem *devm_of_iomap(struct device *dev,
> > > > + struct device_node *node, int index,
> > > > + resource_size_t *size);
> > > > +
> > > > /* Extract an address from a device, returns the region size and
> > > > * the address space flags too. The PCI version uses a BAR number
> > > > * instead of an absolute index
> > >
> > > Do you need a dummy for !CONFIG_OF_ADDRESS, to aid compile-testing?
> >
> > I didn't think so, as of_address_to_resource() already has a dummy, so
> > it should build fine.
>
> That dummy doesn't matter, as drivers/of/address won't be built if
> !CONFIG_OF_ADDRESS anyway.

Right but:

- I moved it to lib/devres.c in my respun patch (because otherwise
sparc won't get it)

- The dummy is in include/linux/of_address.h, so devm_of_ioremap will
compile fine either way.

> I mean for compile-testing users of devm_of_iomap().
>
> And according to kbuild test robot <lkp@intel.com>:
>
> > > (.text+0x1882): undefined reference to `devm_ioremap_resource'
>
> devm_ioremap_resource() has no dummy for !HAS_IOMEM and
> OF_ADDRESS depends on !SPARC && (HAS_IOMEM || UML),
> bypassing the HAS_IOMEM check on UML.
>
> Gr{oetje,eeting}s,
>
> Geert
>

\
 
 \ /
  Last update: 2018-06-15 08:53    [W:0.236 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site