* [PATCH v3 0/3] staging: most: dim2: clean up error handling in fsl_mx6_enable
@ 2026-02-24 18:07 Artem Lytkin
2026-02-24 18:07 ` [PATCH v3 1/3] staging: most: dim2: replace IS_ERR_OR_NULL with IS_ERR for devm_clk_get Artem Lytkin
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Artem Lytkin @ 2026-02-24 18:07 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: linux-staging, linux-kernel, Artem Lytkin
This series cleans up error handling in fsl_mx6_enable(), split into
separate logical changes per Dan Carpenter's review of v1.
Patch 1 replaces IS_ERR_OR_NULL() with IS_ERR() since devm_clk_get()
never returns NULL.
Patch 2 replaces dev_err() + hardcoded -EFAULT with dev_err_probe()
and PTR_ERR() to propagate correct error codes and handle probe
deferral properly.
Patch 3 removes unnecessary string indirection in dev_err() calls
("%s\n", "message" -> "message\n").
Changes since v2:
- No code changes, resending as new thread to resolve duplicate
v2 submissions (sorry for the noise)
Changes since v1:
- Split combined patch into 3 separate patches (one change per patch)
- Extended string indirection fix to all three enable functions
Artem Lytkin (3):
staging: most: dim2: replace IS_ERR_OR_NULL with IS_ERR for
devm_clk_get
staging: most: dim2: use dev_err_probe and proper error codes for
clock
staging: most: dim2: remove unnecessary string indirection in dev_err
drivers/staging/most/dim2/dim2.c | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v3 1/3] staging: most: dim2: replace IS_ERR_OR_NULL with IS_ERR for devm_clk_get
2026-02-24 18:07 [PATCH v3 0/3] staging: most: dim2: clean up error handling in fsl_mx6_enable Artem Lytkin
@ 2026-02-24 18:07 ` Artem Lytkin
2026-02-24 18:07 ` [PATCH v3 2/3] staging: most: dim2: use dev_err_probe and proper error codes for clock Artem Lytkin
2026-02-24 18:07 ` [PATCH v3 3/3] staging: most: dim2: remove unnecessary string indirection in dev_err Artem Lytkin
2 siblings, 0 replies; 4+ messages in thread
From: Artem Lytkin @ 2026-02-24 18:07 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: linux-staging, linux-kernel, Artem Lytkin
devm_clk_get() never returns NULL, so IS_ERR_OR_NULL() checks are
unnecessary. Replace them with IS_ERR() for both the "mlb" and
"pll8_mlb" clock lookups in fsl_mx6_enable().
Signed-off-by: Artem Lytkin <iprintercanon@gmail.com>
---
drivers/staging/most/dim2/dim2.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c
index 92c7a7d8fe7e..cea1ba99caf7 100644
--- a/drivers/staging/most/dim2/dim2.c
+++ b/drivers/staging/most/dim2/dim2.c
@@ -921,7 +921,7 @@ static int fsl_mx6_enable(struct platform_device *pdev)
int ret;
dev->clk = devm_clk_get(&pdev->dev, "mlb");
- if (IS_ERR_OR_NULL(dev->clk)) {
+ if (IS_ERR(dev->clk)) {
dev_err(&pdev->dev, "unable to get mlb clock\n");
return -EFAULT;
}
@@ -935,7 +935,7 @@ static int fsl_mx6_enable(struct platform_device *pdev)
if (dev->clk_speed >= CLK_2048FS) {
/* enable pll */
dev->clk_pll = devm_clk_get(&pdev->dev, "pll8_mlb");
- if (IS_ERR_OR_NULL(dev->clk_pll)) {
+ if (IS_ERR(dev->clk_pll)) {
dev_err(&pdev->dev, "unable to get mlb pll clock\n");
clk_disable_unprepare(dev->clk);
return -EFAULT;
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v3 2/3] staging: most: dim2: use dev_err_probe and proper error codes for clock
2026-02-24 18:07 [PATCH v3 0/3] staging: most: dim2: clean up error handling in fsl_mx6_enable Artem Lytkin
2026-02-24 18:07 ` [PATCH v3 1/3] staging: most: dim2: replace IS_ERR_OR_NULL with IS_ERR for devm_clk_get Artem Lytkin
@ 2026-02-24 18:07 ` Artem Lytkin
2026-02-24 18:07 ` [PATCH v3 3/3] staging: most: dim2: remove unnecessary string indirection in dev_err Artem Lytkin
2 siblings, 0 replies; 4+ messages in thread
From: Artem Lytkin @ 2026-02-24 18:07 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: linux-staging, linux-kernel, Artem Lytkin
Replace hardcoded -EFAULT returns with dev_err_probe() and PTR_ERR()
when devm_clk_get() fails in fsl_mx6_enable(). This ensures the
correct error code is propagated (e.g. -EPROBE_DEFER for deferred
probing) and avoids log noise during probe deferral.
Signed-off-by: Artem Lytkin <iprintercanon@gmail.com>
---
drivers/staging/most/dim2/dim2.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c
index cea1ba99caf7..e4c8b4995c61 100644
--- a/drivers/staging/most/dim2/dim2.c
+++ b/drivers/staging/most/dim2/dim2.c
@@ -921,10 +921,9 @@ static int fsl_mx6_enable(struct platform_device *pdev)
int ret;
dev->clk = devm_clk_get(&pdev->dev, "mlb");
- if (IS_ERR(dev->clk)) {
- dev_err(&pdev->dev, "unable to get mlb clock\n");
- return -EFAULT;
- }
+ if (IS_ERR(dev->clk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(dev->clk),
+ "unable to get mlb clock\n");
ret = clk_prepare_enable(dev->clk);
if (ret) {
@@ -936,9 +935,9 @@ static int fsl_mx6_enable(struct platform_device *pdev)
/* enable pll */
dev->clk_pll = devm_clk_get(&pdev->dev, "pll8_mlb");
if (IS_ERR(dev->clk_pll)) {
- dev_err(&pdev->dev, "unable to get mlb pll clock\n");
clk_disable_unprepare(dev->clk);
- return -EFAULT;
+ return dev_err_probe(&pdev->dev, PTR_ERR(dev->clk_pll),
+ "unable to get mlb pll clock\n");
}
writel(0x888, dev->io_base + 0x38);
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v3 3/3] staging: most: dim2: remove unnecessary string indirection in dev_err
2026-02-24 18:07 [PATCH v3 0/3] staging: most: dim2: clean up error handling in fsl_mx6_enable Artem Lytkin
2026-02-24 18:07 ` [PATCH v3 1/3] staging: most: dim2: replace IS_ERR_OR_NULL with IS_ERR for devm_clk_get Artem Lytkin
2026-02-24 18:07 ` [PATCH v3 2/3] staging: most: dim2: use dev_err_probe and proper error codes for clock Artem Lytkin
@ 2026-02-24 18:07 ` Artem Lytkin
2 siblings, 0 replies; 4+ messages in thread
From: Artem Lytkin @ 2026-02-24 18:07 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: linux-staging, linux-kernel, Artem Lytkin
Replace dev_err(&pdev->dev, "%s\n", "clk_prepare_enable failed") with
the direct format string dev_err(&pdev->dev, "clk_prepare_enable
failed\n"). The extra level of indirection through %s is unnecessary.
Signed-off-by: Artem Lytkin <iprintercanon@gmail.com>
---
drivers/staging/most/dim2/dim2.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c
index e4c8b4995c61..66617e89e028 100644
--- a/drivers/staging/most/dim2/dim2.c
+++ b/drivers/staging/most/dim2/dim2.c
@@ -927,7 +927,7 @@ static int fsl_mx6_enable(struct platform_device *pdev)
ret = clk_prepare_enable(dev->clk);
if (ret) {
- dev_err(&pdev->dev, "%s\n", "clk_prepare_enable failed");
+ dev_err(&pdev->dev, "clk_prepare_enable failed\n");
return ret;
}
@@ -975,7 +975,7 @@ static int rcar_gen2_enable(struct platform_device *pdev)
ret = clk_prepare_enable(dev->clk);
if (ret) {
- dev_err(&pdev->dev, "%s\n", "clk_prepare_enable failed");
+ dev_err(&pdev->dev, "clk_prepare_enable failed\n");
return ret;
}
@@ -1020,7 +1020,7 @@ static int rcar_gen3_enable(struct platform_device *pdev)
ret = clk_prepare_enable(dev->clk);
if (ret) {
- dev_err(&pdev->dev, "%s\n", "clk_prepare_enable failed");
+ dev_err(&pdev->dev, "clk_prepare_enable failed\n");
return ret;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-02-24 18:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-24 18:07 [PATCH v3 0/3] staging: most: dim2: clean up error handling in fsl_mx6_enable Artem Lytkin
2026-02-24 18:07 ` [PATCH v3 1/3] staging: most: dim2: replace IS_ERR_OR_NULL with IS_ERR for devm_clk_get Artem Lytkin
2026-02-24 18:07 ` [PATCH v3 2/3] staging: most: dim2: use dev_err_probe and proper error codes for clock Artem Lytkin
2026-02-24 18:07 ` [PATCH v3 3/3] staging: most: dim2: remove unnecessary string indirection in dev_err Artem Lytkin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox