Re: [PATCH v2] Input: silead - Do not try to directly access the GPIO when using ACPI pm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2017-03-10 at 13:33 +0200, Andy Shevchenko wrote:
> On Thu, 2017-03-09 at 19:48 +0100, Hans de Goede wrote:
> > Hi,
> > 
> > On 09-03-17 15:45, Hans de Goede wrote:
> > > Hi,
> > > 
> > > On 09-03-17 15:03, Andy Shevchenko wrote:
> > > > On Thu, 2017-03-09 at 14:57 +0100, Hans de Goede wrote:
> > Ok, so there is one problem with the extcon-intel-int3496.c
> > together with your gpio patches:
> > 
> > [ 2382.484415] gpio gpiochip1: (INT33FF:01): gpiochip_lock_as_irq:
> > tried to flag a GPIO set as output for IRQ
> > [ 2382.484425] gpio gpiochip1: (INT33FF:01): unable to lock HW IRQ 3
> > for IRQ
> > [ 2382.484429] genirq: Failed to request resources for INT3496:00
> > (irq
> > 174) on irqchip chv-gpio
> > [ 2382.484518] intel-int3496 INT3496:00: can't request IRQ for USB
> > ID
> > GPIO: -22
> > [ 2382.500359] intel-int3496: probe of INT3496:00 failed with error
> > -22
> 
> By the way did not you see a warning from gpiolib-acpi.c that flags
> are
> overridden by firmware?

Yeah, it's dev_dbg(). Perhaps needs to be changed to dev_warn()?


> > --- a/drivers/extcon/extcon-intel-int3496.c
> > +++ b/drivers/extcon/extcon-intel-int3496.c

Just a reminder that we need
--- a/drivers/extcon/extcon-intel-int3496.c
+++ b/drivers/extcon/extcon-intel-int3496.c
@@ -107,9 +107,7 @@ static int int3496_probe(struct platform_device
*pdev)
        data->dev = dev;
        INIT_DELAYED_WORK(&data->work, int3496_do_usb_id);

-       data->gpio_usb_id = devm_gpiod_get_index(dev, "id",
-                                               INT3496_GPIO_USB_ID,
-                                               GPIOD_IN);
+       data->gpio_usb_id = devm_gpiod_get(dev, "id", GPIOD_IN);
        if (IS_ERR(data->gpio_usb_id)) {
                ret = PTR_ERR(data->gpio_usb_id);
                dev_err(dev, "can't request USB ID GPIO: %d\n", ret);
@@ -122,15 +120,11 @@ static int int3496_probe(struct platform_device
*pdev)
                return data->usb_id_irq;
        }

-       data->gpio_vbus_en = devm_gpiod_get_index(dev, "vbus",
-                                                INT3496_GPIO_VBUS_EN,
-                                                GPIOD_ASIS);
+       data->gpio_vbus_en = devm_gpiod_get(dev, "vbus", GPIOD_ASIS);
        if (IS_ERR(data->gpio_vbus_en))
                dev_info(dev, "can't request VBUS EN GPIO\n");

-       data->gpio_usb_mux = devm_gpiod_get_index(dev, "mux",
-                                                INT3496_GPIO_USB_MUX,
-                                                GPIOD_ASIS);
+       data->gpio_usb_mux = devm_gpiod_get(dev, "mux", GPIOD_ASIS);
        if (IS_ERR(data->gpio_usb_mux))
                dev_info(dev, "can't request USB MUX GPIO\n");


-- 
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux