From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753061AbdAZIeQ (ORCPT ); Thu, 26 Jan 2017 03:34:16 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:30686 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752894AbdAZIeG (ORCPT ); Thu, 26 Jan 2017 03:34:06 -0500 X-AuditID: cbfec7f2-f790f6d000002555-0d-5889b47afd97 From: Marek Szyprowski To: linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Marek Szyprowski , Sylwester Nawrocki , Krzysztof Kozlowski , Linus Walleij , Tomasz Figa , Lee Jones , Bartlomiej Zolnierkiewicz Subject: [PATCH v2 2/8] pinctrl: samsung: Ensure that pad retention is disabled on driver init Date: Thu, 26 Jan 2017 09:33:48 +0100 Message-id: <1485419634-28331-3-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1485419634-28331-1-git-send-email-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrCIsWRmVeSWpSXmKPExsWy7djP87pVWzojDK58l7LYOGM9q8X8I+dY Lc6f38Bucf/rUUaLKX+WM1lsenyN1WLz/D+MFpd3zWGzmHF+H5PF2iN32S0Ov2lntVi16w+j A4/Hzll32T02repk87hzbQ+bx+Yl9R59W1YxenzeJBfAFsVlk5Kak1mWWqRvl8CV0bIso+Ar V8Xp07UNjDM5uxg5OSQETCQa3x9lhbDFJC7cW8/WxcjFISSwlFHi8fkmJpCEkMBnRontK6ph Gk6dXwhVtIxR4u78CcwQTgOTRO+F28wgVWwChhJdb7vAqkRARh1d1gnmMAtsYpJoW3ICrEpY IEGipe070HIODhYBVYnjjXwgYV4BD4nXxydB3SQncfLYZDCbU8BT4vTTV+wgcyQE5rFL7D9/ lRGkV0JAVmLTAWaIeheJf0uWQtnCEq+Ob2GHsGUkOjsOMkHY/YwSTa3aEPYMRolzb3khbGuJ w8cvgu1iFuCTmLRtOjPEeF6JjjYhiBIPiRvb/0KNcZTY/fA+I8TzcxglVp98wTaBUWYBI8Mq RpHU0uLc9NRiY73ixNzi0rx0veT83E2MwLg//e/4px2MX09YHWIU4GBU4uE9sKMjQog1say4 MvcQowQHs5II7/nVnRFCvCmJlVWpRfnxRaU5qcWHGKU5WJTEefcsuBIuJJCeWJKanZpakFoE k2Xi4JRqYFz52LEr7JHuQpVudm5vu7Zf0w492lT6z7/lTt+FmGSbU85f5192C+wQ7hFj9/Bh uF82VUSLc+PjjAnhZz/Lt7W+6WpQq2LSbLizXSb7ypwXjeYXrP506IcIzAiey3rYNnn+2ZuT Xr8qDXF6mXm/ab6z3xSNFr73Blr/A7XmCpw4u9/YPDBPVomlOCPRUIu5qDgRAL2iodD3AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmplkeLIzCtJLcpLzFFi42I5/e/4Zd2dWzojDO5t0rHYOGM9q8X8I+dY Lc6f38Bucf/rUUaLKX+WM1lsenyN1WLz/D+MFpd3zWGzmHF+H5PF2iN32S0Ov2lntVi16w+j A4/Hzll32T02repk87hzbQ+bx+Yl9R59W1YxenzeJBfAFuVmk5GamJJapJCal5yfkpmXbqsU GuKma6GkkJeYm2qrFKHrGxKkpFCWmFMK5BkZoAEH5wD3YCV9uwS3jJZlGQVfuSpOn65tYJzJ 2cXIySEhYCJx6vxCNghbTOLCvfVANheHkMASRomm/nesEE4Tk0TvziVMIFVsAoYSXW+7wKpE BJYySvxf+ZkdxGEW2MIk0bXpIjtIlbBAgsTe/rtANgcHi4CqxPFGPpAwr4CHxOvjk1gh1slJ nDw2GczmFPCUOP30FVirEFDNposL2Scw8i5gZFjFKJJaWpybnltsqFecmFtcmpeul5yfu4kR GAXbjv3cvIPx0sbgQ4wCHIxKPLwHdnRECLEmlhVX5h5ilOBgVhLhPb+6M0KINyWxsiq1KD++ qDQntfgQoynQTROZpUST84ERmlcSb2hiaG5paGRsYWFuZKQkzlvy4Uq4kEB6YklqdmpqQWoR TB8TB6dUA2NCA3//7Cq+w7afp+SssH997H1563bGHU8y9zj/rjNhFUnda9D71u9D8Lzo/4lK 06YrZxbO0jRbns54ISj3wMFeXq2dLKoXjs29tdtu1svPASJFDmf1jVl+HopUKJyv+sld/15R +YGkjdLH3r/88kHS57QGW8mmNw0cGz+fi//pZH0lxclv5iMlluKMREMt5qLiRACw4liBmAIA AA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170126083401eucas1p289b69e3694b91e83983cd6e09aa7053c X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 X-Local-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRs=?= =?UTF-8?B?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRtT?= =?UTF-8?B?YW1zdW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170126083401eucas1p289b69e3694b91e83983cd6e09aa7053c X-RootMTR: 20170126083401eucas1p289b69e3694b91e83983cd6e09aa7053c References: <1485419634-28331-1-git-send-email-m.szyprowski@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When pin controller device is a part of power domain, there is no guarantee that the power domain was not turned off and then on during boot process before probing of the pin control driver. If it happened, then pin control driver should ensure that pad retention is turned off during its probe call. Signed-off-by: Marek Szyprowski Reviewed-by: Krzysztof Kozlowski --- drivers/pinctrl/samsung/pinctrl-exynos.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c index 63e51b56a22a..fa3802970570 100644 --- a/drivers/pinctrl/samsung/pinctrl-exynos.c +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c @@ -777,6 +777,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) { struct samsung_retention_ctrl *ctrl; struct regmap *pmu_regs; + int i; ctrl = devm_kzalloc(drvdata->dev, sizeof(*ctrl), GFP_KERNEL); if (!ctrl) @@ -794,6 +795,10 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) ctrl->enable = exynos_retention_enable; ctrl->disable = exynos_retention_disable; + /* Ensure that retention is disabled on driver init */ + for (i = 0; i < ctrl->nr_regs; i++) + regmap_write(pmu_regs, ctrl->regs[i], ctrl->value); + return ctrl; } -- 1.9.1