diff mbox series

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

Message ID 20220920153055.3465115-3-yangyingliang@huawei.com
State New
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.c | 6 ++----
 1 file changed, 2 insertions(+), 4 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.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
> index a5dc4ab87fa1..ac74e85006a8 100644
> --- a/drivers/input/keyboard/gpio_keys.c
> +++ b/drivers/input/keyboard/gpio_keys.c
> @@ -530,10 +530,8 @@ static int gpio_keys_setup_key(struct platform_device *pdev,
>  				 */
>  				bdata->gpiod = NULL;
>  			} else {
> -				if (error != -EPROBE_DEFER)
> -					dev_err(dev, "failed to get gpio: %d\n",
> -						error);
> -				return error;
> +				return dev_err_probe(dev, error,
> +						     "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.c | 6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
>> index a5dc4ab87fa1..ac74e85006a8 100644
>> --- a/drivers/input/keyboard/gpio_keys.c
>> +++ b/drivers/input/keyboard/gpio_keys.c
>> @@ -530,10 +530,8 @@ static int gpio_keys_setup_key(struct platform_device *pdev,
>>  				 */
>>  				bdata->gpiod = NULL;
>>  			} else {
>> -				if (error != -EPROBE_DEFER)
>> -					dev_err(dev, "failed to get gpio: %d\n",
>> -						error);
>> -				return error;
>> +				return dev_err_probe(dev, error,
>> +						     "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.c b/drivers/input/keyboard/gpio_keys.c
index a5dc4ab87fa1..ac74e85006a8 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -530,10 +530,8 @@  static int gpio_keys_setup_key(struct platform_device *pdev,
 				 */
 				bdata->gpiod = NULL;
 			} else {
-				if (error != -EPROBE_DEFER)
-					dev_err(dev, "failed to get gpio: %d\n",
-						error);
-				return error;
+				return dev_err_probe(dev, error,
+						     "failed to get gpio\n");
 			}
 		}
 	} else if (gpio_is_valid(button->gpio)) {