From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933997AbdACIRW (ORCPT ); Tue, 3 Jan 2017 03:17:22 -0500 Received: from mail-bn3nam01on0053.outbound.protection.outlook.com ([104.47.33.53]:47712 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933594AbdACIRN (ORCPT ); Tue, 3 Jan 2017 03:17:13 -0500 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;nxp.com; dkim=none (message not signed) header.d=none; From: Peter Chen To: , CC: , , Peter Chen Subject: [PATCH 1/1] extcon: usb-gpio: add pinctrl operation during system PM Date: Tue, 3 Jan 2017 16:17:53 +0800 Message-ID: <1483431473-24813-1-git-send-email-peter.chen@nxp.com> X-Mailer: git-send-email 2.7.4 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131279050292436045;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(336005)(39840400002)(39410400002)(39400400002)(39850400002)(39380400002)(39860400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(23433003)(92566002)(626004)(47776003)(8656002)(189998001)(50986999)(54906002)(97736004)(356003)(5001770100001)(68736007)(305945005)(77096006)(38730400001)(2906002)(5660300001)(50466002)(81166006)(81156014)(8676002)(48376002)(4326007)(104016004)(6666003)(33646002)(106466001)(50226002)(8936002)(5003940100001)(86362001)(105606002)(85426001)(36756003);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR03MB2480;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD015;1:gMD+Boz7CAw4GqEh5oPnAtnm5Etv3ByUV9iMBMS/G3up1HX2NuHmI2ICtmzrT5wjbL5QhMU+XT7NE0E+o/Sz2AnyOqtzKpufJqaGyTIJTfn7xXQE7kkAlJPkL+urFfumpOSAU2DYq1r6AChZZS4xi6rqcSPol7J+hkMGQ34hjd33UUHTTRdPPx2NUsOI0pcM4dRsThA5Kt8kBBpPd0dY1AFmlkQ4yvA5H54aa5GI/kbVEYQQmdvawLGMemrQQnYcqHxzYhS2be9kbu0+I9HMoTj6anF4F2hjnalqb78sdi87vfEIeIYzRK+YCOaCEpPP+P6MMVZgD1l5KtWtIV9atbWZQiEYRHG+BgQkR3t/Lx9yTQU58iwOciIyIvweLzk7UVHCEFJC4ax+C+02EjdoLwNIDR/g4fhiYc/LgmflY7mya0JaUyWj/mDlaVKoErLMFJjHxrzBSsDEeDacHiPsduV12k1biysQ3rDXbFY034OBAPnX9blvxrPPI/1KOAADC97NDZ5M4T8OKADwWwdwHjAfxXByGf4Cov7HKwIanWW1LlNEpvgBtWTCEzm57GMrwGZUxJEtsSICIYR4DYtNnNZPL5S6dMZqQgoetUFEqdk1qFS/iDf8jaVawvxSNQy+PBGJYI5uNuhVbSJTamfB1FVYyfDkxkM+XBj/JrLJPoPp9V/PkOdp5gjF+wpKgiZR1ZxT/Bh13r18rj2j12dkd8WCQ69imESBOYeEYpOAQV8= MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 6d0b1743-5df0-49f3-3aec-08d433b0e996 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:MWHPR03MB2480; X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;3:va2ZIcF5AniCVVgC2nUVYLgzX5cthN5gyG1ApZgNXSsNxzE89Aue94fhie2Ny9s/O4IKtZDOc8G8+aJc9W+Deo8zwNfN9CnICMKBtkM/VoLzV/C0RQqTyULag/NJoNPvNr0WZQU5Z5Cxc+H76TuSbzvQNbT+UFgNHNxl+TqnFf1IoD3vKDT3HrmE3GT/WPnYjcJazQKmqNcGo5yOK9gZRm9oST10zk2QD3dP6b73j0N8u6Cotz2+71MLgFVNU3rWg/H2yWZevPoKppDEOEV8sUminRn7Ec4QcLKA47wg9CxwXgQqLNy9++WH59HLShQAjeST0wqj6YzqNpG3jrx0sSrYOciARbt0mZbg9q6rHoeevgkauouMi9HsipTvo5jP X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;25:cePGObqpf6l+cAX+LiwZfkwPkJOlsTwM/5I7X6XLLrxSK0XzjC8/yrF9daQuiNDzBoDcBC03nsDisOzPWS+cKEJq446biTv207UBujBhgS4ODGEpwxZsbTOr/3qu6gn81tKbbhWeLaKXNOru48YEOK3EkrnCOO6nlZYlH/gSwjW6iFfd7YEEy0I92ByJBn1J0MGYvW8qHWErDWzhEmG2DyNsNeCGbntoAoi0GyzP4j3mqHO7ljDOoUirg34r91NVOMhdI23tyLaV1Nmq9k86zvtizLkV5AhMP1APYCWhPEMu70ROd0AfrQuxt4N2uxZ5zLX/6EHQ0Ui/xt8zj30MDkyx0eWRBAE0ZdYwrShz9u3o4re7sk+x9QgjIHsPSHcDnzoNwQMSBgmSi86eSUP6/pizpMY2U6E7RWJZtVG464pOQHFQ+Hwl9Ll4Rx6WIQvgij0AqaKWyE0utZp4veEhxR24dMAIEIypRvSYYTUSpXaUcPlNEJ2XgU7yiGdS80B2l9uzdudsXqiIU90J00ZnPtlZ+8wAqVZ2BuhCjoEx16HmcbgRwykQ8FfKOhys0mH8Dxeg/Vv4uYuhXfhKBpyFODGIgWaGoRG6fdtJ2h8yAtXZ225wpezn9bO/s9nULgShorJedudAp7reDzqKgRh4r2JDsEipRIHgYw4Aw1Naky2N/Y0w5JlSbo+/PU7y2uInRiucIirbRSkJI/uQiAZ+l+LAFUIirImq8bO9v/1jHneiIaougE3ERrmD/TN4N9c2X3sW/82gDPhle4jzw/RpU/MvLjyGKNOT1Ii9ts/lsRo= X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;31:mk8/n+vl8swwD0pw3wsZI9QO1712KlTgKrhFcBs2EYt9K5eQqZ400KAZBWE8hLqKMnaMWMQOTCYj+ns1bMeMguW4wDdXyh0AKFVhcGNOEjYyqlY8REMs0NecN9f6xpVPPo1s6rRPSP8qH4JB8LgmZMjx96LxzIbKCq7aCf/rJJGRDa6kM+2pZEN2GBiniyMWRnQbw9yYXlcYZ6f+mIrrFMGQgrSNEP3ND437qkyYIJ5qTzdQ9/uzMGhHiZEne4y6V8zlL3/7pUarz4mJZosCeKYiBqMtigGMBHNrI44BhwE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095060)(601004)(2401047)(13023025)(13017025)(13015025)(13024025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(20161123559025)(20161123556025)(20161123563025)(20161123565025);SRVR:MWHPR03MB2480;BCL:0;PCL:0;RULEID:(400006);SRVR:MWHPR03MB2480; X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;4:gNQgngvDWmoZFoc/2k9o9PWZlRhg/1ynuqqTgG4HmopzeGPwZiV+vRVHRWdzRyLVlbBilS11JQsr/yEjfbRnxfZF2XD5ygIRjyDuPZWsWMkF8FfnYYwWgCWZE3yeJoTu/ZsLw1SGFW5TC7jLgkVvhmUuu1f/c3U3W4weGHK5SsyKVHwVF7b1oAnhZsJV4qPKgwaqXRU3cKWQASRPj1bBo8lp8nad0lEAz1ba8jFeFru9gLAlXaDL3cK2uEMHZhBuwiSHUqd093KeW2lfK/cef3OwDDF5MdL5RN8BHoVu+Yn3RnkoZ6iIP+qm4sobL4pI82njd1f9BwXd1KmDjrQRolnZSZMvsC0upudfqL2x8lgFy1kfvO2V3WU8/7SlCj8w+nYLrsaALc+tLq11cAAWIkE9ljrhaOs9cn6MC1bQpsouWNf1IJcd/iIIfpBYlzcZDK4koK6/hOUQbR2JIN+9ZsYDt4Z40ugn/nPe7zBfBHzIaJamcZapAsckmHF5d/vCrSAqDkMW15ozCWFfvwsYfNJ3xEXdoM0uxBxY1Y5xH3eO3i3jMVbbzpQmIWv5Mx7bWCdnsjQoLAWobCSryoEBD+UoE0aDY+ZQqybA3SOOq3FIZGl4FhIyqxf6uspxrivqr49Z5bxuJGUO/477UHdeEBHSRZ8FwjPhYk2BZqBCNlZqQcR1guDwhBJMffIS4uwc54NYc7dv2MGuXgUEXnlXms4HiFjHzvHekO+grxKli1pebZAYCzONrfw2s+16czMx X-Forefront-PRVS: 01762B0D64 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR03MB2480;23:lNrr4wChpffgZ5SuOpgxvjq7dRUwyqbv7uHqXo1o1?= =?us-ascii?Q?/UEC6zflBvnYZEyMwEo5G5TRykN7EzSPJ3azfiosCLhNzzAghM6QfkrSB8p7?= =?us-ascii?Q?829xoVMrfmhOkNyyFErYYmoS5b/ulK5WDcHeLLuMMMaOo7dNRJLnWpbf0eDY?= =?us-ascii?Q?KYWWtJA0s2/lA8T3+mkzO2Xd5TQdNP7JpPP3TdkhvIHsARhPmIZ+TdeLlDGC?= =?us-ascii?Q?cz1s5jVTan+h2nr54OXcXamG3eeTGvHVykjEswTljSU47HPVQ1kJnzIvqIcI?= =?us-ascii?Q?fG3nXPTKgGQTChQZqkRaYqeZyNcffsbT4aPgX+79gvge34Ww/k0EVQhfc1zV?= =?us-ascii?Q?L3Th+/vecwJsmls6pfQjYys4BqA9BKl3XY4Hv8RrZ4kO2epdUm7QNhA+Q6hd?= =?us-ascii?Q?I9oMR5tJgj4gykANJnA5hHwiYcVAu3+gqmwwqR2kREEs0xbYnrcvCE5juMUr?= =?us-ascii?Q?E9z7MmnakgCsFbvWZBB+OKzJyjZiVJnRI7HUKctCMgt3Se+rScA69wjVgZSF?= =?us-ascii?Q?xeaLD86YXJ+75k+x0t9rqvSSTWfQbxXc85VpK+yNmF7ul6uuhRAfMKjpxFq5?= =?us-ascii?Q?5syIX9ObN9eCIaFxZfykPS6jFSgIVlgvOEw0uCFk22yA93kypnuYlniTKjxF?= =?us-ascii?Q?ZMjYu38YrEirtA2Oeot7SgTNJ026fbviE8xEm1Gr2O4EaXhNNy1z5ERQGx0V?= =?us-ascii?Q?k8FxMHUylh7x4mdEZoElnnB7xscMsI+vjFFic7zJ+x3ca0xFnI1FsbuYKA95?= =?us-ascii?Q?2na9mVaNSedTSpVKHW8Ox/ZN8sASaE5KHK9lDPdTZ0Xk4z4gHGjLA4STEhXN?= =?us-ascii?Q?Zh3qYScnUjqs3pRZmY669dHd6/eYH0E3H7ELLdXZisn0MoZ8wTCjYPUpx0Zl?= =?us-ascii?Q?ueBwHlDcYPoIZPX0TMTlT22pk3dbKLEqie51JCkbWFdWHwE5id1lJ6/idUqd?= =?us-ascii?Q?UdJLH+ndGCy+NvaiRi/BzwIgX5IdoxfoirxndefNjHjqkIrYvnFQxA+TdFeN?= =?us-ascii?Q?Hl9QoUUxLZ8E9X/yeJzwACnxJpU77DVonwDMeuhI8UmKUt4kKkZHak+2oqr9?= =?us-ascii?Q?ZLRx9Iw+WcxD7EOQyvfgMHX4knimlBg8BvMzioQzedBqkdZHEmpC4kbMC4xh?= =?us-ascii?Q?E2ct0A3nuxyeZ/Q65U7HsFcdAvWZX4R7UJmAquYdd1MABSMKn2jIOWlREbHx?= =?us-ascii?Q?0KThpgmT06aRdSnBkGCopQ0WK4KpvuCa1p2JRazcRKbeG8mvLzEndCE/p8Ig?= =?us-ascii?Q?hhQKM6psa5Lfp+WEMQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;6:RYipoAA6sbgXJkQ4il+qbV/+MlZmC3w9CIF/lSWxpPJxLpo89kmVy5mn7Dd3Lq+gMiymACFPzVHJIZQSy+X0JPoNZ/dsrqoDZ+rKzzD5p/HKjiKCajCPRwP/aqDYpRlGVS+aCOqw0RplkopI/4j7JBm7NtMD241IJYA8Avd81VNbHfNnx7nKnOpkCJFT1OnLU+8XFkH9NUnbUTz6gliPRMRF22agi/CTQNSyXi00mQFNovVUzjHhFIz//nLScaR6M2NHlSMQQQuW2BSTF8V11enUSlTLpLye5ZZfkq7QasOEek2lx6xSd6dLbd8XZ0RhbKioBzZlvb7PoPSgq4hhy6Fh8I1yOr4Q+qYiFK6vuXy8rcX7/1YWg9/GOESwZeLzSlmjKE+V0fyYcquwl2ptGD0IguI2rFS/wVsTUKNw0WQUdR9NpA2Zk2YWzddYhPXv;5:M+nGwYLZjyaezXGWzyZ7Pvu9eRY0ZzOMbXpB1pgSaDmlwlPB4fEtF/0faHffuf52XJ8jangDOO7F4W6DCTPz+hO6HlBSJfgRGR2Ijgj3LoZB3TJNEC1rA5pYm81A37B1mOKQsKKPaTvOc9p+EGDE1UasXhBI2SjQnjnKKnnk5Clj7eLRh/ffm8QC+Nrv9Coj;24:zFuqHANMsj3TwSE+lfVv5Y6Oj/lsiPDUYUrydrYKmCikzSDe67TaH/pY6SRN+IXmeZ8O+bV6GZ5kTbI8B4DmaHDmZGJgDq9NiDhE1i8JEYU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;7:OXUa6PESIQ0ZTB32C4upXvhqXr+ewZokoEaRyFcyFZ30ftQaYsFs96ySZXTQYwLT1KeLQuF37HcmFvBV0AUtQ3yvqf9d/n5HhbnpmzlvNoJ1v4zNKeYXnsNssll6gu5fBMEyuk3WvlfdZfwJv0Yb+cFySVQKCFygFJO9KRhS4r/Wf4QKN1wIOeW7jCUlNdSbWhVcYiTJMw4I9h8OCBl2pbak8HSQoRSQZfD3XYdaF3pw14x4pxEhrMFpcSxEXOqq5X03+jTdfvlrYnRnKxXzdhmWdTFDTU+iBO/jnMXdNgX3E6RipWF0uhwd+c1VxFy9v0RFcfvIGWaVKBUvdBYlcpx5u6EBvYlf4IWk6StKaKyakDTBh3YzwxKQ/MksxuahsKtb64H3nKaNSjoIe1HClKhLlvZ6Nk4OgvZSs2WF20lmJRwM2lAFwonIXgWZ9Qq57sLBB+KfDvKGYDmLF6nDlg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jan 2017 08:17:09.0564 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB2480 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At some systems, the pinctrl setting will be lost or needs to set as "sleep" state to save power consumption. So, we need to configure pinctrl as "sleep" state when system enters suspend, and as "default" state after system resumes. In this way, the pinctrl value can be recovered as "default" state after resuming. Signed-off-by: Peter Chen --- drivers/extcon/extcon-usb-gpio.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/extcon/extcon-usb-gpio.c b/drivers/extcon/extcon-usb-gpio.c index d589c5f..f7172ae 100644 --- a/drivers/extcon/extcon-usb-gpio.c +++ b/drivers/extcon/extcon-usb-gpio.c @@ -244,6 +244,7 @@ static int usb_extcon_suspend(struct device *dev) disable_irq(info->id_irq); if (info->vbus_gpiod) disable_irq(info->vbus_irq); + pinctrl_pm_select_sleep_state(dev); return ret; } @@ -253,6 +254,7 @@ static int usb_extcon_resume(struct device *dev) struct usb_extcon_info *info = dev_get_drvdata(dev); int ret = 0; + pinctrl_pm_select_default_state(dev); if (device_may_wakeup(dev)) { if (info->id_gpiod) { ret = disable_irq_wake(info->id_irq); -- 2.7.4