Re: [PATCH 2/2] touchscreen: goodix: define GPIO mapping for GPD P2 Max
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2019-08-30 11:55:12
Also in:
linux-acpi, linux-gpio, lkml
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2019-08-30 11:55:12
Also in:
linux-acpi, linux-gpio, lkml
On Fri, Aug 30, 2019 at 08:00:24AM +0800, Peter Cai wrote:
The firmware of GPD P2 Max could not handle panel resets although code is present in DSDT. The kernel needs to take on this job instead, but the DSDT does not provide _DSD, rendering kernel helpless when trying to find the respective GPIO pins. Fortunately, this time GPD has proper DMI vendor / product strings that we could match against. We simply apply an acpi_gpio_mapping table when GPD P2 Max is matched. Additionally, the DSDT definition of the irq pin specifies a wrong polarity. The new quirk introduced in the previous patch (ACPI_GPIO_QUIRK_OVERRIDE_POLARITY) is applied to correct this.
+#ifdef CONFIG_ACPI
I guess most of these #ifdef:s makes code less readable for exchange of saving few bytes in the module footprint.
+ { "irq-gpios", &irq_gpios_default, 1,
+ ACPI_GPIO_QUIRK_OVERRIDE_POLARITY },One line?
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "GPD"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "P2 MAX")Comma at the end?
+ }, + .driver_data = &gpio_mapping_force_irq_active_high
Ditto. -- With Best Regards, Andy Shevchenko