2021-05-14 15:13:22

by Alexandru Ardelean

[permalink] [raw]
Subject: [PATCH] gpio: gpio-altera-a10sr: remove platform_set_drvdata() + cleanup probe

The platform_set_drvdata() call is only useful if we need to retrieve back
the private information.
Since the driver doesn't do that, it's not useful to have it.

If this is removed, we can also just do a direct return on
devm_gpiochip_add_data(). We don't need to print that this call failed as
there are other ways to log/see this during probe.

Signed-off-by: Alexandru Ardelean <[email protected]>
---
drivers/gpio/gpio-altera-a10sr.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/gpio/gpio-altera-a10sr.c b/drivers/gpio/gpio-altera-a10sr.c
index b5917c48e4dc..6af51feda06f 100644
--- a/drivers/gpio/gpio-altera-a10sr.c
+++ b/drivers/gpio/gpio-altera-a10sr.c
@@ -78,7 +78,6 @@ static const struct gpio_chip altr_a10sr_gc = {
static int altr_a10sr_gpio_probe(struct platform_device *pdev)
{
struct altr_a10sr_gpio *gpio;
- int ret;
struct altr_a10sr *a10sr = dev_get_drvdata(pdev->dev.parent);

gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL);
@@ -91,15 +90,7 @@ static int altr_a10sr_gpio_probe(struct platform_device *pdev)
gpio->gp.parent = pdev->dev.parent;
gpio->gp.of_node = pdev->dev.of_node;

- ret = devm_gpiochip_add_data(&pdev->dev, &gpio->gp, gpio);
- if (ret < 0) {
- dev_err(&pdev->dev, "Could not register gpiochip, %d\n", ret);
- return ret;
- }
-
- platform_set_drvdata(pdev, gpio);
-
- return 0;
+ return devm_gpiochip_add_data(&pdev->dev, &gpio->gp, gpio);
}

static const struct of_device_id altr_a10sr_gpio_of_match[] = {
--
2.31.1



2021-05-21 13:39:20

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH] gpio: gpio-altera-a10sr: remove platform_set_drvdata() + cleanup probe

On Fri, May 14, 2021 at 11:20 AM Alexandru Ardelean
<[email protected]> wrote:
>
> The platform_set_drvdata() call is only useful if we need to retrieve back
> the private information.
> Since the driver doesn't do that, it's not useful to have it.
>
> If this is removed, we can also just do a direct return on
> devm_gpiochip_add_data(). We don't need to print that this call failed as
> there are other ways to log/see this during probe.
>
> Signed-off-by: Alexandru Ardelean <[email protected]>
> ---
> drivers/gpio/gpio-altera-a10sr.c | 11 +----------
> 1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/drivers/gpio/gpio-altera-a10sr.c b/drivers/gpio/gpio-altera-a10sr.c
> index b5917c48e4dc..6af51feda06f 100644
> --- a/drivers/gpio/gpio-altera-a10sr.c
> +++ b/drivers/gpio/gpio-altera-a10sr.c
> @@ -78,7 +78,6 @@ static const struct gpio_chip altr_a10sr_gc = {
> static int altr_a10sr_gpio_probe(struct platform_device *pdev)
> {
> struct altr_a10sr_gpio *gpio;
> - int ret;
> struct altr_a10sr *a10sr = dev_get_drvdata(pdev->dev.parent);
>
> gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL);
> @@ -91,15 +90,7 @@ static int altr_a10sr_gpio_probe(struct platform_device *pdev)
> gpio->gp.parent = pdev->dev.parent;
> gpio->gp.of_node = pdev->dev.of_node;
>
> - ret = devm_gpiochip_add_data(&pdev->dev, &gpio->gp, gpio);
> - if (ret < 0) {
> - dev_err(&pdev->dev, "Could not register gpiochip, %d\n", ret);
> - return ret;
> - }
> -
> - platform_set_drvdata(pdev, gpio);
> -
> - return 0;
> + return devm_gpiochip_add_data(&pdev->dev, &gpio->gp, gpio);
> }
>
> static const struct of_device_id altr_a10sr_gpio_of_match[] = {
> --
> 2.31.1
>

Applied, thanks!
Bartosz