On Fri, Aug 19, 2016 at 10:53 AM, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > On Wed, Aug 17, 2016 at 11:03 AM, Geert Uytterhoeven > <geert@xxxxxxxxxxxxxx> wrote: >> On Tue, Aug 16, 2016 at 10:06 AM, Linus Walleij >> <linus.walleij@xxxxxxxxxx> wrote: >>> The UserMode (UM) Linux build was failing in gpiolib-of as it requires >>> ioremap()/iounmap() to exist, which is absent from UM. The non-existence >>> of IO memory is negatively defined as CONFIG_NO_IOMEM so put a reverse >>> dependency on !NO_IOMEM for OF_GPIO to fix the build. >>> >>> Cc: stable@xxxxxxxxxxxxxxx >>> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> >>> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> >>> --- >>> drivers/gpio/Kconfig | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig >>> index 98dd47a30fc7..a6026f2fe7f5 100644 >>> --- a/drivers/gpio/Kconfig >>> +++ b/drivers/gpio/Kconfig >>> @@ -50,6 +50,7 @@ config GPIO_DEVRES >>> config OF_GPIO >>> def_bool y >>> depends on OF >>> + depends on !NO_IOMEM >> >> depends on HAS_IOMEM? > > Apparently not, and that is the scary thing. > > HAS_IOMEM depends on !NO_IOMEM indeed but > it also selects GENERIC_IO, and AFAICT there are > some configs out there in the intersection between, > that have IOMEM but are not using GENERIC_IO, > tell me if I'm wrong :/ lib/Kconfig: config HAS_IOMEM bool depends on !NO_IOMEM select GENERIC_IO default y Hence if NO_IOMEM is not set, HAS_IOMEM and GENERIC_IO are always set. UML selects GENERIC_IO, but not HAS_IOMEM (it sets NO_IOMEM). Perhaps you're confusing GENERIC_IO with GENERIC_IOMAP? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html