Hi,
On 12/31/18 11:50 AM, Andy Shevchenko wrote:
On Sun, Dec 30, 2018 at 06:29:44PM +0100, Hans de Goede wrote:
__acpi_gpio_update_gpiod_flags purpose is to make the gpiod_flags used
when requesting a GPIO match the restrictions from the ACPI resource,
as stored in acpi_gpio_info.flags.
But acpi_gpio_info.flags only contains direction info, and the
requester may have passed in special non-direction flags like
GPIOD_FLAGS_BIT_NONEXCLUSIVE, which we currently clobber.
This commit modifies __acpi_gpio_update_gpiod_flags to preserve these
special flags, so that a requested of an ACPI GPIO can e.g. pass
GPIOD_FLAGS_BIT_NONEXCLUSIV and have it work as intended.
+ *flags &= ~mask;
+ *flags |= update & mask;
Minor: I would rather write it in one line
*flags = (*flags & ~mask) | (update & mask);
Good idea, the 2 step approach is from before I introduced the
mask helper variable.
I'll send a v2 with this changed.
Nonetheless,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Thanks.
Regards,
Hans