]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpiolib: acpi: Fix gpio count with string references
authorAlban Bedel <alban.bedel@lht.dlh.de>
Thu, 29 Jan 2026 14:59:44 +0000 (15:59 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Wed, 4 Feb 2026 10:13:02 +0000 (11:13 +0100)
Since commit 9880702d123f2 ("ACPI: property: Support using strings in
reference properties") it is possible to use strings instead of local
references. This work fine with single GPIO but not with arrays as
acpi_gpio_package_count() didn't handle this case. Update it to handle
strings like local references to cover this case as well.

Signed-off-by: Alban Bedel <alban.bedel@lht.dlh.de>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Link: https://patch.msgid.link/20260129145944.3372777-1-alban.bedel@lht.dlh.de
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/gpiolib-acpi-core.c

index 9627b3a9c7f3d9fc8b87dd1912283ce3d85c3150..5e709ba35ec26a096dcfdbf23cd6fcc74aa67529 100644 (file)
@@ -1359,6 +1359,7 @@ static int acpi_gpio_package_count(const union acpi_object *obj)
        while (element < end) {
                switch (element->type) {
                case ACPI_TYPE_LOCAL_REFERENCE:
+               case ACPI_TYPE_STRING:
                        element += 3;
                        fallthrough;
                case ACPI_TYPE_INTEGER: