Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'gpio-fixes-for-v6.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski:

- fix an ACPI I2C HID driver breakage due to not initializing a
structure on the stack and passing garbage down to GPIO core

- ignore touchpad wakeup on GPD G1619-05

- fix debouncing configuration when looking up GPIOs in ACPI

* tag 'gpio-fixes-for-v6.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
gpiolib: acpi: initialize acpi_gpio_info struct
gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-05
gpiolib: acpi: Program debounce when finding GPIO

+21 -2
+9 -2
drivers/gpio/gpiolib-acpi-core.c
··· 942 942 { 943 943 struct acpi_device *adev = to_acpi_device_node(fwnode); 944 944 bool can_fallback = acpi_can_fallback_to_crs(adev, con_id); 945 - struct acpi_gpio_info info; 945 + struct acpi_gpio_info info = {}; 946 946 struct gpio_desc *desc; 947 + int ret; 947 948 948 949 desc = __acpi_find_gpio(fwnode, con_id, idx, can_fallback, &info); 949 950 if (IS_ERR(desc)) ··· 958 957 959 958 acpi_gpio_update_gpiod_flags(dflags, &info); 960 959 acpi_gpio_update_gpiod_lookup_flags(lookupflags, &info); 960 + 961 + /* ACPI uses hundredths of milliseconds units */ 962 + ret = gpio_set_debounce_timeout(desc, info.debounce * 10); 963 + if (ret) 964 + return ERR_PTR(ret); 965 + 961 966 return desc; 962 967 } 963 968 ··· 999 992 int ret; 1000 993 1001 994 for (i = 0, idx = 0; idx <= index; i++) { 1002 - struct acpi_gpio_info info; 995 + struct acpi_gpio_info info = {}; 1003 996 struct gpio_desc *desc; 1004 997 1005 998 /* Ignore -EPROBE_DEFER, it only matters if idx matches */
+12
drivers/gpio/gpiolib-acpi-quirks.c
··· 319 319 }, 320 320 { 321 321 /* 322 + * Same as G1619-04. New model. 323 + */ 324 + .matches = { 325 + DMI_MATCH(DMI_SYS_VENDOR, "GPD"), 326 + DMI_MATCH(DMI_PRODUCT_NAME, "G1619-05"), 327 + }, 328 + .driver_data = &(struct acpi_gpiolib_dmi_quirk) { 329 + .ignore_wake = "PNP0C50:00@8", 330 + }, 331 + }, 332 + { 333 + /* 322 334 * Spurious wakeups from GPIO 11 323 335 * Found in BIOS 1.04 324 336 * https://gitlab.freedesktop.org/drm/amd/-/issues/3954