From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1947031AbcBRQnW (ORCPT ); Thu, 18 Feb 2016 11:43:22 -0500 Received: from foss.arm.com ([217.140.101.70]:40737 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1946560AbcBRQnT (ORCPT ); Thu, 18 Feb 2016 11:43:19 -0500 Subject: Re: no irq domain found for ... a GPIO interrupt controller To: Stefan Agner References: <2dc0519827dc9d210e38c498d830cd97@agner.ch> <20160218091432.6968b836@arm.com> <11a0b1f5808af5bdabaab657366918d4@agner.ch> Cc: jiang.liu@linux.intel.com, Sanchayan Maity , robh@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org From: Marc Zyngier Organization: ARM Ltd Message-ID: <56C5F4A5.2000206@arm.com> Date: Thu, 18 Feb 2016 16:43:17 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.5.0 MIME-Version: 1.0 In-Reply-To: <11a0b1f5808af5bdabaab657366918d4@agner.ch> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Stefan, On 18/02/16 16:13, Stefan Agner wrote: > Hi Marc, > > On 2016-02-18 01:14, Marc Zyngier wrote: > >> What your stack trace shows is that the failure occurs at boot time, >> when of_platform_populate() parses the DT and creates the platform >> devices. As part of this process, it tries to resolves the interrupt >> specifiers, but fails to do so for this particular device, since the >> corresponding irqchip and domain have not been created yet (the GPIO >> controller is itself a device, while other irqchips are not). >> >> But as long as your device driver uses platform_get_irq(), you will >> force the interrupt specifier to be evaluated again, this time giving >> you a valid interrupt (and provided that your GPIO driver has >> initialized in the meantime - check for -EPROBE_DEFER). At some point, >> we'll be able to kill the interrupt resolution from >> of_platform_populate(). > > The device driver is using platform_get_irq. However, I think it > currently would not handle EPROBE_DEFER right, but seems also not to > happen in practice... > >> >> To summarize, your driver not working may not be related to this issue. > > So this means that despite the warning, nothing I really need to worry > right? Does this warning will go away in the future? It is unlikely that the warning will go away anytime soon (there is a truckload of drivers to fix), but you can safely ignore it as long as you end up getting a interrupt from platform_get_irq(). Thanks, M. -- Jazz is not dead. It just smells funny...