Messages in this thread Patch in this message | | | From | Bruce Chen <> | Subject | [PATCH RESEND V2] extcon: usb-gpio: Remove disable irq operation in system sleep. | Date | Fri, 11 Mar 2022 14:42:18 +0800 |
| |
From: Bruce Chen <bruce.chen@unisoc.com>
If disable vbus/id irq, it will lead to wakeup system fail in unisoc platform. In unisoc platform, Irq enable and irq wakeup are the same interrupt line. So remove disable vbus/id irq operation is a way to solve the issue.
Signed-off-by: Bruce Chen <bruce.chen@unisoc.com> Acked-by: Roger Quadros <rogerq@kernel.org> --- drivers/extcon/extcon-usb-gpio.c | 15 --------------- 1 file changed, 15 deletions(-)
diff --git a/drivers/extcon/extcon-usb-gpio.c b/drivers/extcon/extcon-usb-gpio.c index f2b65d9..40d967a 100644 --- a/drivers/extcon/extcon-usb-gpio.c +++ b/drivers/extcon/extcon-usb-gpio.c @@ -226,16 +226,6 @@ static int usb_extcon_suspend(struct device *dev) } } - /* - * We don't want to process any IRQs after this point - * as GPIOs used behind I2C subsystem might not be - * accessible until resume completes. So disable IRQ. - */ - if (info->id_gpiod) - disable_irq(info->id_irq); - if (info->vbus_gpiod) - disable_irq(info->vbus_irq); - if (!device_may_wakeup(dev)) pinctrl_pm_select_sleep_state(dev); @@ -267,11 +257,6 @@ static int usb_extcon_resume(struct device *dev) } } - if (info->id_gpiod) - enable_irq(info->id_irq); - if (info->vbus_gpiod) - enable_irq(info->vbus_irq); - queue_delayed_work(system_power_efficient_wq, &info->wq_detcable, 0); -- 1.9.1
| |