Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA

From: Mika Westerberg
Date: Wed Apr 23 2014 - 04:27:05 EST


On Tue, Apr 22, 2014 at 10:16:50PM -0700, Adam Williamson wrote:
> Well, I can't actually concur. See my results in
> https://bugzilla.kernel.org/show_bug.cgi?id=68291#c44 .
>
> 1. A kernel with neither patch applied (and no hid-rmi driver) results
> in a working touchscreen.
> 2. A kernel with only v3 of Doug's patch from
> https://bugzilla.kernel.org/show_bug.cgi?id=67921 results in a working
> touchscreen.
> 3. A kernel with both v3 of Doug's patch and this IRQ descriptor
> conflict "fix" results in a broken touchscreen.
>
> Seems to me there really is some kind of problem with this patch...

Can you try so that you have both patches applied and then this one? I'm
suspecting that the ACPI GPIO operation region support might do something
unexpected in this case.

diff --git a/drivers/pinctrl/pinctrl-baytrail.c b/drivers/pinctrl/pinctrl-baytrail.c
index 555af733d5eb..1a9e0ab27141 100644
--- a/drivers/pinctrl/pinctrl-baytrail.c
+++ b/drivers/pinctrl/pinctrl-baytrail.c
@@ -557,6 +557,12 @@ static int byt_gpio_probe(struct platform_device *pdev)
gc->can_sleep = false;
gc->dev = dev;

+ ret = gpiochip_add(gc);
+ if (ret) {
+ dev_err(&pdev->dev, "failed adding byt-gpio chip\n");
+ return ret;
+ }
+
/* set up interrupts */
irq_rc = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
if (irq_rc && irq_rc->start) {
@@ -575,12 +581,6 @@ static int byt_gpio_probe(struct platform_device *pdev)
irq_set_chained_handler(hwirq, byt_gpio_irq_handler);
}

- ret = gpiochip_add(gc);
- if (ret) {
- dev_err(&pdev->dev, "failed adding byt-gpio chip\n");
- return ret;
- }
-
pm_runtime_enable(dev);

return 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/