* [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register
@ 2022-07-12 16:09 Dario Binacchi
2022-07-12 16:09 ` [PATCH v5 2/2] dmaengine: mxs: fix section mismatch Dario Binacchi
2022-07-13 8:40 ` [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register Marco Felsch
0 siblings, 2 replies; 5+ messages in thread
From: Dario Binacchi @ 2022-07-12 16:09 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Michael Trimarchi, stable,
Fabio Estevam, NXP Linux Team, Pengutronix Kernel Team,
Sascha Hauer, Shawn Guo, Vinod Koul, dmaengine, linux-arm-kernel
Driver registration fails on SOC imx8mn as its supplier, the clock
control module, is probed later than subsys initcall level. This driver
uses platform_driver_probe which is not compatible with deferred probing
and won't be probed again later if probe function fails due to clock not
being available at that time.
This patch replaces the use of platform_driver_probe with
platform_driver_register which will allow probing the driver later again
when the clock control module will be available.
Fixes: a580b8c5429a ("dmaengine: mxs-dma: add dma support for i.MX23/28")
Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Cc: stable@vger.kernel.org
---
Changes in v5:
- Update the commit message.
- Create a new patch to remove the warning generated by this patch.
Changes in v4:
- Restore __init in front of mxs_dma_probe() definition.
- Rename the mxs_dma_driver variable to mxs_dma_driver_probe.
- Update the commit message.
- Use builtin_platform_driver() instead of module_platform_driver().
Changes in v3:
- Restore __init in front of mxs_dma_init() definition.
Changes in v2:
- Add the tag "Cc: stable@vger.kernel.org" in the sign-off area.
drivers/dma/mxs-dma.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
index 994fc4d2aca4..18f8154b859b 100644
--- a/drivers/dma/mxs-dma.c
+++ b/drivers/dma/mxs-dma.c
@@ -839,10 +839,6 @@ static struct platform_driver mxs_dma_driver = {
.name = "mxs-dma",
.of_match_table = mxs_dma_dt_ids,
},
+ .probe = mxs_dma_probe,
};
-
-static int __init mxs_dma_module_init(void)
-{
- return platform_driver_probe(&mxs_dma_driver, mxs_dma_probe);
-}
-subsys_initcall(mxs_dma_module_init);
+builtin_platform_driver(mxs_dma_driver);
--
2.32.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v5 2/2] dmaengine: mxs: fix section mismatch
2022-07-12 16:09 [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register Dario Binacchi
@ 2022-07-12 16:09 ` Dario Binacchi
2022-07-13 8:40 ` [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register Marco Felsch
1 sibling, 0 replies; 5+ messages in thread
From: Dario Binacchi @ 2022-07-12 16:09 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Michael Trimarchi, stable,
Fabio Estevam, NXP Linux Team, Pengutronix Kernel Team,
Sascha Hauer, Shawn Guo, Vinod Koul, dmaengine, linux-arm-kernel
The patch was suggested by the following modpost warning:
WARNING: modpost: vmlinux.o(.data+0xa3900): Section mismatch in reference from the variable mxs_dma_driver to the function .init.text:mxs_dma_probe()
The variable mxs_dma_driver references
the function __init mxs_dma_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Cc: stable@vger.kernel.org
---
(no changes since v1)
drivers/dma/mxs-dma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
index 18f8154b859b..a01953e06048 100644
--- a/drivers/dma/mxs-dma.c
+++ b/drivers/dma/mxs-dma.c
@@ -834,7 +834,7 @@ static int __init mxs_dma_probe(struct platform_device *pdev)
return 0;
}
-static struct platform_driver mxs_dma_driver = {
+static struct platform_driver mxs_dma_driver __initdata = {
.driver = {
.name = "mxs-dma",
.of_match_table = mxs_dma_dt_ids,
--
2.32.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register
2022-07-12 16:09 [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register Dario Binacchi
2022-07-12 16:09 ` [PATCH v5 2/2] dmaengine: mxs: fix section mismatch Dario Binacchi
@ 2022-07-13 8:40 ` Marco Felsch
2022-07-13 8:48 ` Dario Binacchi
1 sibling, 1 reply; 5+ messages in thread
From: Marco Felsch @ 2022-07-13 8:40 UTC (permalink / raw)
To: Dario Binacchi
Cc: linux-kernel, Michael Trimarchi, linux-amarula, Sascha Hauer,
stable, Vinod Koul, NXP Linux Team, Pengutronix Kernel Team,
dmaengine, Shawn Guo, Fabio Estevam, linux-arm-kernel
Hi Dario,
On 22-07-12, Dario Binacchi wrote:
> Driver registration fails on SOC imx8mn as its supplier, the clock
> control module, is probed later than subsys initcall level. This driver
> uses platform_driver_probe which is not compatible with deferred probing
> and won't be probed again later if probe function fails due to clock not
> being available at that time.
>
> This patch replaces the use of platform_driver_probe with
> platform_driver_register which will allow probing the driver later again
> when the clock control module will be available.
>
> Fixes: a580b8c5429a ("dmaengine: mxs-dma: add dma support for i.MX23/28")
> Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> Cc: stable@vger.kernel.org
>
> ---
>
> Changes in v5:
> - Update the commit message.
> - Create a new patch to remove the warning generated by this patch.
Please squash this new patch into this patch since you introduce the
warning with this patch.
Regards,
Marco
> Changes in v4:
> - Restore __init in front of mxs_dma_probe() definition.
> - Rename the mxs_dma_driver variable to mxs_dma_driver_probe.
> - Update the commit message.
> - Use builtin_platform_driver() instead of module_platform_driver().
>
> Changes in v3:
> - Restore __init in front of mxs_dma_init() definition.
>
> Changes in v2:
> - Add the tag "Cc: stable@vger.kernel.org" in the sign-off area.
>
> drivers/dma/mxs-dma.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
> index 994fc4d2aca4..18f8154b859b 100644
> --- a/drivers/dma/mxs-dma.c
> +++ b/drivers/dma/mxs-dma.c
> @@ -839,10 +839,6 @@ static struct platform_driver mxs_dma_driver = {
> .name = "mxs-dma",
> .of_match_table = mxs_dma_dt_ids,
> },
> + .probe = mxs_dma_probe,
> };
> -
> -static int __init mxs_dma_module_init(void)
> -{
> - return platform_driver_probe(&mxs_dma_driver, mxs_dma_probe);
> -}
> -subsys_initcall(mxs_dma_module_init);
> +builtin_platform_driver(mxs_dma_driver);
> --
> 2.32.0
>
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register
2022-07-13 8:40 ` [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register Marco Felsch
@ 2022-07-13 8:48 ` Dario Binacchi
2022-07-13 8:55 ` Marco Felsch
0 siblings, 1 reply; 5+ messages in thread
From: Dario Binacchi @ 2022-07-13 8:48 UTC (permalink / raw)
To: Marco Felsch
Cc: linux-kernel, Michael Trimarchi, linux-amarula, Sascha Hauer,
stable, Vinod Koul, NXP Linux Team, Pengutronix Kernel Team,
dmaengine, Shawn Guo, Fabio Estevam, linux-arm-kernel
Hi Marco,
On Wed, Jul 13, 2022 at 10:40 AM Marco Felsch <m.felsch@pengutronix.de> wrote:
>
> Hi Dario,
>
> On 22-07-12, Dario Binacchi wrote:
> > Driver registration fails on SOC imx8mn as its supplier, the clock
> > control module, is probed later than subsys initcall level. This driver
> > uses platform_driver_probe which is not compatible with deferred probing
> > and won't be probed again later if probe function fails due to clock not
> > being available at that time.
> >
> > This patch replaces the use of platform_driver_probe with
> > platform_driver_register which will allow probing the driver later again
> > when the clock control module will be available.
> >
> > Fixes: a580b8c5429a ("dmaengine: mxs-dma: add dma support for i.MX23/28")
> > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
> > Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > Cc: stable@vger.kernel.org
> >
> > ---
> >
> > Changes in v5:
> > - Update the commit message.
> > - Create a new patch to remove the warning generated by this patch.
>
> Please squash this new patch into this patch since you introduce the
> warning with this patch.
In version 4 I had only one patch, but Vinod told me to separate the
patches like
this. I also think like you, but I did what Vinod asked me to do.
So, can you agree and actually tell me what to do?
Thanks and regards,
Dario
>
> Regards,
> Marco
>
> > Changes in v4:
> > - Restore __init in front of mxs_dma_probe() definition.
> > - Rename the mxs_dma_driver variable to mxs_dma_driver_probe.
> > - Update the commit message.
> > - Use builtin_platform_driver() instead of module_platform_driver().
> >
> > Changes in v3:
> > - Restore __init in front of mxs_dma_init() definition.
> >
> > Changes in v2:
> > - Add the tag "Cc: stable@vger.kernel.org" in the sign-off area.
> >
> > drivers/dma/mxs-dma.c | 8 ++------
> > 1 file changed, 2 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
> > index 994fc4d2aca4..18f8154b859b 100644
> > --- a/drivers/dma/mxs-dma.c
> > +++ b/drivers/dma/mxs-dma.c
> > @@ -839,10 +839,6 @@ static struct platform_driver mxs_dma_driver = {
> > .name = "mxs-dma",
> > .of_match_table = mxs_dma_dt_ids,
> > },
> > + .probe = mxs_dma_probe,
> > };
> > -
> > -static int __init mxs_dma_module_init(void)
> > -{
> > - return platform_driver_probe(&mxs_dma_driver, mxs_dma_probe);
> > -}
> > -subsys_initcall(mxs_dma_module_init);
> > +builtin_platform_driver(mxs_dma_driver);
> > --
> > 2.32.0
> >
> >
> >
--
Dario Binacchi
Embedded Linux Developer
dario.binacchi@amarulasolutions.com
__________________________________
Amarula Solutions SRL
Via Le Canevare 30, 31100 Treviso, Veneto, IT
T. +39 042 243 5310
info@amarulasolutions.com
www.amarulasolutions.com
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register
2022-07-13 8:48 ` Dario Binacchi
@ 2022-07-13 8:55 ` Marco Felsch
0 siblings, 0 replies; 5+ messages in thread
From: Marco Felsch @ 2022-07-13 8:55 UTC (permalink / raw)
To: Dario Binacchi
Cc: linux-kernel, Michael Trimarchi, linux-amarula, Sascha Hauer,
stable, Vinod Koul, NXP Linux Team, Pengutronix Kernel Team,
dmaengine, Shawn Guo, Fabio Estevam, linux-arm-kernel
On 22-07-13, Dario Binacchi wrote:
> Hi Marco,
>
> On Wed, Jul 13, 2022 at 10:40 AM Marco Felsch <m.felsch@pengutronix.de> wrote:
> >
> > Hi Dario,
> >
> > On 22-07-12, Dario Binacchi wrote:
> > > Driver registration fails on SOC imx8mn as its supplier, the clock
> > > control module, is probed later than subsys initcall level. This driver
> > > uses platform_driver_probe which is not compatible with deferred probing
> > > and won't be probed again later if probe function fails due to clock not
> > > being available at that time.
> > >
> > > This patch replaces the use of platform_driver_probe with
> > > platform_driver_register which will allow probing the driver later again
> > > when the clock control module will be available.
> > >
> > > Fixes: a580b8c5429a ("dmaengine: mxs-dma: add dma support for i.MX23/28")
> > > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
> > > Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> > > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > > Cc: stable@vger.kernel.org
> > >
> > > ---
> > >
> > > Changes in v5:
> > > - Update the commit message.
> > > - Create a new patch to remove the warning generated by this patch.
> >
> > Please squash this new patch into this patch since you introduce the
> > warning with this patch.
>
> In version 4 I had only one patch, but Vinod told me to separate the
> patches like
> this. I also think like you, but I did what Vinod asked me to do.
> So, can you agree and actually tell me what to do?
Sorry, I didn't wanted to step in here just saw the patch and it is a
bit strange to fix something by a 2nd patch we introduce by the 1st
patch within the same series. This also increase the probability that
the 2nd patch isn't ported to stable. Anyway, if Vinod is fine with this
as maintainer than it is fine.
Regards,
Marco
> Thanks and regards,
> Dario
>
> >
> > Regards,
> > Marco
> >
> > > Changes in v4:
> > > - Restore __init in front of mxs_dma_probe() definition.
> > > - Rename the mxs_dma_driver variable to mxs_dma_driver_probe.
> > > - Update the commit message.
> > > - Use builtin_platform_driver() instead of module_platform_driver().
> > >
> > > Changes in v3:
> > > - Restore __init in front of mxs_dma_init() definition.
> > >
> > > Changes in v2:
> > > - Add the tag "Cc: stable@vger.kernel.org" in the sign-off area.
> > >
> > > drivers/dma/mxs-dma.c | 8 ++------
> > > 1 file changed, 2 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
> > > index 994fc4d2aca4..18f8154b859b 100644
> > > --- a/drivers/dma/mxs-dma.c
> > > +++ b/drivers/dma/mxs-dma.c
> > > @@ -839,10 +839,6 @@ static struct platform_driver mxs_dma_driver = {
> > > .name = "mxs-dma",
> > > .of_match_table = mxs_dma_dt_ids,
> > > },
> > > + .probe = mxs_dma_probe,
> > > };
> > > -
> > > -static int __init mxs_dma_module_init(void)
> > > -{
> > > - return platform_driver_probe(&mxs_dma_driver, mxs_dma_probe);
> > > -}
> > > -subsys_initcall(mxs_dma_module_init);
> > > +builtin_platform_driver(mxs_dma_driver);
> > > --
> > > 2.32.0
> > >
> > >
> > >
>
>
>
> --
>
> Dario Binacchi
>
> Embedded Linux Developer
>
> dario.binacchi@amarulasolutions.com
>
> __________________________________
>
>
> Amarula Solutions SRL
>
> Via Le Canevare 30, 31100 Treviso, Veneto, IT
>
> T. +39 042 243 5310
> info@amarulasolutions.com
>
> www.amarulasolutions.com
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-07-13 8:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-12 16:09 [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register Dario Binacchi
2022-07-12 16:09 ` [PATCH v5 2/2] dmaengine: mxs: fix section mismatch Dario Binacchi
2022-07-13 8:40 ` [PATCH v5 1/2] dmaengine: mxs: use platform_driver_register Marco Felsch
2022-07-13 8:48 ` Dario Binacchi
2022-07-13 8:55 ` Marco Felsch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).