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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0D1CAC4363A for ; Mon, 26 Oct 2020 13:02:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D25CC20773 for ; Mon, 26 Oct 2020 13:02:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1775999AbgJZNCu (ORCPT ); Mon, 26 Oct 2020 09:02:50 -0400 Received: from muru.com ([72.249.23.125]:46766 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1773755AbgJZNCt (ORCPT ); Mon, 26 Oct 2020 09:02:49 -0400 Received: from atomide.com (localhost [127.0.0.1]) by muru.com (Postfix) with ESMTPS id A69D980AA; Mon, 26 Oct 2020 13:02:50 +0000 (UTC) Date: Mon, 26 Oct 2020 15:02:38 +0200 From: Tony Lindgren To: Philipp Zabel Cc: linux-omap@vger.kernel.org, "Andrew F . Davis" , Dave Gerlach , Faiz Abbas , Greg Kroah-Hartman , Grygorii Strashko , Keerthy , Nishanth Menon , Peter Ujfalusi , Roger Quadros , Suman Anna , Tero Kristo , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-remoteproc@vger.kernel.org, Bjorn Andersson , Michael Turquette , Santosh Shilimkar , Stephen Boyd , linux-clk@vger.kernel.org Subject: Re: [PATCH 9/9] remoteproc/wkup_m3: Use reset control driver if available Message-ID: <20201026130238.GA5639@atomide.com> References: <20201026111049.54835-1-tony@atomide.com> <20201026111049.54835-10-tony@atomide.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: linux-clk@vger.kernel.org Hi, * Philipp Zabel [201026 11:35]: > On Mon, 2020-10-26 at 13:10 +0200, Tony Lindgren wrote: > > @@ -57,6 +60,9 @@ static int wkup_m3_rproc_start(struct rproc *rproc) > > struct device *dev = &pdev->dev; > > struct wkup_m3_platform_data *pdata = dev_get_platdata(dev); > > > > + if (wkupm3->rsts) > > No need for this check, reset_control_deassert() just returns 0 if the > rstc parameter is NULL. > > > + return reset_control_deassert(wkupm3->rsts); > > + > > if (pdata->deassert_reset(pdev, pdata->reset_name)) { > > dev_err(dev, "Unable to reset wkup_m3!\n"); > > return -ENODEV; > > @@ -72,6 +78,9 @@ static int wkup_m3_rproc_stop(struct rproc *rproc) > > struct device *dev = &pdev->dev; > > struct wkup_m3_platform_data *pdata = dev_get_platdata(dev); > > > > + if (wkupm3->rsts) > > Same as above. OK great. > > + return reset_control_assert(wkupm3->rsts); > > + > > if (pdata->assert_reset(pdev, pdata->reset_name)) { > > dev_err(dev, "Unable to assert reset of wkup_m3!\n"); > > return -ENODEV; > > @@ -132,12 +141,6 @@ static int wkup_m3_rproc_probe(struct platform_device *pdev) > > int ret; > > int i; > > > > - if (!(pdata && pdata->deassert_reset && pdata->assert_reset && > > - pdata->reset_name)) { > > - dev_err(dev, "Platform data missing!\n"); > > - return -ENODEV; > > - } > > - > > ret = of_property_read_string(dev->of_node, "ti,pm-firmware", > > &fw_name); > > if (ret) { > > @@ -165,6 +168,17 @@ static int wkup_m3_rproc_probe(struct platform_device *pdev) > > wkupm3->rproc = rproc; > > wkupm3->pdev = pdev; > > > > + wkupm3->rsts = devm_reset_control_get_optional_shared(dev, "rstctrl"); > > + if (PTR_ERR_OR_ZERO(wkupm3->rsts)) { > > Please properly return errors. rsts will be NULL if the optional rstctrl > reset is not specified: > > if (IS_ERR(wkump3->rsts)) > return PTR_ERR(wkump3->rsts); OK thanks will do. > if (!wkump3->rsts) { > > + if (!(pdata && pdata->deassert_reset && pdata->assert_reset && > > + pdata->reset_name)) { > > + dev_err(dev, "Platform data missing!\n"); > > + ret = -ENODEV; > > + goto err_put_rproc; > > + } > > + wkupm3->rsts = NULL; > > I assume this will later be dropped with the platform data support? Yes once also am437x has been updated to probe with dts data only we can drop the custom callbacks. Regards, Tony