From patchwork Thu Sep 21 12:32:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Youngmin Nam X-Patchwork-Id: 9963819 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DEEE76056A for ; Thu, 21 Sep 2017 12:32:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D4375294AC for ; Thu, 21 Sep 2017 12:32:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C8E57294B6; Thu, 21 Sep 2017 12:32:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E35DE294AC for ; Thu, 21 Sep 2017 12:32:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751602AbdIUMcf convert rfc822-to-8bit (ORCPT ); Thu, 21 Sep 2017 08:32:35 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:22814 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751387AbdIUMcd (ORCPT ); Thu, 21 Sep 2017 08:32:33 -0400 Received: from epcas2p2.samsung.com (unknown [182.195.41.54]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20170921123231epoutp018a3d0ed4b16dc2686501c123df84f7f1~mYG4vHh2j1240412404epoutp01A; Thu, 21 Sep 2017 12:32:31 +0000 (GMT) Received: from epsmges1p4.samsung.com (unknown [182.195.40.63]) by epcas2p1.samsung.com (KnoxPortal) with ESMTP id 20170921123230epcas2p1c8250086ce5012e356b7bb21f2470516~mYG3jinCe0538005380epcas2p14; Thu, 21 Sep 2017 12:32:30 +0000 (GMT) Received: from epcas1p2.samsung.com ( [182.195.41.46]) by epsmges1p4.samsung.com (Symantec Messaging Gateway) with SMTP id 49.54.20296.E51B3C95; Thu, 21 Sep 2017 21:32:30 +0900 (KST) Received: from epsmgms2p1new.samsung.com (unknown [182.195.42.142]) by epcas1p4.samsung.com (KnoxPortal) with ESMTP id 20170921123230epcas1p4d3c1de108af7d34053d2c4f40dd42119~mYG3RD0en0534105341epcas1p4i; Thu, 21 Sep 2017 12:32:30 +0000 (GMT) X-AuditID: b6c32a38-f799e6d000004f48-9a-59c3b15e3afd Received: from epmmp1.local.host ( [203.254.227.16]) by epsmgms2p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 3C.33.11757.D51B3C95; Thu, 21 Sep 2017 21:32:30 +0900 (KST) Received: from NOYOUNGMINN01 ([12.36.165.40]) by mmp1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OWM006WVQU53A70@mmp1.samsung.com>; Thu, 21 Sep 2017 21:32:29 +0900 (KST) From: =?UTF-8?B?64Ko7JiB66+8?= To: tomasz.figa@gmail.com, krzk@kernel.org, s.nawrocki@samsung.com Cc: linus.walleij@linaro.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-gpio@vger.kernel.org Subject: [PATCH] pinctrl: samsung: add pinctrl_force_sleep() for "sleep" pinctrl state Date: Thu, 21 Sep 2017 21:32:29 +0900 Message-id: <006801d332d5$b0ca09d0$125e1d70$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset="UTF-8" Content-transfer-encoding: 8BIT X-Mailer: Microsoft Outlook 14.0 Thread-index: AdMy1aRpOfI5GqZ3QhaHjRQrp+QhpA== Content-language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprBJsWRmVeSWpSXmKPExsWy7bCmnm7cxsORBrueS1ucP7+B3WLKn+VM FpseX2O12Dz/D6PFjPP7mCwOv2lntVi16w+jA7vHzll32T02repk87hzbQ+bx+Yl9R59W1Yx enzeJBfAFpVqk5GamJJapJCal5yfkpmXbqvkHRzvHG9qZmCoa2hpYa6kkJeYm2qr5OIToOuW mQN0ipJCWWJOKVAoILG4WEnfzqYov7QkVSEjv7jEVina0NBIz9DAXM/IyEjPxCjWysgUqCQh NePH6X+MBTP4K27v72ZtYHzJ08XIySEhYCLxcPJTVghbTOLCvfVsILaQwA5GiVXXzLoYuYDs 74wSXXufMsI0/F64hxGiaDejxJOv0hBF7xklXn1YBtbNJmAp8erPSTBbRMBJovvCalaQImaB ZkaJfwdugK0TFoiQ2P5oMQuIzSKgKtFw/AIziM0L1Dx3O0ScV0BQ4sfke2A2s4CmxNbd69kh bG2JJ+8uQJ2tILHj7GtGiGV6Eouv9zFB1IhI7HvxjhFksYTAETaJI6s3skE0uEi8Xz8DqllY 4tXxLUBDOYBsaYlLR20h6tsZJW6ea2ODcKYwSuzvWsAM0WAs0XF3HtRFfBLvvvawQjTzSnS0 CUGUeEjcf7MSapejxNep25khwRUr0dm7kmUCo/wsJL/NQvLbLCS/zULywwJGllWMYqkFxbnp qcWGBSZ6xYm5xaV56XrJ+bmbGMGpUstiB+Oecz6HGAU4GJV4eF+YHY4UYk0sK67MPcQowcGs JMJ7tgYoxJuSWFmVWpQfX1Sak1p8iNEUGPYTmaVEk/OBaTyvJN7QxNLAxMzI0NjY1NBUSZxX dP21CCGB9MSS1OzU1ILUIpg+Jg5OqQbGfcLyOzMOqO4Qevxa598D/eMn6z9ZPVJtEGt0fDll a5L65acPF71kDQoprRdrP29UXfTPbJHkjklVS72XiccH3K5lzOFUZD+yP/GJzi3GlM+F6f6c +Z/mb3LVfdLWuv9YFMMUg3Lrv35TRP7PcK7kkreV/ZVU57VKr/3ij8eXDoVIbtV6XemrxFKc kWioxVxUnAgAOvalY6sDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrKLMWRmVeSWpSXmKPExsVy+t9jAd24jYcjDX4dZ7E4f34Du8WUP8uZ LDY9vsZqsXn+H0aLGef3MVkcftPOarFq1x9GB3aPnbPusntsWtXJ5nHn2h42j81L6j36tqxi 9Pi8SS6ALYrLJiU1J7MstUjfLoEr48fpf4wFM/grbu/vZm1gfMnTxcjJISFgIvF74R7GLkYu DiGBnYwS7y4tYIVw3jNKHJu0jx2kik3AUuLVn5NsILaIgJNE94XVYEXMAs2MEt3PV4MlhAUi JLY/WswCYrMIqEo0HL/ADGLzAjXP3Q4R5xUQlPgx+R6YzSygLjFp3iJmCFtb4sm7C6wQJylI 7Dj7mhFimZ7E4ut9TBA1IhL7XrxjnMDIPwvJqFlIRs1CMmoWkpYFjCyrGCVTC4pz03OLjQoM 81LL9YoTc4tL89L1kvNzNzECA3/bYa2+HYz3l8QfYhTgYFTi4Z1gcjhSiDWxrLgy9xCjBAez kgjv2RqgEG9KYmVValF+fFFpTmrxIUZpDhYlcd7MvhmRQgLpiSWp2ampBalFMFkmDk6pBkbR Rdwma02DmN+kdhxXqOB425e6459/Z+o8Ad0jvatntRlmvQx47rxi1SK/yRKzTyS+XD7nqpX+ u03MX+NTvEs2yz78s8RIdL9zyYrzi2Yvv247Xbb9y7Vzt+/eDaorWaH/YdbXv+HfFY0+3TIN 2PZE7EqshUrAPzHFSfeMf35/WBeUIGqYq+2uxFKckWioxVxUnAgAXCeRkXgCAAA= X-CMS-MailID: 20170921123230epcas1p4d3c1de108af7d34053d2c4f40dd42119 X-Msg-Generator: CA X-Sender-IP: 182.195.42.142 X-Local-Sender: =?UTF-8?B?64Ko7JiB66+8G1MvVyBQbGF0Zm9ybeqwnOuwnO2MgChTLkxT?= =?UTF-8?B?SSkb7IK87ISx7KCE7J6QG1NlbmlvciBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?WW91bmdtaW4gTmFtG1MvVyBQbGF0Zm9ybSBEZXZlbG9wbWVu?= =?UTF-8?B?dCBUZWFtG1NhbXN1bmcgRWxlY3Ryb25pY3MbU2VuaW9yIEVuZ2luZWVy?= X-Sender-Code: =?UTF-8?B?QzEwG1NFTUkbQzEwSTM0MDc=?= CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20170921123230epcas1p4d3c1de108af7d34053d2c4f40dd42119 X-RootMTR: 20170921123230epcas1p4d3c1de108af7d34053d2c4f40dd42119 References: Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This patch adds pinctrl_for_sleep() in samsung_pinctrl_suspend() to support configuration of "sleep" pinctrl state. For example, we can configure "sleep" pinctrl state of "gpf1-6" as "INPUT, PULL DOWN" by configuring power down mode register. &pinctrl_5 { pinctrl-names = "default","sleep"; pinctrl-0 = <&initial5>; pinctrl-1 = <&sleep5>; initial5: initial-state { samsung,pins = gpf1-6; samsung,pin-function = ; }; sleep5: sleep-state { samsung,pins = gpf1-6; samsung,pin-con-pdn = ; samsung,pin-pud-pdn = ; }; }; Signed-off-by: Youngmin Nam --- drivers/pinctrl/samsung/pinctrl-samsung.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c index e04f7fe0a65d..b4d12f8db475 100644 --- a/drivers/pinctrl/samsung/pinctrl-samsung.c +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c @@ -1099,6 +1099,11 @@ static int __maybe_unused samsung_pinctrl_suspend(struct device *dev) { struct samsung_pinctrl_drv_data *drvdata = dev_get_drvdata(dev); int i; + int ret; + + ret = pinctrl_force_sleep(drvdata->pctl_dev); + if (ret) + dev_err(dev, "could not set sleep pinstate %d\n", ret); for (i = 0; i < drvdata->nr_banks; i++) { struct samsung_pin_bank *bank = &drvdata->pin_banks[i]; @@ -1187,6 +1192,11 @@ static int __maybe_unused samsung_pinctrl_resume(struct device *dev) if (drvdata->retention_ctrl && drvdata->retention_ctrl->disable) drvdata->retention_ctrl->disable(drvdata); + /* For changing state without writing register. */ + if (!IS_ERR(drvdata->pctl_dev->p) && + !IS_ERR(drvdata->pctl_dev->hog_default)) + drvdata->pctl_dev->p->state = drvdata->pctl_dev->hog_default; + return 0; }