From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D4ECBC43334 for ; Fri, 10 Jun 2022 13:48:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232387AbiFJNs0 (ORCPT ); Fri, 10 Jun 2022 09:48:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52702 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232901AbiFJNsW (ORCPT ); Fri, 10 Jun 2022 09:48:22 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B0F3522B35; Fri, 10 Jun 2022 06:48:18 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 582E3B83500; Fri, 10 Jun 2022 13:48:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C5F34C34114; Fri, 10 Jun 2022 13:48:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1654868895; bh=T+pPDaDcvZBdzFlfEgDE/742pWO4FIoVsNv9CScJ/4w=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=SANMuVrPIf1A4ysoL3oDttK/kvQYqkGdgddwxMRf4rzO3lJXrSHANVgrcLg3RfAnP znsT8L7iR7heDAfk1cl/HdupPnK1FGfRmpcZtw4ZFhnSDFh3z6W+p2EZyxaOfE8lb1 vrKs51/mWKp4SeuBjgSH8iToYiqM7xr4ai5Jz5ZJzHvmasxJZiP/KIo7vThuOvWb9t MJnX7DDIz7WxqWFnROwR4qKMYA2RAq4eqbQw/9zN2amRRW8/OMt0Tm3D5wciZ1Nh3A ATB8715JCHdYX9FjACZEew86eYDC1Bu7EOxddiVkHykIxaOiKdFOmFM09rn7SFRq1D ISvCHTEFFtkAA== Date: Fri, 10 Jun 2022 19:18:10 +0530 From: Vinod Koul To: Michael Nazzareno Trimarchi Cc: Dario Binacchi , linux-kernel@vger.kernel.org, Amarula patchwork , stable@vger.kernel.org, Fabio Estevam , NXP Linux Team , Pengutronix Kernel Team , Sascha Hauer , Shawn Guo , dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [RESEND PATCH v2] dmaengine: mxs: fix driver registering Message-ID: References: <20220607095829.1035903-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org On 09-06-22, 08:18, Michael Nazzareno Trimarchi wrote: > Hi Vinod > > On Thu, Jun 9, 2022 at 8:07 AM Vinod Koul wrote: > > > > On 09-06-22, 08:01, Michael Nazzareno Trimarchi wrote: > > > Hi > > > > > > On Thu, Jun 9, 2022 at 7:48 AM Vinod Koul 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 > > > > > Signed-off-by: Michael Trimarchi > > > > > Signed-off-by: Dario Binacchi > > > > > 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