extcon: usb-gpio: Remove disable irq operation in system sleep
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> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This commit is contained in:
parent
6506f6a020
commit
68be7a5f28
|
@ -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))
|
if (!device_may_wakeup(dev))
|
||||||
pinctrl_pm_select_sleep_state(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,
|
queue_delayed_work(system_power_efficient_wq,
|
||||||
&info->wq_detcable, 0);
|
&info->wq_detcable, 0);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue