Better ask Steven, Arnd et al... On Thu, Apr 9, 2015 at 9:48 AM, Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> wrote: > On Wed, 2015-04-08 at 17:03 +0200, Linus Walleij wrote: >> On Tue, Mar 31, 2015 at 10:30 AM, Alexey Brodkin >> <Alexey.Brodkin@xxxxxxxxxxxx> wrote: >> >> > From: Vineet Gupta <vgupta@xxxxxxxxxxxx> >> > >> > Synopsys SDP platform uses DW GPIO controller in design with >> > ARC cores. So adding ARC to architectures that may select this >> > GPIO controller. >> > >> > Even though support for Synopsys SDP is yet to be submitted we'll need >> > this tiny option enabled at least for properly working interrupts (DW >> > GPIO controller is used as interrupt controller). >> > >> > Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> >> > Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> >> > Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> >> > Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> >> >> Patch applied. >> >> But ... >> >> > - depends on ((ARM || ARM64) && OF_GPIO) || X86_INTEL_QUARK >> > + depends on ((ARC || ARM || ARM64) && OF_GPIO) || X86_INTEL_QUARK >> >> This is getting a bit silly. What stops us from actually just enabling >> it for any architecture? > > Agree. That looks like nonsense now. > Origin of arch-limitation is > http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/gpio/Kconfig?id=1972c97db5b0c125918f662cd084c7d5370674c0 > > --->8--- > gpio: dwapb: fix compile errors > Whereas the DWAPB driver does not really depend on the ARM > architecture, it uses [readl|writel]_relaxed() not found on > arch such as Blackfin, so restrict this to ARM until there is > another architecture that can make use of it. > > It is also using the of_node of the gpiochip, so fix this > too by requiring OF_GPIO. > > All error/warnings: > > make.cross ARCH=blackfin > drivers/gpio/gpio-dwapb.c: In function 'dwapb_irq_handler': > drivers/gpio/gpio-dwapb.c:91:2: error: implicit declaration of function > 'readl_relaxed' [-Werror=implicit-function-declaration] > drivers/gpio/gpio-dwapb.c: In function 'dwapb_configure_irqs': > drivers/gpio/gpio-dwapb.c:212:32: error: 'struct gpio_chip' has no > member named 'of_node' > drivers/gpio/gpio-dwapb.c:221:16: error: 'struct gpio_chip' has no > member named 'of_node' > drivers/gpio/gpio-dwapb.c: In function 'dwapb_gpio_add_port': > drivers/gpio/gpio-dwapb.c:331:14: error: 'struct gpio_chip' has no > member named 'of_node' > cc1: some warnings being treated as errors > --->8--- > > Probably better fix is to make dwgpio depend on !BLACKFIN because we > know it won't be built for it. If there're other arches that don't > define [readl|writel]_relaxed() we may add them as well. This restrictions should be gone after commit 9439eb3ab9d1ece6e4ad7baaa4a7f534f9b9dab0 "asm-generic: io: implement relaxed accessor macros as conditional wrappers" I will make a patch removing the dependencies and see what happens. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html