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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 55D59C433EF for ; Fri, 10 Jun 2022 13:49:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=xtayPMpAp+T7ZsOSSpfCP6Qjzzf31f+wl871Co3GMvU=; b=JWdnCLpEOtu5NW 41MditWyLzVjfStTHDAMBYw/4ZV0vFhYAgnakEVEatICqLuMVh17vnfzeSOdtM/WCgSsDWkliG6AX tNp8bwgsh+bTKLovNYVTCp03RQUFVayO31r0xqbPbq2EDvFwNzlVDkANhd6G4S+y7x71hxyysX+Zr SxKgXrYKEyozKQ9DNN72PhAPaacZTPWqJseB6OizjY2/XpQpXZzo9b3vRIorBhyoUw1DXt+KaeyZ2 cUONtoyULC1HepnSpPH55WjpLd0D8EiFkVXLR3bjsMsTnGp7ZqayGVpf4d/oysk6zKLgdtV2rIsRI GNPfDtD/FwfK/ZG3NCvg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nzezt-008QH9-0e; Fri, 10 Jun 2022 13:48:21 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nzezp-008QFR-27 for linux-arm-kernel@lists.infradead.org; Fri, 10 Jun 2022 13:48:18 +0000 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 dfw.source.kernel.org (Postfix) with ESMTPS id 6E0CA61B83; Fri, 10 Jun 2022 13:48:16 +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-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220610_064817_215157_D479F0E3 X-CRM114-Status: GOOD ( 35.77 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel