From: Vinod Koul <vkoul@kernel.org>
To: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
Cc: Dario Binacchi <dario.binacchi@amarulasolutions.com>,
linux-kernel@vger.kernel.org,
Amarula patchwork <linux-amarula@amarulasolutions.com>,
stable@vger.kernel.org, Fabio Estevam <festevam@gmail.com>,
NXP Linux Team <linux-imx@nxp.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Sascha Hauer <s.hauer@pengutronix.de>,
Shawn Guo <shawnguo@kernel.org>,
dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [RESEND PATCH v2] dmaengine: mxs: fix driver registering
Date: Fri, 10 Jun 2022 19:18:10 +0530 [thread overview]
Message-ID: <YqNLmixdb3fv7Cgs@matsya> (raw)
In-Reply-To: <CAOf5uw=8j1F3tLE9fLAjFGhVt4WXsU7GJdCkEhPtAAxvzM2fyg@mail.gmail.com>
On 09-06-22, 08:18, Michael Nazzareno Trimarchi wrote:
> Hi Vinod
>
> On Thu, Jun 9, 2022 at 8:07 AM Vinod Koul <vkoul@kernel.org> wrote:
> >
> > On 09-06-22, 08:01, Michael Nazzareno Trimarchi wrote:
> > > Hi
> > >
> > > On Thu, Jun 9, 2022 at 7:48 AM Vinod Koul <vkoul@kernel.org> wrote:
> > > >
> > > > On 07-06-22, 11:58, Dario Binacchi wrote:
> > > > > Driver registration fails on SOC imx8mn as its supplier, the clock
> > > > > control module, is not ready. Since platform_driver_probe(), as
> > > > > reported by its description, is incompatible with deferred probing,
> > > > > we have to use platform_driver_register().
> > > > >
> > > > > 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 v2:
> > > > > - Add the tag "Cc: stable@vger.kernel.org" in the sign-off area.
> > > > >
> > > > > drivers/dma/mxs-dma.c | 11 ++++-------
> > > > > 1 file changed, 4 insertions(+), 7 deletions(-)
> > > > >
> > > > > diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
> > > > > index 994fc4d2aca4..b8a3e692330d 100644
> > > > > --- a/drivers/dma/mxs-dma.c
> > > > > +++ b/drivers/dma/mxs-dma.c
> > > > > @@ -670,7 +670,7 @@ static enum dma_status mxs_dma_tx_status(struct dma_chan *chan,
> > > > > return mxs_chan->status;
> > > > > }
> > > > >
> > > > > -static int __init mxs_dma_init(struct mxs_dma_engine *mxs_dma)
> > > > > +static int mxs_dma_init(struct mxs_dma_engine *mxs_dma)
> > > >
> > > > why drop __init for these...?
> > > >
> > >
> > > I think that you refer to the fact that it can not be compiled as a
> > > module, am I right?
> >
> > It is still declared as a module_platform_driver... From changelog I can
> > understand that you are changing init level from subsys to module (in
> > fact clocks should be moved up as arch level and dmaengine users as
> > module) ...
>
> The way the driver was using to register was:
> platform_driver_probe(&driver, driver_probe);
>
> The function try to register the driver, one time and if the
> dependences is not satisfied,
> then there will not a next try, so the driver initialized that way can
> not depends to anything
> apart himself, or all the dependencies should be ready at the time the
> driver_probe is called
There are two ways to solve this, you lowered the init level of this
driver but your consumers are going to have same issue...
>
> >
> > But why remove __init declaration from these? Whatever purpose that may
> > solve needs to be documented in changelog and perhaps a different patch
> >
>
> I was thinking that driver can be compiled as module as other driver
> but is bool and not tristate
Ok, but why drop __init()
--
~Vinod
WARNING: multiple messages have this Message-ID (diff)
From: Vinod Koul <vkoul@kernel.org>
To: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
Cc: Dario Binacchi <dario.binacchi@amarulasolutions.com>,
linux-kernel@vger.kernel.org,
Amarula patchwork <linux-amarula@amarulasolutions.com>,
stable@vger.kernel.org, Fabio Estevam <festevam@gmail.com>,
NXP Linux Team <linux-imx@nxp.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Sascha Hauer <s.hauer@pengutronix.de>,
Shawn Guo <shawnguo@kernel.org>,
dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [RESEND PATCH v2] dmaengine: mxs: fix driver registering
Date: Fri, 10 Jun 2022 19:18:10 +0530 [thread overview]
Message-ID: <YqNLmixdb3fv7Cgs@matsya> (raw)
In-Reply-To: <CAOf5uw=8j1F3tLE9fLAjFGhVt4WXsU7GJdCkEhPtAAxvzM2fyg@mail.gmail.com>
On 09-06-22, 08:18, Michael Nazzareno Trimarchi wrote:
> Hi Vinod
>
> On Thu, Jun 9, 2022 at 8:07 AM Vinod Koul <vkoul@kernel.org> wrote:
> >
> > On 09-06-22, 08:01, Michael Nazzareno Trimarchi wrote:
> > > Hi
> > >
> > > On Thu, Jun 9, 2022 at 7:48 AM Vinod Koul <vkoul@kernel.org> wrote:
> > > >
> > > > On 07-06-22, 11:58, Dario Binacchi wrote:
> > > > > Driver registration fails on SOC imx8mn as its supplier, the clock
> > > > > control module, is not ready. Since platform_driver_probe(), as
> > > > > reported by its description, is incompatible with deferred probing,
> > > > > we have to use platform_driver_register().
> > > > >
> > > > > 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 v2:
> > > > > - Add the tag "Cc: stable@vger.kernel.org" in the sign-off area.
> > > > >
> > > > > drivers/dma/mxs-dma.c | 11 ++++-------
> > > > > 1 file changed, 4 insertions(+), 7 deletions(-)
> > > > >
> > > > > diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
> > > > > index 994fc4d2aca4..b8a3e692330d 100644
> > > > > --- a/drivers/dma/mxs-dma.c
> > > > > +++ b/drivers/dma/mxs-dma.c
> > > > > @@ -670,7 +670,7 @@ static enum dma_status mxs_dma_tx_status(struct dma_chan *chan,
> > > > > return mxs_chan->status;
> > > > > }
> > > > >
> > > > > -static int __init mxs_dma_init(struct mxs_dma_engine *mxs_dma)
> > > > > +static int mxs_dma_init(struct mxs_dma_engine *mxs_dma)
> > > >
> > > > why drop __init for these...?
> > > >
> > >
> > > I think that you refer to the fact that it can not be compiled as a
> > > module, am I right?
> >
> > It is still declared as a module_platform_driver... From changelog I can
> > understand that you are changing init level from subsys to module (in
> > fact clocks should be moved up as arch level and dmaengine users as
> > module) ...
>
> The way the driver was using to register was:
> platform_driver_probe(&driver, driver_probe);
>
> The function try to register the driver, one time and if the
> dependences is not satisfied,
> then there will not a next try, so the driver initialized that way can
> not depends to anything
> apart himself, or all the dependencies should be ready at the time the
> driver_probe is called
There are two ways to solve this, you lowered the init level of this
driver but your consumers are going to have same issue...
>
> >
> > But why remove __init declaration from these? Whatever purpose that may
> > solve needs to be documented in changelog and perhaps a different patch
> >
>
> I was thinking that driver can be compiled as module as other driver
> but is bool and not tristate
Ok, but why drop __init()
--
~Vinod
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-06-10 13:48 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-07 9:58 [RESEND PATCH v2] dmaengine: mxs: fix driver registering Dario Binacchi
2022-06-07 9:58 ` Dario Binacchi
2022-06-09 5:48 ` Vinod Koul
2022-06-09 5:48 ` Vinod Koul
2022-06-09 6:01 ` Michael Nazzareno Trimarchi
2022-06-09 6:01 ` Michael Nazzareno Trimarchi
2022-06-09 6:07 ` Vinod Koul
2022-06-09 6:07 ` Vinod Koul
2022-06-09 6:18 ` Michael Nazzareno Trimarchi
2022-06-09 6:18 ` Michael Nazzareno Trimarchi
2022-06-10 13:48 ` Vinod Koul [this message]
2022-06-10 13:48 ` Vinod Koul
2022-06-10 14:44 ` Michael Nazzareno Trimarchi
2022-06-10 14:44 ` Michael Nazzareno Trimarchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YqNLmixdb3fv7Cgs@matsya \
--to=vkoul@kernel.org \
--cc=dario.binacchi@amarulasolutions.com \
--cc=dmaengine@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=kernel@pengutronix.de \
--cc=linux-amarula@amarulasolutions.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=michael@amarulasolutions.com \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.