lkml.org 
[lkml]   [2020]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 9/9] remoteproc/wkup_m3: Use reset control driver if available
Hi,

* Philipp Zabel <p.zabel@pengutronix.de> [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

\
 
 \ /
  Last update: 2020-10-26 14:03    [W:0.055 / U:0.936 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site