Skip to content

Commit 266ce6e

Browse files
krzkmathieupoirier
authored andcommitted
remoteproc: st: Simplify with dev_err_probe
Use dev_err_probe() to make error code handling simpler and handle deferred probe. Signed-off-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Link: https://lore.kernel.org/r/20250111-b4-syscon-phandle-args-remoteproc-v1-3-73ed6fafa1e3@linaro.org Signed-off-by: Mathieu Poirier <[email protected]>
1 parent cf1d4fd commit 266ce6e

File tree

1 file changed

+20
-24
lines changed

1 file changed

+20
-24
lines changed

drivers/remoteproc/st_remoteproc.c

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -290,26 +290,23 @@ static int st_rproc_parse_dt(struct platform_device *pdev)
290290
if (ddata->config->sw_reset) {
291291
ddata->sw_reset = devm_reset_control_get_exclusive(dev,
292292
"sw_reset");
293-
if (IS_ERR(ddata->sw_reset)) {
294-
dev_err(dev, "Failed to get S/W Reset\n");
295-
return PTR_ERR(ddata->sw_reset);
296-
}
293+
if (IS_ERR(ddata->sw_reset))
294+
return dev_err_probe(dev, PTR_ERR(ddata->sw_reset),
295+
"Failed to get S/W Reset\n");
297296
}
298297

299298
if (ddata->config->pwr_reset) {
300299
ddata->pwr_reset = devm_reset_control_get_exclusive(dev,
301300
"pwr_reset");
302-
if (IS_ERR(ddata->pwr_reset)) {
303-
dev_err(dev, "Failed to get Power Reset\n");
304-
return PTR_ERR(ddata->pwr_reset);
305-
}
301+
if (IS_ERR(ddata->pwr_reset))
302+
return dev_err_probe(dev, PTR_ERR(ddata->pwr_reset),
303+
"Failed to get Power Reset\n");
306304
}
307305

308306
ddata->clk = devm_clk_get(dev, NULL);
309-
if (IS_ERR(ddata->clk)) {
310-
dev_err(dev, "Failed to get clock\n");
311-
return PTR_ERR(ddata->clk);
312-
}
307+
if (IS_ERR(ddata->clk))
308+
return dev_err_probe(dev, PTR_ERR(ddata->clk),
309+
"Failed to get clock\n");
313310

314311
err = of_property_read_u32(np, "clock-frequency", &ddata->clk_rate);
315312
if (err) {
@@ -318,10 +315,9 @@ static int st_rproc_parse_dt(struct platform_device *pdev)
318315
}
319316

320317
ddata->boot_base = syscon_regmap_lookup_by_phandle(np, "st,syscfg");
321-
if (IS_ERR(ddata->boot_base)) {
322-
dev_err(dev, "Boot base not found\n");
323-
return PTR_ERR(ddata->boot_base);
324-
}
318+
if (IS_ERR(ddata->boot_base))
319+
return dev_err_probe(dev, PTR_ERR(ddata->boot_base),
320+
"Boot base not found\n");
325321

326322
err = of_property_read_u32_index(np, "st,syscfg", 1,
327323
&ddata->boot_offset);
@@ -395,32 +391,32 @@ static int st_rproc_probe(struct platform_device *pdev)
395391
*/
396392
chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_rx");
397393
if (IS_ERR(chan)) {
398-
dev_err(&rproc->dev, "failed to request mbox chan 0\n");
399-
ret = PTR_ERR(chan);
394+
ret = dev_err_probe(&rproc->dev, PTR_ERR(chan),
395+
"failed to request mbox chan 0\n");
400396
goto free_clk;
401397
}
402398
ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_RX] = chan;
403399

404400
chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_tx");
405401
if (IS_ERR(chan)) {
406-
dev_err(&rproc->dev, "failed to request mbox chan 0\n");
407-
ret = PTR_ERR(chan);
402+
ret = dev_err_probe(&rproc->dev, PTR_ERR(chan),
403+
"failed to request mbox chan 0\n");
408404
goto free_mbox;
409405
}
410406
ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_TX] = chan;
411407

412408
chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_rx");
413409
if (IS_ERR(chan)) {
414-
dev_err(&rproc->dev, "failed to request mbox chan 1\n");
415-
ret = PTR_ERR(chan);
410+
ret = dev_err_probe(&rproc->dev, PTR_ERR(chan),
411+
"failed to request mbox chan 1\n");
416412
goto free_mbox;
417413
}
418414
ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_RX] = chan;
419415

420416
chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_tx");
421417
if (IS_ERR(chan)) {
422-
dev_err(&rproc->dev, "failed to request mbox chan 1\n");
423-
ret = PTR_ERR(chan);
418+
ret = dev_err_probe(&rproc->dev, PTR_ERR(chan),
419+
"failed to request mbox chan 1\n");
424420
goto free_mbox;
425421
}
426422
ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_TX] = chan;

0 commit comments

Comments
 (0)