gpio: amdpt: add new device ID and 24-pin support
authorHsu Yuchang <Richard_Hsu@asmedia.com.tw>
Fri, 10 Dec 2021 09:03:15 +0000 (17:03 +0800)
committerBartosz Golaszewski <brgl@bgdev.pl>
Fri, 17 Dec 2021 11:26:13 +0000 (12:26 +0100)
Add an ACPI HID(AMDIF031) and pin number in the pt_gpio_acpi_match.

Signed-off-by: Yuchang Hsu <Richard_Hsu@asmedia.com.tw>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpio-amdpt.c

index bbf53e2891412a2e5dc87696a898bc01a3372cdc..13f4e2af3800749c07be1d5a125c88472935ad30 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/platform_device.h>
 
 #define PT_TOTAL_GPIO 8
+#define PT_TOTAL_GPIO_EX 24
 
 /* PCI-E MMIO register offsets */
 #define PT_DIRECTION_REG   0x00
@@ -103,7 +104,7 @@ static int pt_gpio_probe(struct platform_device *pdev)
        pt_gpio->gc.owner            = THIS_MODULE;
        pt_gpio->gc.request          = pt_gpio_request;
        pt_gpio->gc.free             = pt_gpio_free;
-       pt_gpio->gc.ngpio            = PT_TOTAL_GPIO;
+       pt_gpio->gc.ngpio            = (uintptr_t)device_get_match_data(dev);
 #if defined(CONFIG_OF_GPIO)
        pt_gpio->gc.of_node          = dev->of_node;
 #endif
@@ -133,8 +134,9 @@ static int pt_gpio_remove(struct platform_device *pdev)
 }
 
 static const struct acpi_device_id pt_gpio_acpi_match[] = {
-       { "AMDF030", 0 },
-       { "AMDIF030", 0 },
+       { "AMDF030", PT_TOTAL_GPIO },
+       { "AMDIF030", PT_TOTAL_GPIO },
+       { "AMDIF031", PT_TOTAL_GPIO_EX },
        { },
 };
 MODULE_DEVICE_TABLE(acpi, pt_gpio_acpi_match);