mbox series

[v2,0/6] gpiolib: acpi: Refactor to shrink the code by ~8%

Message ID 20250403160034.2680485-1-andriy.shevchenko@linux.intel.com
Headers show
Series gpiolib: acpi: Refactor to shrink the code by ~8% | expand

Message

Andy Shevchenko April 3, 2025, 3:59 p.m. UTC
A simple refactoring of the GPIO ACPI library parts to get an impressive
~8% code shrink on x86_64 and ~2% on x86_32. Also reduces a C code a bit.

add/remove: 0/2 grow/shrink: 0/5 up/down: 0/-1221 (-1221)
Function                                     old     new   delta
acpi_gpio_property_lookup                    425     414     -11
acpi_find_gpio.__UNIQUE_ID_ddebug478          56       -     -56
acpi_dev_gpio_irq_wake_get_by.__UNIQUE_ID_ddebug480      56       -     -56
acpi_find_gpio                               354     216    -138
acpi_get_gpiod_by_index                      462     307    -155
__acpi_find_gpio                             877     638    -239
acpi_dev_gpio_irq_wake_get_by                695     129    -566
Total: Before=15375, After=14154, chg -7.94%

In v2:
- renamed par to params (Mika, Bart)

Andy Shevchenko (6):
  gpiolib: acpi: Improve struct acpi_gpio_info memory footprint
  gpiolib: acpi: Remove index parameter from acpi_gpio_property_lookup()
  gpiolib: acpi: Reduce memory footprint for struct acpi_gpio_params
  gpiolib: acpi: Rename par to params for better readability
  gpiolib: acpi: Reuse struct acpi_gpio_params in struct
    acpi_gpio_lookup
  gpiolib: acpi: Deduplicate some code in __acpi_find_gpio()

 drivers/gpio/gpiolib-acpi.c   | 146 +++++++++++++++++-----------------
 include/linux/gpio/consumer.h |   2 +-
 2 files changed, 72 insertions(+), 76 deletions(-)

Comments

Bartosz Golaszewski April 4, 2025, 8:38 a.m. UTC | #1
On Thu, Apr 3, 2025 at 6:00 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> A simple refactoring of the GPIO ACPI library parts to get an impressive
> ~8% code shrink on x86_64 and ~2% on x86_32. Also reduces a C code a bit.
>
> add/remove: 0/2 grow/shrink: 0/5 up/down: 0/-1221 (-1221)
> Function                                     old     new   delta
> acpi_gpio_property_lookup                    425     414     -11
> acpi_find_gpio.__UNIQUE_ID_ddebug478          56       -     -56
> acpi_dev_gpio_irq_wake_get_by.__UNIQUE_ID_ddebug480      56       -     -56
> acpi_find_gpio                               354     216    -138
> acpi_get_gpiod_by_index                      462     307    -155
> __acpi_find_gpio                             877     638    -239
> acpi_dev_gpio_irq_wake_get_by                695     129    -566
> Total: Before=15375, After=14154, chg -7.94%
>
> In v2:
> - renamed par to params (Mika, Bart)
>
> Andy Shevchenko (6):
>   gpiolib: acpi: Improve struct acpi_gpio_info memory footprint
>   gpiolib: acpi: Remove index parameter from acpi_gpio_property_lookup()
>   gpiolib: acpi: Reduce memory footprint for struct acpi_gpio_params
>   gpiolib: acpi: Rename par to params for better readability
>   gpiolib: acpi: Reuse struct acpi_gpio_params in struct
>     acpi_gpio_lookup
>   gpiolib: acpi: Deduplicate some code in __acpi_find_gpio()
>
>  drivers/gpio/gpiolib-acpi.c   | 146 +++++++++++++++++-----------------
>  include/linux/gpio/consumer.h |   2 +-
>  2 files changed, 72 insertions(+), 76 deletions(-)
>
> --
> 2.47.2
>

Will you take it through your tree or do you want me to pick it up next week?

Bart