Message ID | 20201222122151.4549-1-kostap@marvell.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/1] marvell: irqchip: pic: change driver initcall to arch | expand |
On 2020-12-22 12:21, kostap@marvell.com wrote: > From: Stefan Chulski <stefanc@marvell.com> > > Patch solves the PMU driver probe error. > PMU driver depends on irqchip pic driver, so it should probe > after irqchip pic driver. > Initcall order changed from device to arch. > > Signed-off-by: Stefan Chulski <stefanc@marvell.com> > Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> > --- > drivers/irqchip/irq-mvebu-pic.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/drivers/irqchip/irq-mvebu-pic.c > b/drivers/irqchip/irq-mvebu-pic.c > index eec63951129a..eca1a6edf49c 100644 > --- a/drivers/irqchip/irq-mvebu-pic.c > +++ b/drivers/irqchip/irq-mvebu-pic.c > @@ -188,7 +188,19 @@ static struct platform_driver mvebu_pic_driver = { > .of_match_table = mvebu_pic_of_match, > }, > }; > -module_platform_driver(mvebu_pic_driver); > + > +static int __init mvebu_pic_driver_init(void) > +{ > + return platform_driver_register(&mvebu_pic_driver); > +} > + > +static void __exit mvebu_pic_driver_exit(void) > +{ > + return platform_driver_unregister(&mvebu_pic_driver); > +} > + > +arch_initcall(mvebu_pic_driver_init) > +module_exit(mvebu_pic_driver_exit) > > MODULE_AUTHOR("Yehuda Yitschak <yehuday@marvell.com>"); > MODULE_AUTHOR("Thomas Petazzoni > <thomas.petazzoni@free-electrons.com>"); You are trading an implicit dependency for another one, so this patch isn't acceptable, as it is just as likely to break as the current situation. Furthermore, at least on the system I lying around (8040), the PMU driver is perfectly able to defer its probing until the interrupt becomes available, so I have no idea what problem you are trying to solve. M.
diff --git a/drivers/irqchip/irq-mvebu-pic.c b/drivers/irqchip/irq-mvebu-pic.c index eec63951129a..eca1a6edf49c 100644 --- a/drivers/irqchip/irq-mvebu-pic.c +++ b/drivers/irqchip/irq-mvebu-pic.c @@ -188,7 +188,19 @@ static struct platform_driver mvebu_pic_driver = { .of_match_table = mvebu_pic_of_match, }, }; -module_platform_driver(mvebu_pic_driver); + +static int __init mvebu_pic_driver_init(void) +{ + return platform_driver_register(&mvebu_pic_driver); +} + +static void __exit mvebu_pic_driver_exit(void) +{ + return platform_driver_unregister(&mvebu_pic_driver); +} + +arch_initcall(mvebu_pic_driver_init) +module_exit(mvebu_pic_driver_exit) MODULE_AUTHOR("Yehuda Yitschak <yehuday@marvell.com>"); MODULE_AUTHOR("Thomas Petazzoni <thomas.petazzoni@free-electrons.com>");