Re: [PATCH v3 02/24] gpiolib: acpi: Modify acpi_dev_irq_wake_get_by() to use resource

Andy Shevchenko
2023-12-27T17:12:48Z

On Tue, Dec 26, 2023 at 12:21:06PM -0700, Mark Hasemeyer wrote:
> Other information besides wake capability can be provided about GPIO
> IRQs such as triggering, polarity, and sharability. Use resource flags
> to provide this information to the caller if they want it.
>
> This should keep the API more robust over time as flags are added,
> modified, or removed. It also more closely matches acpi_irq_get() which
> take a resource as an argument.
>
> Rename the function to acpi_dev_get_gpio_irq_resource() to better
> describe the function's new behavior.

...

> + res_flags = acpi_dev_irq_flags(info.triggering, info.polarity,
> + info.shareable, info.wake_capable);

Broken indentation of the second line.

...

> + *r = DEFINE_RES_NAMED(irq, 1, NULL, res_flags);

So? The whole exercise with the first patch is to have here:

*r = DEFINE_RES_IRQ_NAMED_FLAGS(irq, NULL, res_flags);

...

> + struct resource r;

I prefer to see

struct resource r = {};

even if it makes no difference. This allows to have robust code.

> + ret = acpi_dev_get_gpio_irq_resource(adev, name, index, &r);
> + return ret ?: r.start;

Btw, this function requires header to include ioport.h. I'm not sure
if it's good for ACPI. I would prefer safest approach, i.e. exporting
this from a C code, i.e. gpiolib-acpi.c.

--
With Best Regards,
Andy Shevchenko