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); Nonetheless, Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> -- With Best Regards, Andy Shevchenko