2021-11-10 13:50:56

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 1/2] gpiolib: acpi: Remove never used devm_acpi_dev_remove_driver_gpios()

Remove never used devm_acpi_dev_remove_driver_gpios().

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/gpio/gpiolib-acpi.c | 6 ------
include/linux/gpio/consumer.h | 2 --
2 files changed, 8 deletions(-)

diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 985e8589c58b..25ecc0a37054 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -604,12 +604,6 @@ int devm_acpi_dev_add_driver_gpios(struct device *dev,
}
EXPORT_SYMBOL_GPL(devm_acpi_dev_add_driver_gpios);

-void devm_acpi_dev_remove_driver_gpios(struct device *dev)
-{
- WARN_ON(devres_release(dev, devm_acpi_dev_release_driver_gpios, NULL, NULL));
-}
-EXPORT_SYMBOL_GPL(devm_acpi_dev_remove_driver_gpios);
-
static bool acpi_get_driver_gpio_data(struct acpi_device *adev,
const char *name, int index,
struct fwnode_reference_args *args,
diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h
index 97a28ad3393b..3ad67b4a72be 100644
--- a/include/linux/gpio/consumer.h
+++ b/include/linux/gpio/consumer.h
@@ -690,7 +690,6 @@ void acpi_dev_remove_driver_gpios(struct acpi_device *adev);

int devm_acpi_dev_add_driver_gpios(struct device *dev,
const struct acpi_gpio_mapping *gpios);
-void devm_acpi_dev_remove_driver_gpios(struct device *dev);

struct gpio_desc *acpi_get_and_request_gpiod(char *path, int pin, char *label);

@@ -708,7 +707,6 @@ static inline int devm_acpi_dev_add_driver_gpios(struct device *dev,
{
return -ENXIO;
}
-static inline void devm_acpi_dev_remove_driver_gpios(struct device *dev) {}

#endif /* CONFIG_GPIOLIB && CONFIG_ACPI */

--
2.33.0


2021-11-10 13:51:52

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 2/2] gpiolib: acpi: shrink devm_acpi_dev_add_driver_gpios()

If all we want to manage is a single pointer, there's no need to
manually allocate and add a new devres. We can simply use
devm_add_action_or_reset() and shrink the code by a good bit.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/gpio/gpiolib-acpi.c | 20 +++++++-------------
1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 25ecc0a37054..7dd0484b89c6 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -579,28 +579,22 @@ void acpi_dev_remove_driver_gpios(struct acpi_device *adev)
}
EXPORT_SYMBOL_GPL(acpi_dev_remove_driver_gpios);

-static void devm_acpi_dev_release_driver_gpios(struct device *dev, void *res)
+static void acpi_dev_release_driver_gpios(void *adev)
{
- acpi_dev_remove_driver_gpios(ACPI_COMPANION(dev));
+ acpi_dev_remove_driver_gpios(adev);
}

int devm_acpi_dev_add_driver_gpios(struct device *dev,
const struct acpi_gpio_mapping *gpios)
{
- void *res;
+ struct acpi_device *adev = ACPI_COMPANION(dev);
int ret;

- res = devres_alloc(devm_acpi_dev_release_driver_gpios, 0, GFP_KERNEL);
- if (!res)
- return -ENOMEM;
-
- ret = acpi_dev_add_driver_gpios(ACPI_COMPANION(dev), gpios);
- if (ret) {
- devres_free(res);
+ ret = acpi_dev_add_driver_gpios(adev, gpios);
+ if (ret)
return ret;
- }
- devres_add(dev, res);
- return 0;
+
+ return devm_add_action_or_reset(dev, acpi_dev_release_driver_gpios, adev);
}
EXPORT_SYMBOL_GPL(devm_acpi_dev_add_driver_gpios);

--
2.33.0

2021-11-10 16:54:24

by Mika Westerberg

[permalink] [raw]
Subject: Re: [PATCH v1 1/2] gpiolib: acpi: Remove never used devm_acpi_dev_remove_driver_gpios()

On Wed, Nov 10, 2021 at 03:47:42PM +0200, Andy Shevchenko wrote:
> Remove never used devm_acpi_dev_remove_driver_gpios().
>
> Signed-off-by: Andy Shevchenko <[email protected]>

Reviewed-by: Mika Westerberg <[email protected]>

2021-11-10 16:56:08

by Mika Westerberg

[permalink] [raw]
Subject: Re: [PATCH v1 2/2] gpiolib: acpi: shrink devm_acpi_dev_add_driver_gpios()

On Wed, Nov 10, 2021 at 03:47:43PM +0200, Andy Shevchenko wrote:
> If all we want to manage is a single pointer, there's no need to
> manually allocate and add a new devres. We can simply use
> devm_add_action_or_reset() and shrink the code by a good bit.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

Reviewed-by: Mika Westerberg <[email protected]>

2021-11-15 11:31:48

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v1 1/2] gpiolib: acpi: Remove never used devm_acpi_dev_remove_driver_gpios()

On Wed, Nov 10, 2021 at 06:53:57PM +0200, Mika Westerberg wrote:
> On Wed, Nov 10, 2021 at 03:47:42PM +0200, Andy Shevchenko wrote:
> > Remove never used devm_acpi_dev_remove_driver_gpios().
> >
> > Signed-off-by: Andy Shevchenko <[email protected]>
>
> Reviewed-by: Mika Westerberg <[email protected]>

Pushed to my review and testing queue, thanks!

--
With Best Regards,
Andy Shevchenko