lkml.org 
[lkml]   [2022]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH V1] extcon/usb: Remove disable irq operation in system sleep.
From


On 03/03/2022 09:36, Bruce Chen wrote:
> 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);
>

--
cheers,
-roger

\
 
 \ /
  Last update: 2022-03-08 13:24    [W:0.080 / U:1.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site