Commit 68be7a5f authored by Bruce Chen's avatar Bruce Chen Committed by Chanwoo Choi
Browse files

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: default avatarBruce Chen <bruce.chen@unisoc.com>
Acked-by: default avatarRoger Quadros <rogerq@kernel.org>
Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
parent 6506f6a0
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -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);