From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756479AbcDGXEn (ORCPT ); Thu, 7 Apr 2016 19:04:43 -0400 Received: from mailout2.samsung.com ([203.254.224.25]:60418 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751895AbcDGXEl (ORCPT ); Thu, 7 Apr 2016 19:04:41 -0400 MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 X-AuditID: cbfee68f-f79c86d0000012ad-ea-5706e786785e Content-transfer-encoding: 8BIT Message-id: <5706E785.9020308@samsung.com> Date: Fri, 08 Apr 2016 08:04:37 +0900 From: Chanwoo Choi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 To: Grygorii Strashko , MyungJoo Ham Cc: nsekhar@ti.com, nm@ti.com, rogerq@ti.com, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, tony@atomide.com Subject: Re: [PATCH] extcon: usb-gpio: switch to use pm wakeirq apis References: <1459963957-21883-1-git-send-email-grygorii.strashko@ti.com> In-reply-to: <1459963957-21883-1-git-send-email-grygorii.strashko@ti.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrOIsWRmVeSWpSXmKPExsWyRsSkSLftOVu4wfvdkhYrp7BYbHp8jdXi 8q45bBafe48wWtxuXMFm8ebHWSaL/b0bmCx6HmlZ7L/i5cDp8e3rJBaPzUvqPfq2rGL0OH5j O5PH501yAaxRXDYpqTmZZalF+nYJXBktDU1MBRuFKravXcnWwPiMr4uRk0NCwESi5fl+Jghb TOLCvfVsILaQwApGif4vMjA1zVdXsHcxcgHFlzJK7Du1lx0kwSsgKPFj8j2WLkYODmYBeYkj l7JBwswC6hKT5i1ihqh/wCix+OcHRoh6LYnpTcuZQWwWAVWJ88fOgMXZgOL7X9xgA5kjKhAh 0X2iEiQsIhAtcXXdIrC9zAILGCW2fTrGCpIQFnCRWHfmBTvEoR4Sr8+dBHuAU8BT4tOZUywg DRICj9gl1i36zQqxTEDi2+RDYIdKCMhKbDrADPGYpMTBFTdYJjCKzULyziyEd2YheWcBI/Mq RtHUguSC4qT0ImO94sTc4tK8dL3k/NxNjMD4O/3vWf8OxrsHrA8xCnAwKvHwWnSyhguxJpYV V+YeYjQFOmIis5Rocj4wyvNK4g2NzYwsTE1MjY3MLc2UxHkXSv0MFhJITyxJzU5NLUgtii8q zUktPsTIxMEp1cBYcnChNZ9leEt19NH4km7OR+Hhzqy9t3bf3dHRcyFJYMcFfV/5znBtBqmD SzX21R7eeifV+8DE9Li+PX59XnUnGPQfWouabKo9l7Q4ec5US6Ozr/ddKeX8kXlE7h9X5lWR hedNXvhsF8hge3I6TJRvub+cfPMS8+xtH4vcD8R9+7dz06K0P41KLMUZiYZazEXFiQDtuNR1 ugIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrKIsWRmVeSWpSXmKPExsVy+t9jAd2252zhBpf7hC1WTmGx2PT4GqvF 5V1z2Cw+9x5htLjduILN4s2Ps0wW+3s3MFn0PNKy2H/Fy4HT49vXSSwem5fUe/RtWcXocfzG diaPz5vkAlijGhhtMlITU1KLFFLzkvNTMvPSbZW8g+Od403NDAx1DS0tzJUU8hJzU22VXHwC dN0yc4CuUVIoS8wpBQoFJBYXK+nbYZoQGuKmawHTGKHrGxIE12NkgAYS1jBmtDQ0MRVsFKrY vnYlWwPjM74uRk4OCQETiearK9ghbDGJC/fWs3UxcnEICSxllNh3ai9YgldAUOLH5HssXYwc HMwC8hJHLmWDhJkF1CUmzVvEDFH/gFFi8c8PjBD1WhLTm5Yzg9gsAqoS54+dAYuzAcX3v7jB BjJHVCBCovtEJUhYRCBa4uq6Rewgc5gFFjBKbPt0jBUkISzgIrHuzAuwG4QEPCRenzvJBGJz CnhKfDpzimUCo8AsJOfNQjhvFpLzFjAyr2KUSC1ILihOSs81zEst1ytOzC0uzUvXS87P3cQI jvJnUjsYD+5yP8QowMGoxMNr0ckaLsSaWFZcmXuIUYKDWUmE99xjtnAh3pTEyqrUovz4otKc 1OJDjKZA/01klhJNzgcmoLySeENjEzMjSyNzQwsjY3Mlcd7H/9eFCQmkJ5akZqemFqQWwfQx cXBKNTByhy6ZyXeLyTprx73Qo9WR4rX/Ul/IVO3efesvA8+8wEp+IbGjF2RetVUsmMa1j9OO nzXpo73zF9mac333rvF+syoRT0mO/XDd50l25Jeu6o+3mpJF2WzPtApHJRUcXvy04fK9Nk7N iZb571WvrlomaW+zrXFJUff1Wzc/Favc7eEX2xgo8U6JpTgj0VCLuag4EQCOo+K1CAMAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016년 04월 07일 02:32, Grygorii Strashko wrote: > Switch to use PM wakeirq APIs which automates wakeup IRQs > enabling/disabling and so allows to make code simpler. > > Signed-off-by: Grygorii Strashko Applied it. Thanks, Chanwoo Choi > --- > Unfortunately this simple patch depends on: > "[RFC PATCH] PM / wakeirq: fix wakeirq setting after wakup re-configuration from sysfs" > https://lkml.org/lkml/2016/4/6/296 > > drivers/extcon/extcon-usb-gpio.c | 19 ++++++------------- > 1 file changed, 6 insertions(+), 13 deletions(-) > > diff --git a/drivers/extcon/extcon-usb-gpio.c b/drivers/extcon/extcon-usb-gpio.c > index 2b2fecf..bc61d11 100644 > --- a/drivers/extcon/extcon-usb-gpio.c > +++ b/drivers/extcon/extcon-usb-gpio.c > @@ -24,6 +24,7 @@ > #include > #include > #include > +#include > #include > #include > > @@ -141,7 +142,8 @@ static int usb_extcon_probe(struct platform_device *pdev) > } > > platform_set_drvdata(pdev, info); > - device_init_wakeup(dev, 1); > + device_init_wakeup(dev, true); > + dev_pm_set_wake_irq(dev, info->id_irq); > > /* Perform initial detection */ > usb_extcon_detect_cable(&info->wq_detcable.work); > @@ -155,6 +157,9 @@ static int usb_extcon_remove(struct platform_device *pdev) > > cancel_delayed_work_sync(&info->wq_detcable); > > + dev_pm_clear_wake_irq(&pdev->dev); > + device_init_wakeup(&pdev->dev, false); > + > return 0; > } > > @@ -164,12 +169,6 @@ static int usb_extcon_suspend(struct device *dev) > struct usb_extcon_info *info = dev_get_drvdata(dev); > int ret = 0; > > - if (device_may_wakeup(dev)) { > - ret = enable_irq_wake(info->id_irq); > - if (ret) > - return ret; > - } > - > /* > * We don't want to process any IRQs after this point > * as GPIOs used behind I2C subsystem might not be > @@ -185,12 +184,6 @@ static int usb_extcon_resume(struct device *dev) > struct usb_extcon_info *info = dev_get_drvdata(dev); > int ret = 0; > > - if (device_may_wakeup(dev)) { > - ret = disable_irq_wake(info->id_irq); > - if (ret) > - return ret; > - } > - > enable_irq(info->id_irq); > > return ret; >