Message ID | 20220214140339.112500-3-angelogioacchino.delregno@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/3] pwm: pwm-mediatek: Simplify error handling with dev_err_probe() | expand |
On Tue, Feb 15, 2022 at 02:47:33PM +0800, Macpaul Lin wrote: > On 2/14/22 10:03 PM, AngeloGioacchino Del Regno wrote: > > As a cherry-on-top cleanup, make error messages clearer to read > > by changing instances of "clock: XXXX failed" to a more readable > > "Failed to get XXXX clock". Also add "of" to unsupported period > > error. > > > > This is purely a cosmetic change; no "real" functional changes. > > > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > > --- > > drivers/pwm/pwm-mediatek.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/pwm/pwm-mediatek.c b/drivers/pwm/pwm-mediatek.c > > index 6b39f3d69e41..568b13a48717 100644 > > --- a/drivers/pwm/pwm-mediatek.c > > +++ b/drivers/pwm/pwm-mediatek.c > > @@ -146,7 +146,7 @@ static int pwm_mediatek_config(struct pwm_chip *chip, struct pwm_device *pwm, > > if (clkdiv > PWM_CLK_DIV_MAX) { > > pwm_mediatek_clk_disable(chip, pwm); > > - dev_err(chip->dev, "period %d not supported\n", period_ns); > > + dev_err(chip->dev, "period of %d ns not supported\n", period_ns); > > return -EINVAL; > > } > > @@ -229,12 +229,12 @@ static int pwm_mediatek_probe(struct platform_device *pdev) > > pc->clk_top = devm_clk_get(&pdev->dev, "top"); > > if (IS_ERR(pc->clk_top)) > > return dev_err_probe(&pdev->dev, PTR_ERR(pc->clk_top), > > - "clock: top failed\n"); > > + "Failed to get top clock\n"); > > pc->clk_main = devm_clk_get(&pdev->dev, "main"); > > if (IS_ERR(pc->clk_main)) > > return dev_err_probe(&pdev->dev, PTR_ERR(pc->clk_main), > > - "clock: main failed\n"); > > + "Failed to get main clock\n"); > > for (i = 0; i < pc->soc->num_pwms; i++) { > > char name[8]; > > @@ -244,7 +244,7 @@ static int pwm_mediatek_probe(struct platform_device *pdev) > > pc->clk_pwms[i] = devm_clk_get(&pdev->dev, name); > > if (IS_ERR(pc->clk_pwms[i])) > > return dev_err_probe(&pdev->dev, PTR_ERR(pc->clk_pwms[i]), > > - "clock: %s failed\n", name); > > + "Failed to get %s clock\n", name); > > } > > pc->chip.dev = &pdev->dev; > > > > The format of these debug messages "clock: top" or "clock: main" is meant to > keep both human and machine's readability at the same time. > This kind of format is much more easier to parse by scripts, which the > driver's category and sub nodes are separated by delimiters . If a fail log > has been provided, the script could indicated where the issue might exists > probably. Device vender, field application engineer, and driver maintainer > could be able to write and use the error log parser before debugging. Does such a script truly exist? Given that most error messages don't follow this format, I would expect it to be only very marginally useful. Typically the prefix that the dev_printk() variants add is enough information to deduct where the error happens, at which point it's back to good old grep to find the matching string to localize exactly. > I'm not sure if this kind of format will be better. Like, "Failed to get > clock: %s". > > If most people like this kind of solution ("Failed to get clock: %s\n"), > then you can have the reviewed-by tag. > Thanks! > > Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com> I'm going to assume that the scriptability is a theoretical argument, so I'll take this. Let me know if you do rely on the exact format and I can drop this again. Thierry
diff --git a/drivers/pwm/pwm-mediatek.c b/drivers/pwm/pwm-mediatek.c index 6b39f3d69e41..568b13a48717 100644 --- a/drivers/pwm/pwm-mediatek.c +++ b/drivers/pwm/pwm-mediatek.c @@ -146,7 +146,7 @@ static int pwm_mediatek_config(struct pwm_chip *chip, struct pwm_device *pwm, if (clkdiv > PWM_CLK_DIV_MAX) { pwm_mediatek_clk_disable(chip, pwm); - dev_err(chip->dev, "period %d not supported\n", period_ns); + dev_err(chip->dev, "period of %d ns not supported\n", period_ns); return -EINVAL; } @@ -229,12 +229,12 @@ static int pwm_mediatek_probe(struct platform_device *pdev) pc->clk_top = devm_clk_get(&pdev->dev, "top"); if (IS_ERR(pc->clk_top)) return dev_err_probe(&pdev->dev, PTR_ERR(pc->clk_top), - "clock: top failed\n"); + "Failed to get top clock\n"); pc->clk_main = devm_clk_get(&pdev->dev, "main"); if (IS_ERR(pc->clk_main)) return dev_err_probe(&pdev->dev, PTR_ERR(pc->clk_main), - "clock: main failed\n"); + "Failed to get main clock\n"); for (i = 0; i < pc->soc->num_pwms; i++) { char name[8]; @@ -244,7 +244,7 @@ static int pwm_mediatek_probe(struct platform_device *pdev) pc->clk_pwms[i] = devm_clk_get(&pdev->dev, name); if (IS_ERR(pc->clk_pwms[i])) return dev_err_probe(&pdev->dev, PTR_ERR(pc->clk_pwms[i]), - "clock: %s failed\n", name); + "Failed to get %s clock\n", name); } pc->chip.dev = &pdev->dev;
As a cherry-on-top cleanup, make error messages clearer to read by changing instances of "clock: XXXX failed" to a more readable "Failed to get XXXX clock". Also add "of" to unsupported period error. This is purely a cosmetic change; no "real" functional changes. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> --- drivers/pwm/pwm-mediatek.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)