When possible use dev_err_probe help to properly deal with the
PROBE_DEFER error, the benefit is that DEFER issue will be logged
in the devices_deferred debugfs file.
Using dev_err_probe() can reduce code size, and the error value
gets printed.
Signed-off-by: Cai Huoqing <[email protected]>
---
drivers/input/misc/sc27xx-vibra.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/input/misc/sc27xx-vibra.c b/drivers/input/misc/sc27xx-vibra.c
index 1478017f0968..7cf0a1354320 100644
--- a/drivers/input/misc/sc27xx-vibra.c
+++ b/drivers/input/misc/sc27xx-vibra.c
@@ -135,10 +135,9 @@ static int sc27xx_vibra_probe(struct platform_device *pdev)
}
error = device_property_read_u32(&pdev->dev, "reg", &info->base);
- if (error) {
- dev_err(&pdev->dev, "failed to get vibrator base address.\n");
- return error;
- }
+ if (error)
+ return dev_err_probe(&pdev->dev, error,
+ "failed to get vibrator base address.\n");
info->input_dev = devm_input_allocate_device(&pdev->dev);
if (!info->input_dev) {
--
2.25.1
Hi,
On Thu, Sep 16, 2021 at 11:34 PM Cai Huoqing <[email protected]> wrote:
>
> When possible use dev_err_probe help to properly deal with the
> PROBE_DEFER error, the benefit is that DEFER issue will be logged
> in the devices_deferred debugfs file.
> Using dev_err_probe() can reduce code size, and the error value
> gets printed.
>
> Signed-off-by: Cai Huoqing <[email protected]>
> ---
> drivers/input/misc/sc27xx-vibra.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/input/misc/sc27xx-vibra.c b/drivers/input/misc/sc27xx-vibra.c
> index 1478017f0968..7cf0a1354320 100644
> --- a/drivers/input/misc/sc27xx-vibra.c
> +++ b/drivers/input/misc/sc27xx-vibra.c
> @@ -135,10 +135,9 @@ static int sc27xx_vibra_probe(struct platform_device *pdev)
> }
>
> error = device_property_read_u32(&pdev->dev, "reg", &info->base);
> - if (error) {
> - dev_err(&pdev->dev, "failed to get vibrator base address.\n");
> - return error;
> - }
> + if (error)
> + return dev_err_probe(&pdev->dev, error,
> + "failed to get vibrator base address.\n");
The device_property_read_u32() never returns an EPROBE_DEFER error, so
how can this function help? IMO, I did not see any benefits in this
case.
--
Baolin Wang