Message ID | 20250111-b4-syscon-phandle-args-remoteproc-v1-3-73ed6fafa1e3@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | remoteproc: Simplify few things: omap, keystone, st | expand |
On 1/11/25 19:42, Krzysztof Kozlowski wrote: > Use dev_err_probe() to make error code handling simpler and handle > deferred probe. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > drivers/remoteproc/st_remoteproc.c | 44 +++++++++++++++++--------------------- > 1 file changed, 20 insertions(+), 24 deletions(-) > > diff --git a/drivers/remoteproc/st_remoteproc.c b/drivers/remoteproc/st_remoteproc.c > index 5df99bae7131a832c0c03c9bf8619812d9eb570d..d1f35e8a83ba525613ed4e54d2269b7e9f427e46 100644 > --- a/drivers/remoteproc/st_remoteproc.c > +++ b/drivers/remoteproc/st_remoteproc.c > @@ -290,26 +290,23 @@ static int st_rproc_parse_dt(struct platform_device *pdev) > if (ddata->config->sw_reset) { > ddata->sw_reset = devm_reset_control_get_exclusive(dev, > "sw_reset"); > - if (IS_ERR(ddata->sw_reset)) { > - dev_err(dev, "Failed to get S/W Reset\n"); > - return PTR_ERR(ddata->sw_reset); > - } > + if (IS_ERR(ddata->sw_reset)) > + return dev_err_probe(dev, PTR_ERR(ddata->sw_reset), > + "Failed to get S/W Reset\n"); > } > > if (ddata->config->pwr_reset) { > ddata->pwr_reset = devm_reset_control_get_exclusive(dev, > "pwr_reset"); > - if (IS_ERR(ddata->pwr_reset)) { > - dev_err(dev, "Failed to get Power Reset\n"); > - return PTR_ERR(ddata->pwr_reset); > - } > + if (IS_ERR(ddata->pwr_reset)) > + return dev_err_probe(dev, PTR_ERR(ddata->pwr_reset), > + "Failed to get Power Reset\n"); > } > > ddata->clk = devm_clk_get(dev, NULL); > - if (IS_ERR(ddata->clk)) { > - dev_err(dev, "Failed to get clock\n"); > - return PTR_ERR(ddata->clk); > - } > + if (IS_ERR(ddata->clk)) > + return dev_err_probe(dev, PTR_ERR(ddata->clk), > + "Failed to get clock\n"); > > err = of_property_read_u32(np, "clock-frequency", &ddata->clk_rate); > if (err) { > @@ -318,10 +315,9 @@ static int st_rproc_parse_dt(struct platform_device *pdev) > } > > ddata->boot_base = syscon_regmap_lookup_by_phandle(np, "st,syscfg"); > - if (IS_ERR(ddata->boot_base)) { > - dev_err(dev, "Boot base not found\n"); > - return PTR_ERR(ddata->boot_base); > - } > + if (IS_ERR(ddata->boot_base)) > + return dev_err_probe(dev, PTR_ERR(ddata->boot_base), > + "Boot base not found\n"); > > err = of_property_read_u32_index(np, "st,syscfg", 1, > &ddata->boot_offset); > @@ -395,32 +391,32 @@ static int st_rproc_probe(struct platform_device *pdev) > */ > chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_rx"); > if (IS_ERR(chan)) { > - dev_err(&rproc->dev, "failed to request mbox chan 0\n"); > - ret = PTR_ERR(chan); > + ret = dev_err_probe(&rproc->dev, PTR_ERR(chan), > + "failed to request mbox chan 0\n"); > goto free_clk; > } > ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_RX] = chan; > > chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_tx"); > if (IS_ERR(chan)) { > - dev_err(&rproc->dev, "failed to request mbox chan 0\n"); > - ret = PTR_ERR(chan); > + ret = dev_err_probe(&rproc->dev, PTR_ERR(chan), > + "failed to request mbox chan 0\n"); > goto free_mbox; > } > ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_TX] = chan; > > chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_rx"); > if (IS_ERR(chan)) { > - dev_err(&rproc->dev, "failed to request mbox chan 1\n"); > - ret = PTR_ERR(chan); > + ret = dev_err_probe(&rproc->dev, PTR_ERR(chan), > + "failed to request mbox chan 1\n"); > goto free_mbox; > } > ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_RX] = chan; > > chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_tx"); > if (IS_ERR(chan)) { > - dev_err(&rproc->dev, "failed to request mbox chan 1\n"); > - ret = PTR_ERR(chan); > + ret = dev_err_probe(&rproc->dev, PTR_ERR(chan), > + "failed to request mbox chan 1\n"); > goto free_mbox; > } > ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_TX] = chan; > Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Thanks Patrice
diff --git a/drivers/remoteproc/st_remoteproc.c b/drivers/remoteproc/st_remoteproc.c index 5df99bae7131a832c0c03c9bf8619812d9eb570d..d1f35e8a83ba525613ed4e54d2269b7e9f427e46 100644 --- a/drivers/remoteproc/st_remoteproc.c +++ b/drivers/remoteproc/st_remoteproc.c @@ -290,26 +290,23 @@ static int st_rproc_parse_dt(struct platform_device *pdev) if (ddata->config->sw_reset) { ddata->sw_reset = devm_reset_control_get_exclusive(dev, "sw_reset"); - if (IS_ERR(ddata->sw_reset)) { - dev_err(dev, "Failed to get S/W Reset\n"); - return PTR_ERR(ddata->sw_reset); - } + if (IS_ERR(ddata->sw_reset)) + return dev_err_probe(dev, PTR_ERR(ddata->sw_reset), + "Failed to get S/W Reset\n"); } if (ddata->config->pwr_reset) { ddata->pwr_reset = devm_reset_control_get_exclusive(dev, "pwr_reset"); - if (IS_ERR(ddata->pwr_reset)) { - dev_err(dev, "Failed to get Power Reset\n"); - return PTR_ERR(ddata->pwr_reset); - } + if (IS_ERR(ddata->pwr_reset)) + return dev_err_probe(dev, PTR_ERR(ddata->pwr_reset), + "Failed to get Power Reset\n"); } ddata->clk = devm_clk_get(dev, NULL); - if (IS_ERR(ddata->clk)) { - dev_err(dev, "Failed to get clock\n"); - return PTR_ERR(ddata->clk); - } + if (IS_ERR(ddata->clk)) + return dev_err_probe(dev, PTR_ERR(ddata->clk), + "Failed to get clock\n"); err = of_property_read_u32(np, "clock-frequency", &ddata->clk_rate); if (err) { @@ -318,10 +315,9 @@ static int st_rproc_parse_dt(struct platform_device *pdev) } ddata->boot_base = syscon_regmap_lookup_by_phandle(np, "st,syscfg"); - if (IS_ERR(ddata->boot_base)) { - dev_err(dev, "Boot base not found\n"); - return PTR_ERR(ddata->boot_base); - } + if (IS_ERR(ddata->boot_base)) + return dev_err_probe(dev, PTR_ERR(ddata->boot_base), + "Boot base not found\n"); err = of_property_read_u32_index(np, "st,syscfg", 1, &ddata->boot_offset); @@ -395,32 +391,32 @@ static int st_rproc_probe(struct platform_device *pdev) */ chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_rx"); if (IS_ERR(chan)) { - dev_err(&rproc->dev, "failed to request mbox chan 0\n"); - ret = PTR_ERR(chan); + ret = dev_err_probe(&rproc->dev, PTR_ERR(chan), + "failed to request mbox chan 0\n"); goto free_clk; } ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_RX] = chan; chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_tx"); if (IS_ERR(chan)) { - dev_err(&rproc->dev, "failed to request mbox chan 0\n"); - ret = PTR_ERR(chan); + ret = dev_err_probe(&rproc->dev, PTR_ERR(chan), + "failed to request mbox chan 0\n"); goto free_mbox; } ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_TX] = chan; chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_rx"); if (IS_ERR(chan)) { - dev_err(&rproc->dev, "failed to request mbox chan 1\n"); - ret = PTR_ERR(chan); + ret = dev_err_probe(&rproc->dev, PTR_ERR(chan), + "failed to request mbox chan 1\n"); goto free_mbox; } ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_RX] = chan; chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_tx"); if (IS_ERR(chan)) { - dev_err(&rproc->dev, "failed to request mbox chan 1\n"); - ret = PTR_ERR(chan); + ret = dev_err_probe(&rproc->dev, PTR_ERR(chan), + "failed to request mbox chan 1\n"); goto free_mbox; } ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_TX] = chan;
Use dev_err_probe() to make error code handling simpler and handle deferred probe. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- drivers/remoteproc/st_remoteproc.c | 44 +++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 24 deletions(-)