diff mbox series

[-next,4/4] Input: gpio_keys_polled - Switch to use dev_err_probe() helper

Message ID 20220920153055.3465115-4-yangyingliang@huawei.com (mailing list archive)
State Mainlined
Commit caec3d4416a2fbd7399556ba366da4d8fc05d9f5
Headers show
Series [-next,1/4] Input: adc-joystick - Switch to use dev_err_probe() helper | expand

Commit Message

Yang Yingliang Sept. 20, 2022, 3:30 p.m. UTC
In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/input/keyboard/gpio_keys_polled.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

Comments

Mattijs Korpershoek Sept. 22, 2022, 8:48 a.m. UTC | #1
Hi Yang,

Thank you for your patch,

On Tue, Sep 20, 2022 at 23:30, Yang Yingliang <yangyingliang@huawei.com> wrote:

> In the probe path, dev_err() can be replaced with dev_err_probe()
> which will check if error code is -EPROBE_DEFER and prints the
> error name. It also sets the defer probe reason which can be
> checked later through debugfs.
>
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---
>  drivers/input/keyboard/gpio_keys_polled.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/input/keyboard/gpio_keys_polled.c b/drivers/input/keyboard/gpio_keys_polled.c
> index c3937d2fc744..ba00ecfbd343 100644
> --- a/drivers/input/keyboard/gpio_keys_polled.c
> +++ b/drivers/input/keyboard/gpio_keys_polled.c
> @@ -299,13 +299,9 @@ static int gpio_keys_polled_probe(struct platform_device *pdev)
>  							     NULL, GPIOD_IN,
>  							     button->desc);
>  			if (IS_ERR(bdata->gpiod)) {
> -				error = PTR_ERR(bdata->gpiod);
> -				if (error != -EPROBE_DEFER)
> -					dev_err(dev,
> -						"failed to get gpio: %d\n",
> -						error);
>  				fwnode_handle_put(child);
> -				return error;
> +				return dev_err_probe(dev, PTR_ERR(bdata->gpiod),
> +						     "failed to get gpio\n");

If we look at the input tree, we can see that there is no occurence of
dev_err_probe():

$ ~/src/linux/drivers/input/ 483fed3b5dc8 grep -rsn dev_err_probe
$ ~/src/linux/drivers/input/ 483fed3b5dc8

The reason for this is that the input maintainer (Dmitry) dislikes
dev_err_probe() as he stated in [1]

So I don't think he will apply this.

Regards,
Mattijs

>  			}
>  		} else if (gpio_is_valid(button->gpio)) {
>  			/*
> -- 
> 2.25.1
Mattijs Korpershoek Sept. 22, 2022, 8:52 a.m. UTC | #2
On Thu, Sep 22, 2022 at 10:48, Mattijs Korpershoek <mkorpershoek@baylibre.com> wrote:

> Hi Yang,
>
> Thank you for your patch,
>
> On Tue, Sep 20, 2022 at 23:30, Yang Yingliang <yangyingliang@huawei.com> wrote:
>
>> In the probe path, dev_err() can be replaced with dev_err_probe()
>> which will check if error code is -EPROBE_DEFER and prints the
>> error name. It also sets the defer probe reason which can be
>> checked later through debugfs.
>>
>> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
>> ---
>>  drivers/input/keyboard/gpio_keys_polled.c | 8 ++------
>>  1 file changed, 2 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/input/keyboard/gpio_keys_polled.c b/drivers/input/keyboard/gpio_keys_polled.c
>> index c3937d2fc744..ba00ecfbd343 100644
>> --- a/drivers/input/keyboard/gpio_keys_polled.c
>> +++ b/drivers/input/keyboard/gpio_keys_polled.c
>> @@ -299,13 +299,9 @@ static int gpio_keys_polled_probe(struct platform_device *pdev)
>>  							     NULL, GPIOD_IN,
>>  							     button->desc);
>>  			if (IS_ERR(bdata->gpiod)) {
>> -				error = PTR_ERR(bdata->gpiod);
>> -				if (error != -EPROBE_DEFER)
>> -					dev_err(dev,
>> -						"failed to get gpio: %d\n",
>> -						error);
>>  				fwnode_handle_put(child);
>> -				return error;
>> +				return dev_err_probe(dev, PTR_ERR(bdata->gpiod),
>> +						     "failed to get gpio\n");
>
> If we look at the input tree, we can see that there is no occurence of
> dev_err_probe():
>
> $ ~/src/linux/drivers/input/ 483fed3b5dc8 grep -rsn dev_err_probe
> $ ~/src/linux/drivers/input/ 483fed3b5dc8
>
> The reason for this is that the input maintainer (Dmitry) dislikes
> dev_err_probe() as he stated in [1]
>
> So I don't think he will apply this.
>
> Regards,
> Mattijs

Argh, I missed the link. here it is:

[1] https://lore.kernel.org/r/YWTpg35wyYS1uoFZ@google.com

>
>>  			}
>>  		} else if (gpio_is_valid(button->gpio)) {
>>  			/*
>> -- 
>> 2.25.1
diff mbox series

Patch

diff --git a/drivers/input/keyboard/gpio_keys_polled.c b/drivers/input/keyboard/gpio_keys_polled.c
index c3937d2fc744..ba00ecfbd343 100644
--- a/drivers/input/keyboard/gpio_keys_polled.c
+++ b/drivers/input/keyboard/gpio_keys_polled.c
@@ -299,13 +299,9 @@  static int gpio_keys_polled_probe(struct platform_device *pdev)
 							     NULL, GPIOD_IN,
 							     button->desc);
 			if (IS_ERR(bdata->gpiod)) {
-				error = PTR_ERR(bdata->gpiod);
-				if (error != -EPROBE_DEFER)
-					dev_err(dev,
-						"failed to get gpio: %d\n",
-						error);
 				fwnode_handle_put(child);
-				return error;
+				return dev_err_probe(dev, PTR_ERR(bdata->gpiod),
+						     "failed to get gpio\n");
 			}
 		} else if (gpio_is_valid(button->gpio)) {
 			/*