Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp7100884rwi; Mon, 24 Oct 2022 09:49:16 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4zMOcUbSSJcMzJkKBJHTx4FkpwSK8+Zkzl0EiueNIXGgBJB3TSBlGFeHJCT/2mXAPzHFRi X-Received: by 2002:aa7:de81:0:b0:461:2122:a807 with SMTP id j1-20020aa7de81000000b004612122a807mr20238821edv.382.1666630156674; Mon, 24 Oct 2022 09:49:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666630156; cv=none; d=google.com; s=arc-20160816; b=ZORerH5s4QGCgI/XshFmAqyCQgeSndHRWfF4IZfEQPWROR4++O7vdZUgz5wQs+/eZS msCDELwe1p7niKWOqlLGkzTZ7XbpqReu+1/ZdzAEDs7TUxboTofOVOFEe3mOlFRIynz0 BZl/17XLhvzjBQ/Q6enBkvLhAIcrSxj6VIxK6s90BkOSC63sx3J4w9QUUdf9i5Buh6sR gvZX7B1Aa8pa4o5G3S4sx+iMKkxSikKX88oC442AdtchsSB0iU4g0DM+xRiDGa37Lcl7 Q2eYlx1nEy/LI0BLOpNOhje8uUDvhb2Q19ErifuVX7lrN1lyx1pL/N9p9/lxtLPhqOBa Egiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=kXABIBFDsmyIZXBdT87jf+FURDwKlr8pTsQrKynsDIE=; b=w/4TT0EiyzAHcyHF1aU2Hhe/e4Z2hGpvkI70GFnevbmIlqOUVKo6TJcb+KG/oYQlDt ctYuLaEE1DDlAHRyo3Mq/CWSFcfsfQ5kaVwwJPHYk2X58xolhBpysuwGd3HEQPRsXiHp IT+Wmfxr0nejxFiKneF2CjBWI61pn0xUBvD0IiIpm05ZjS0b9smlxk06eXuezd0o7Eg2 JlHrLjxQrKmDW8XwjbHbHzaiMfpQWDWfFZoJazCZToDA6t7TZHOYXBSlaSbW7E7Yr5TD zjoHccMg6x4TYMfBL1c2dgtvT1SMym8uNRj6JeGCwnYfylL+9q1+R9js6HcCIfYSwJNQ 2I0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=gLPlKegL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u3-20020a170906b10300b0078d930212c0si194479ejy.347.2022.10.24.09.48.50; Mon, 24 Oct 2022 09:49:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=gLPlKegL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232696AbiJXQoq (ORCPT + 99 others); Mon, 24 Oct 2022 12:44:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34408 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234878AbiJXQoA (ORCPT ); Mon, 24 Oct 2022 12:44:00 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A33DB85586; Mon, 24 Oct 2022 08:30:20 -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 5EFB9B8172A; Mon, 24 Oct 2022 12:35:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ABA3BC433D6; Mon, 24 Oct 2022 12:35:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1666614915; bh=BX8VTQIPLJW77cNwpmkb/Yr53Pz0B1c4Ovk/HIEfias=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gLPlKegL6ash4IhBPMaRcvnV+I0S31SzGc7VXBCmRKAku6PAjNWJg3WEhCL+nW5/I z72gImGofreT8Apt5/zrImvQGftZESgofZ98sXh3goa71Eme5ULBtEv9gKSrwaWvjE DUV/PtC/1sSi8uqstiL58+c3aKHi/YNR64qqAmyE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Michael Trimarchi , Dario Binacchi , Sascha Hauer , Vinod Koul Subject: [PATCH 5.15 051/530] dmaengine: mxs: use platform_driver_register Date: Mon, 24 Oct 2022 13:26:35 +0200 Message-Id: <20221024113047.334265511@linuxfoundation.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221024113044.976326639@linuxfoundation.org> References: <20221024113044.976326639@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dario Binacchi commit 26696d4657167112a1079f86cba1739765c1360e upstream. 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. The __init annotation has been dropped because it is not compatible with deferred probing. The code is not executed once and its memory cannot be freed. 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 Acked-by: Sascha Hauer Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman Link: https://lore.kernel.org/r/20220921170556.1055962-1-dario.binacchi@amarulasolutions.com Signed-off-by: Vinod Koul --- drivers/dma/mxs-dma.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) --- a/drivers/dma/mxs-dma.c +++ b/drivers/dma/mxs-dma.c @@ -670,7 +670,7 @@ static enum dma_status mxs_dma_tx_status 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) { int ret; @@ -741,7 +741,7 @@ static struct dma_chan *mxs_dma_xlate(st ofdma->of_node); } -static int __init mxs_dma_probe(struct platform_device *pdev) +static int mxs_dma_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; const struct mxs_dma_type *dma_type; @@ -839,10 +839,7 @@ static struct platform_driver mxs_dma_dr .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);