From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754644AbcBVLYM (ORCPT ); Mon, 22 Feb 2016 06:24:12 -0500 Received: from foss.arm.com ([217.140.101.70]:55936 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754215AbcBVLYI (ORCPT ); Mon, 22 Feb 2016 06:24:08 -0500 Subject: Re: [PATCH] Irq/mbigen:Promote the mbigen driver register timing To: MaJun , Catalin.Marinas@arm.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Will.Deacon@arm.com, mark.rutland@arm.com, jason@lakedaemon.net, tglx@linutronix.de, lizefan@huawei.com, huxinwei@huawei.com, dingtianhong@huawei.com, liguozhu@hisilicon.com, guohanjun@huawei.com, zhaojunhua@hisilicon.com References: <1456138810-24008-1-git-send-email-majun258@huawei.com> From: Marc Zyngier X-Enigmail-Draft-Status: N1110 Organization: ARM Ltd Message-ID: <56CAEFD3.2060700@arm.com> Date: Mon, 22 Feb 2016 11:24:03 +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: <1456138810-24008-1-git-send-email-majun258@huawei.com> 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 On 22/02/16 11:00, MaJun wrote: > From: Ma Jun > > Using module_platform_driver() to register mbigen driver is > too late for some driver to apply irq, because the mbigen irq > domain is not created yet. > > Signed-off-by: Ma Jun > --- > drivers/irqchip/irq-mbigen.c | 9 ++++++++- > 1 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/drivers/irqchip/irq-mbigen.c b/drivers/irqchip/irq-mbigen.c > index 4dd3eb8..4df359c 100644 > --- a/drivers/irqchip/irq-mbigen.c > +++ b/drivers/irqchip/irq-mbigen.c > @@ -289,7 +289,14 @@ static struct platform_driver mbigen_platform_driver = { > .probe = mbigen_device_probe, > }; > > -module_platform_driver(mbigen_platform_driver); > +static __init int mbigen_init(void) > + > +{ > + return platform_driver_register(&mbigen_platform_driver); > + > +} > + > +arch_initcall(mbigen_init); > > MODULE_AUTHOR("Jun Ma "); > MODULE_AUTHOR("Yun Wu "); > I don't believe this is a proper fix, and already said so when reviewing this code: http://www.spinics.net/lists/linux-pci/msg46534.html Short of actually solving the dependencies, it is likely that you will only move the problem somewhere else. I suggest you engage will people that are working on a proper solution, and/or fix the drivers to gracefully defer their probing if their IRQs are not available. Thanks, M. -- Jazz is not dead. It just smells funny...