summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHardik Prakash <hardikprakash.official@gmail.com>2026-05-29 15:38:36 +0530
committerLinus Walleij <linusw@kernel.org>2026-05-30 00:00:33 +0200
commit3f786abd23951f3f600a62fef42469d9200d5f52 (patch)
treef38126fa82f42dd7125086c2020da3cdeba5bd87
parentb0c13ec17438577f90b379d448dfed1233e2c0a4 (diff)
downloadlwn-3f786abd23951f3f600a62fef42469d9200d5f52.tar.gz
lwn-3f786abd23951f3f600a62fef42469d9200d5f52.zip
Revert "pinctrl-amd: enable IRQ for WACF2200 touchscreen on Lenovo Yoga 7 14AGP11"
This reverts commit 3812a9e84265a5cdd90d29fe8d97a023e91fb945. The probe ordering fix in the following patch ensures amd_gpio_probe() completes before i2c-designware probes AMDI0010:02, allowing the existing amd_gpio_irq_enable() flow to work correctly. The manual IRQ restoration added by this patch is therefore no longer needed. Link: https://bugzilla.kernel.org/show_bug.cgi?id=221494 Signed-off-by: Hardik Prakash <hardikprakash.official@gmail.com> Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org> Fixes: 3812a9e84265a ("pinctrl-amd: enable IRQ for WACF2200 touchscreen on Lenovo Yoga 7 14AGP11") Signed-off-by: Linus Walleij <linusw@kernel.org>
-rw-r--r--drivers/pinctrl/pinctrl-amd.c35
1 files changed, 0 insertions, 35 deletions
diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
index 64315b0edf2a..e3128b0045d2 100644
--- a/drivers/pinctrl/pinctrl-amd.c
+++ b/drivers/pinctrl/pinctrl-amd.c
@@ -26,7 +26,6 @@
#include <linux/interrupt.h>
#include <linux/bitops.h>
#include <linux/pinctrl/pinconf.h>
-#include <linux/dmi.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinmux.h>
#include <linux/string_choices.h>
@@ -40,39 +39,6 @@
static struct amd_gpio *pinctrl_dev;
#endif
-static const struct dmi_system_id amd_gpio_quirk_yoga7_14agp11[] = {
- {
- .matches = {
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
- DMI_MATCH(DMI_PRODUCT_NAME, "83TD"),
- DMI_MATCH(DMI_BOARD_NAME, "LNVNB161216"),
- },
- },
- { }
-};
-
-static void amd_gpio_apply_quirks(struct amd_gpio *gpio_dev)
-{
- const unsigned int pin = 157; /* WACF2200 GpioInt per ACPI _CRS */
- unsigned long flags;
- u32 reg;
-
- if (!dmi_check_system(amd_gpio_quirk_yoga7_14agp11))
- return;
- if (pin >= gpio_dev->gc.ngpio)
- return;
-
- raw_spin_lock_irqsave(&gpio_dev->lock, flags);
- reg = readl(gpio_dev->base + pin * 4);
- reg |= BIT(INTERRUPT_ENABLE_OFF) | BIT(INTERRUPT_MASK_OFF);
- writel(reg, gpio_dev->base + pin * 4);
- raw_spin_unlock_irqrestore(&gpio_dev->lock, flags);
-
- dev_info(&gpio_dev->pdev->dev,
- "Enabled IRQ for GPIO %u (Yoga 7 14AGP11 touchscreen)\n",
- pin);
-}
-
static int amd_gpio_get_direction(struct gpio_chip *gc, unsigned offset)
{
unsigned long flags;
@@ -1253,7 +1219,6 @@ static int amd_gpio_probe(struct platform_device *pdev)
/* Disable and mask interrupts */
amd_gpio_irq_init(gpio_dev);
- amd_gpio_apply_quirks(gpio_dev);
girq = &gpio_dev->gc.irq;
gpio_irq_chip_set_chip(girq, &amd_gpio_irqchip);