[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c564d222f0b566dc12b3e64baf93bc48702ad8da.camel@kernel.crashing.org>
Date: Fri, 15 Jun 2018 16:52:02 +1000
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] drivers/of: Add devm_of_iomap()
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@...nel.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@...el.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
>
Powered by blists - more mailing lists