Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753742AbcCHEnu (ORCPT ); Mon, 7 Mar 2016 23:43:50 -0500 Received: from mail-vk0-f46.google.com ([209.85.213.46]:34003 "EHLO mail-vk0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753228AbcCHEnm (ORCPT ); Mon, 7 Mar 2016 23:43:42 -0500 MIME-Version: 1.0 In-Reply-To: <56DD5C25.3070702@suse.com> References: <1457091732-21924-1-git-send-email-mbrugger@suse.com> <56DD5C25.3070702@suse.com> Date: Tue, 8 Mar 2016 11:43:41 +0700 Message-ID: Subject: Re: [PATCH] gpio: xgene: Fix kconfig for standby GIPO contoller From: Quan Nguyen To: Matthias Brugger Cc: Linus Walleij , Alexandre Courbot , "linux-gpio@vger.kernel.org" , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2823 Lines: 79 On Mon, Mar 7, 2016 at 5:47 PM, Matthias Brugger wrote: > > > On 07/03/16 08:41, Linus Walleij wrote: >> >> On Fri, Mar 4, 2016 at 6:42 PM, Matthias Brugger >> wrote: >> >>> The standby GPIO controller can be used as a interrupt controller. >>> Select GPIOLIB_IRQCHIP when compiling this driver. Otherwise we get >>> a compilation error: >>> >>> drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_probe': >>> drivers/gpio/gpio-xgene-sb.c:312:10: error: 'struct gpio_chip' has no >>> member named 'irqdomain' >>> priv->gc.irqdomain = priv->irq_domain; >>> ^ >>> scripts/Makefile.build:295: recipe for target >>> 'drivers/gpio/gpio-xgene-sb.o' failed >>> make[2]: *** [drivers/gpio/gpio-xgene-sb.o] Error 1 >>> >>> Apart if compiled as module, we get the following modpost errors: >>> ERROR: "irq_chip_eoi_parent" [drivers/gpio/gpio-xgene-sb.ko] undefined! >>> ERROR: "irq_chip_unmask_parent" [drivers/gpio/gpio-xgene-sb.ko] >>> undefined! >>> ERROR: "irq_chip_mask_parent" [drivers/gpio/gpio-xgene-sb.ko] undefined! >>> ERROR: "irq_domain_create_hierarchy" [drivers/gpio/gpio-xgene-sb.ko] >>> undefined! >>> ERROR: "gpiochip_get_data" [drivers/gpio/gpio-xgene-sb.ko] undefined! >>> ERROR: "irq_chip_set_type_parent" [drivers/gpio/gpio-xgene-sb.ko] >>> undefined! >>> ERROR: "irq_domain_alloc_irqs_parent" [drivers/gpio/gpio-xgene-sb.ko] >>> undefined! >>> ERROR: "irq_domain_set_hwirq_and_chip" [drivers/gpio/gpio-xgene-sb.ko] >>> undefined! >>> ERROR: "irq_domain_reset_irq_data" [drivers/gpio/gpio-xgene-sb.ko] >>> undefined! >>> >>> This patch changes the kconfig so that the gpio controller can only be >>> build-in and selects GPIOLIB_IRQCHIP. >>> >>> Fixes: 1013fc41 "gpio: xgene: Enable X-Gene standby GPIO as interrupt >>> controller" >>> Cc: Quan Nguyen >>> Signed-off-by: Matthias Brugger >>> --- >>> >>> Changes for v2: >>> - Add modprobe fix, changing tristate to bool >>> - Add Cc tag >> >> >> Quan has sent a patch exporting the offending functions, but no reply from >> the irqchip maintainers yet. >> >> If they don't react we'll have to merge this and handle the module loading >> later. >> > > Thanks for the info. > > Just as a heads up, this patch fix two problems. Apart from the missing > exports for the irqchip functions, it selects GPIOLIB_IRQCHIP as otherwise > the config may be broken. > > Actually v1 of this patch just fixes this: > https://patchwork.kernel.org/patch/8502401/ Hi Matthias, I have acked your v1 as it helps fixing compile error if CONFIG_GPIOLIB_IRQCHIP missing. I also agreed with Linus on your v2. Hence, I only acked the v2 patch if my patch (https://lkml.org/lkml/2016/3/3/497) missed the merge windows as this drivers can actually work as a module. > > Regards, > Matthias