From patchwork Thu Mar 23 08:03:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 95890 Delivered-To: patch@linaro.org Received: by 10.140.89.233 with SMTP id v96csp624596qgd; Thu, 23 Mar 2017 01:04:02 -0700 (PDT) X-Received: by 10.84.173.4 with SMTP id o4mr1801790plb.106.1490256242664; Thu, 23 Mar 2017 01:04:02 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z12si3318934pfg.149.2017.03.23.01.04.02; Thu, 23 Mar 2017 01:04:02 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-samsung-soc-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932339AbdCWID6 (ORCPT + 4 others); Thu, 23 Mar 2017 04:03:58 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:36869 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932117AbdCWIDx (ORCPT ); Thu, 23 Mar 2017 04:03:53 -0400 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout3.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0ON900ACKD2DC450@mailout3.w1.samsung.com>; Thu, 23 Mar 2017 08:03:49 +0000 (GMT) Received: from eusmges1.samsung.com (unknown [203.254.199.239]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170323080349eucas1p2fec23cb3eb72d6c234bee7054c9843f2~udCUHFg202143521435eucas1p2m; Thu, 23 Mar 2017 08:03:49 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1.samsung.com (EUCPMTA) with SMTP id B2.8C.16908.76183D85; Thu, 23 Mar 2017 08:03:51 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170323080348eucas1p188a598869b71a1302160df46839b3ca8~udCTIRKC02463724637eucas1p1R; Thu, 23 Mar 2017 08:03:48 +0000 (GMT) X-AuditID: cbfec7ef-f79d26d00000420c-81-58d38167d5b6 Received: from eusync2.samsung.com ( [203.254.199.212]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 3D.A7.10233.37183D85; Thu, 23 Mar 2017 08:04:03 +0000 (GMT) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0ON90067HD26AT60@eusync2.samsung.com>; Thu, 23 Mar 2017 08:03:47 +0000 (GMT) From: Marek Szyprowski To: linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Marek Szyprowski , Sylwester Nawrocki , Krzysztof Kozlowski , Linus Walleij , Tomasz Figa , Lee Jones , Bartlomiej Zolnierkiewicz , Chanwoo Choi Subject: [PATCH v4 2/6] pinctrl: samsung: Add support for pad retention control for Exynos5433 SoCs Date: Thu, 23 Mar 2017 09:03:23 +0100 Message-id: <1490256207-10061-3-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1490256207-10061-1-git-send-email-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrKIsWRmVeSWpSXmKPExsWy7djP87rpjZcjDBZdVbTYOGM9q8X1L89Z Lc6f38Bucf/rUUaLKX+WM1lsenyN1WLz/D+MFpd3zWGzmHF+H5PF2iN32S0Ov2lntVi16w+j A4/Hzll32T02repk87hzbQ+bx+Yl9R59W1YxenzeJBfAFsVlk5Kak1mWWqRvl8CV0fd6IkvB M6OKExdPsjUwTtXuYuTkkBAwkTh+dzs7hC0mceHeerYuRi4OIYFljBJn575lh3A+M0pMXbeZ FaZj2omdjCA2WNW3LboQdgOTRENfKIjNJmAo0fW2C2ySiEA7o8Tdvg4mEIdZ4AaTRMv9qWwg VcICqRLflm5kAbFZBFQlPl8+BrSOg4NXwEPifGM6xDI5iZPHJoMt5hTwlLi65iALyBwJgUXs EjNu/GADqZcQkJXYdIAZot5FYtn1l1CHCku8Or4F6jUZicuTu1kg7H5GiaZWqPdnMEqce8sL YVtLHD5+EayXWYBPYtK26cwQ43klOtqEIEo8JF6/2M0EYTtKPHg9mxUSQHMYJQ4uWsk0gVFm ASPDKkaR1NLi3PTUYkO94sTc4tK8dL3k/NxNjMDIP/3v+PsdjE+bQw4xCnAwKvHwRtRcihBi TSwrrsw9xCjBwawkwmtbeDlCiDclsbIqtSg/vqg0J7X4EKM0B4uSOO/eBVfChQTSE0tSs1NT C1KLYLJMHJxSDYyTIlYEsVyJsxJxFmi74Sh18fSi099PyoSIH4z7YVOkGbeNozXQdMdFP749 wlHeJY9OV+w4eHeqDevuk7dkTSOS/ttmNimvP2K/yT7MS4ztrrOlbJHNox62Mt7Pq2flWwmp +2nZrdt18euDosilbUsEdBae3Zfy2mp1aKyUY1/k5sR5dWGMWkosxRmJhlrMRcWJAOAxNyn4 AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpjkeLIzCtJLcpLzFFi42I5/e/4Fd3ixssRBocapSw2zljPanH9y3NW i/PnN7Bb3P96lNFiyp/lTBabHl9jtdg8/w+jxeVdc9gsZpzfx2Sx9shddovDb9pZLVbt+sPo wOOxc9Zddo9NqzrZPO5c28PmsXlJvUffllWMHp83yQWwRbnZZKQmpqQWKaTmJeenZOal2yqF hrjpWigp5CXmptoqRej6hgQpKZQl5pQCeUYGaMDBOcA9WEnfLsEto+/1RJaCZ0YVJy6eZGtg nKrdxcjJISFgIjHtxE5GCFtM4sK99WxdjFwcQgJLGCVmvl/OBOE0MUlMOL+bHaSKTcBQoutt F1iViEA7o8Tr29eYQBLMAneYJDa8TAGxhQVSJc6f2ccCYrMIqEp8vnwMqJmDg1fAQ+J8YzrE NjmJk8cms4LYnAKeElfXHAQrFwIq2XDnE/sERt4FjAyrGEVSS4tz03OLjfSKE3OLS/PS9ZLz czcxAuNg27GfW3Ywdr0LPsQowMGoxMO7oe5ShBBrYllxZe4hRgkOZiURXtvCyxFCvCmJlVWp RfnxRaU5qcWHGE2BbprILCWanA+M0bySeEMTQ3NLQyNjCwtzIyMlcd6pH66ECwmkJ5akZqem FqQWwfQxcXBKNTC6X3Tb/KnavmdJmkx1tM7vp/fb9SziFBonnXgbVjBZbDf/wftbj/y7/v3O C/7Kw7stg3VXHLzbesilO/HJgvd83N5Xf5z+urjtg+kag9gm7znasZEVArdkGVTk719czJiX FvC+cFbg697wNak/fNh2Vkaf1HctNvn48dakgPAy02i3n1/uJDkosRRnJBpqMRcVJwIAOFG8 4ZkCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170323080348eucas1p188a598869b71a1302160df46839b3ca8 X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1B?= =?utf-8?b?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1BSam?= =?utf-8?q?sung_Electronics=1BSenior_Software_Engineer?= X-Sender-Code: =?utf-8?q?C10=1BEHQ=1BC10CD02CD027392?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170323080348eucas1p188a598869b71a1302160df46839b3ca8 X-RootMTR: 20170323080348eucas1p188a598869b71a1302160df46839b3ca8 References: <1490256207-10061-1-git-send-email-m.szyprowski@samsung.com> Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org This patch adds support for retention control for Exynos5433 SoCs. Three groups of pins has been defined for retention control: common shared group for ALIVE, CPIF, eSE, FINGER, IMEM, NFC, PERIC, TOUCH pin banks and separate control for FSYS and AUD pin banks, for which PMU retention registers match whole banks. Signed-off-by: Marek Szyprowski Reviewed-by: Krzysztof Kozlowski --- drivers/pinctrl/samsung/pinctrl-exynos.c | 58 ++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c index fa8bdd9ae198..c0dfd31c0fa2 100644 --- a/drivers/pinctrl/samsung/pinctrl-exynos.c +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c @@ -1551,6 +1551,54 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) EXYNOS_PIN_BANK_EINTG(3, 0x000, "gpj1", 0x00), }; +/* PMU pin retention groups registers for Exynos5433 (without audio & fsys) */ +static const u32 exynos5433_retention_regs[] = { + EXYNOS5433_PAD_RETENTION_TOP_OPTION, + EXYNOS5433_PAD_RETENTION_UART_OPTION, + EXYNOS5433_PAD_RETENTION_EBIA_OPTION, + EXYNOS5433_PAD_RETENTION_EBIB_OPTION, + EXYNOS5433_PAD_RETENTION_SPI_OPTION, + EXYNOS5433_PAD_RETENTION_MIF_OPTION, + EXYNOS5433_PAD_RETENTION_USBXTI_OPTION, + EXYNOS5433_PAD_RETENTION_BOOTLDO_OPTION, + EXYNOS5433_PAD_RETENTION_UFS_OPTION, + EXYNOS5433_PAD_RETENTION_FSYSGENIO_OPTION, +}; + +static const struct samsung_retention_data exynos5433_retention_data __initconst = { + .regs = exynos5433_retention_regs, + .nr_regs = ARRAY_SIZE(exynos5433_retention_regs), + .value = EXYNOS_WAKEUP_FROM_LOWPWR, + .refcnt = &exynos_shared_retention_refcnt, + .init = exynos_retention_init, +}; + +/* PMU retention control for audio pins can be tied to audio pin bank */ +static const u32 exynos5433_audio_retention_regs[] = { + EXYNOS5433_PAD_RETENTION_AUD_OPTION, +}; + +static const struct samsung_retention_data exynos5433_audio_retention_data __initconst = { + .regs = exynos5433_audio_retention_regs, + .nr_regs = ARRAY_SIZE(exynos5433_audio_retention_regs), + .value = EXYNOS_WAKEUP_FROM_LOWPWR, + .init = exynos_retention_init, +}; + +/* PMU retention control for mmc pins can be tied to fsys pin bank */ +static const u32 exynos5433_fsys_retention_regs[] = { + EXYNOS5433_PAD_RETENTION_MMC0_OPTION, + EXYNOS5433_PAD_RETENTION_MMC1_OPTION, + EXYNOS5433_PAD_RETENTION_MMC2_OPTION, +}; + +static const struct samsung_retention_data exynos5433_fsys_retention_data __initconst = { + .regs = exynos5433_fsys_retention_regs, + .nr_regs = ARRAY_SIZE(exynos5433_fsys_retention_regs), + .value = EXYNOS_WAKEUP_FROM_LOWPWR, + .init = exynos_retention_init, +}; + /* * Samsung pinctrl driver data for Exynos5433 SoC. Exynos5433 SoC includes * ten gpio/pin-mux/pinconfig controllers. @@ -1564,6 +1612,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) .suspend = exynos_pinctrl_suspend, .resume = exynos_pinctrl_resume, .nr_ext_resources = 1, + .retention_data = &exynos5433_retention_data, }, { /* pin-controller instance 1 data */ .pin_banks = exynos5433_pin_banks1, @@ -1571,6 +1620,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) .eint_gpio_init = exynos_eint_gpio_init, .suspend = exynos_pinctrl_suspend, .resume = exynos_pinctrl_resume, + .retention_data = &exynos5433_audio_retention_data, }, { /* pin-controller instance 2 data */ .pin_banks = exynos5433_pin_banks2, @@ -1578,6 +1628,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) .eint_gpio_init = exynos_eint_gpio_init, .suspend = exynos_pinctrl_suspend, .resume = exynos_pinctrl_resume, + .retention_data = &exynos5433_retention_data, }, { /* pin-controller instance 3 data */ .pin_banks = exynos5433_pin_banks3, @@ -1585,6 +1636,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) .eint_gpio_init = exynos_eint_gpio_init, .suspend = exynos_pinctrl_suspend, .resume = exynos_pinctrl_resume, + .retention_data = &exynos5433_retention_data, }, { /* pin-controller instance 4 data */ .pin_banks = exynos5433_pin_banks4, @@ -1592,6 +1644,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) .eint_gpio_init = exynos_eint_gpio_init, .suspend = exynos_pinctrl_suspend, .resume = exynos_pinctrl_resume, + .retention_data = &exynos5433_retention_data, }, { /* pin-controller instance 5 data */ .pin_banks = exynos5433_pin_banks5, @@ -1599,6 +1652,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) .eint_gpio_init = exynos_eint_gpio_init, .suspend = exynos_pinctrl_suspend, .resume = exynos_pinctrl_resume, + .retention_data = &exynos5433_fsys_retention_data, }, { /* pin-controller instance 6 data */ .pin_banks = exynos5433_pin_banks6, @@ -1606,6 +1660,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) .eint_gpio_init = exynos_eint_gpio_init, .suspend = exynos_pinctrl_suspend, .resume = exynos_pinctrl_resume, + .retention_data = &exynos5433_retention_data, }, { /* pin-controller instance 7 data */ .pin_banks = exynos5433_pin_banks7, @@ -1613,6 +1668,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) .eint_gpio_init = exynos_eint_gpio_init, .suspend = exynos_pinctrl_suspend, .resume = exynos_pinctrl_resume, + .retention_data = &exynos5433_retention_data, }, { /* pin-controller instance 8 data */ .pin_banks = exynos5433_pin_banks8, @@ -1620,6 +1676,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) .eint_gpio_init = exynos_eint_gpio_init, .suspend = exynos_pinctrl_suspend, .resume = exynos_pinctrl_resume, + .retention_data = &exynos5433_retention_data, }, { /* pin-controller instance 9 data */ .pin_banks = exynos5433_pin_banks9, @@ -1627,6 +1684,7 @@ static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata) .eint_gpio_init = exynos_eint_gpio_init, .suspend = exynos_pinctrl_suspend, .resume = exynos_pinctrl_resume, + .retention_data = &exynos5433_retention_data, }, }; From patchwork Thu Mar 23 08:03:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 95893 Delivered-To: patch@linaro.org Received: by 10.140.89.233 with SMTP id v96csp624837qgd; Thu, 23 Mar 2017 01:04:42 -0700 (PDT) X-Received: by 10.99.9.65 with SMTP id 62mr1437314pgj.22.1490256282380; Thu, 23 Mar 2017 01:04:42 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k69si4632408pgd.418.2017.03.23.01.04.42; Thu, 23 Mar 2017 01:04:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-samsung-soc-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932210AbdCWIEl (ORCPT + 4 others); Thu, 23 Mar 2017 04:04:41 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:36951 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932360AbdCWIEA (ORCPT ); Thu, 23 Mar 2017 04:04:00 -0400 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout4.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0ON9004CJD2ELP50@mailout4.w1.samsung.com>; Thu, 23 Mar 2017 08:03:50 +0000 (GMT) Received: from eusmges3.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170323080350eucas1p1a55f7a49e263a309f5e108bb3912fbb7~udCVCHpFU2448424484eucas1p16; Thu, 23 Mar 2017 08:03:50 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3.samsung.com (EUCPMTA) with SMTP id E5.9B.09557.56183D85; Thu, 23 Mar 2017 08:03:49 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170323080349eucas1p24093d55f6654274e0c0bdf02d477c906~udCUbeaoi1973919739eucas1p2v; Thu, 23 Mar 2017 08:03:49 +0000 (GMT) X-AuditID: cbfec7f2-f790f6d000002555-c3-58d381653a83 Received: from eusync2.samsung.com ( [203.254.199.212]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id DB.E5.06687.1D183D85; Thu, 23 Mar 2017 08:05:37 +0000 (GMT) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0ON90067HD26AT60@eusync2.samsung.com>; Thu, 23 Mar 2017 08:03:49 +0000 (GMT) From: Marek Szyprowski To: linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Marek Szyprowski , Sylwester Nawrocki , Krzysztof Kozlowski , Linus Walleij , Tomasz Figa , Lee Jones , Bartlomiej Zolnierkiewicz , Chanwoo Choi Subject: [PATCH v4 5/6] mfd: exynos-lpass: Add missing remove() function Date: Thu, 23 Mar 2017 09:03:26 +0100 Message-id: <1490256207-10061-6-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1490256207-10061-1-git-send-email-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrGIsWRmVeSWpSXmKPExsWy7djP87qpjZcjDBquGVpsnLGe1eL6l+es FufPb2C3uP/1KKPFlD/LmSw2Pb7GarF5/h9Gi8u75rBZzDi/j8li7ZG77BaH37SzWqza9YfR gcdj56y77B6bVnWyedy5tofNY/OSeo++LasYPT5vkgtgi+KySUnNySxLLdK3S+DKWPbvDWvB fK6Ky5232RoYn3J0MXJySAiYSMx818oMYYtJXLi3nq2LkYtDSGApo8SSc93sEM5nRolr6/pY YTqe7rvHBJFYxijxqb8BrF1IoIFJ4uaqHBCbTcBQouttF9goEYF2Rom7fR1gHcwCN5gkWu5P ZQOpEhbwkLj4bhZYN4uAqsTs7QcZQWxeoPi857Og1slJnDw2GczmFPCUuLrmIAvIIAmBeewS c+f+ADqQA8iRldh0AOoJF4nz17awQ9jCEq+Ow9gyEp0dB5kg7H5GiaZWbQh7BqPEube8ELa1 xOHjF8F2MQvwSUzaNp0ZYjyvREebEESJh8TnU//YIMKOEr8maEMCYg6jxPr9X5knMMosYGRY xSiSWlqcm55abKxXnJhbXJqXrpecn7uJERj7p/8d/7SD8esJq0OMAhyMSjy8G+ouRQixJpYV V+YeYpTgYFYS4bUtvBwhxJuSWFmVWpQfX1Sak1p8iFGag0VJnHfPgivhQgLpiSWp2ampBalF MFkmDk6pBsbde8/MMYksuhfvPMG6PXnSPG7LtbdEd250m6Aqz7iwbNP6E629T2508Nb6nPuy e9O0RYsXdu/mObfc9zhzywcVvUm7mg9PuHzhm7kuf0HK3cVWfYFfW7cZVP4wF3BZ38PbVD1T c9nU2dMTxe9IL/dc15hdqdnBYso153FE1M2HsQnnD4b1rJqvxFKckWioxVxUnAgArpY5ZfkC AAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpnkeLIzCtJLcpLzFFi42I5/e/4Fd2LjZcjDBpfKFhsnLGe1eL6l+es FufPb2C3uP/1KKPFlD/LmSw2Pb7GarF5/h9Gi8u75rBZzDi/j8li7ZG77BaH37SzWqza9YfR gcdj56y77B6bVnWyedy5tofNY/OSeo++LasYPT5vkgtgi3KzyUhNTEktUkjNS85PycxLt1UK DXHTtVBSyEvMTbVVitD1DQlSUihLzCkF8owM0ICDc4B7sJK+XYJbxrJ/b1gL5nNVXO68zdbA +JSji5GTQ0LAROLpvntMELaYxIV769m6GLk4hASWMEq8n3qGBcJpYpJYcPU8C0gVm4ChRNfb LrAqEYF2RonXt6+BtTML3GGS2PAyBcQWFvCQuPhuFjOIzSKgKjF7+0FGEJsXKD7v+SxWiHVy EiePTQazOQU8Ja6uOQi2QAioZsOdT+wTGHkXMDKsYhRJLS3OTc8tNtQrTswtLs1L10vOz93E CIyEbcd+bt7BeGlj8CFGAQ5GJR7eiJpLEUKsiWXFlbmHGCU4mJVEeG0LL0cI8aYkVlalFuXH F5XmpBYfYjQFOmois5Rocj4wSvNK4g1NDM0tDY2MLSzMjYyUxHlLPlwJFxJITyxJzU5NLUgt gulj4uCUamCcL+rf+bIs4//VLY5tKenvWTd7M+1u6ptya96J14K3l0+/cU53iamdY8i6iMVv p0+Ss1i3auON1n3LXJou3Vwl/KM5mjV1VpYe24vwrRf3W0T57GxpPXzkgNueb0eLPibt2Lx6 mkcMR1KkyIpu4cbTKS9d90Y+9VixTIuLZ/4Lk9uhdw+48ncFKbEUZyQaajEXFScCAAyv/8qa AgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170323080349eucas1p24093d55f6654274e0c0bdf02d477c906 X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 X-Local-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1B?= =?utf-8?b?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1BSam?= =?utf-8?q?sung_Electronics=1BSenior_Software_Engineer?= X-Sender-Code: =?utf-8?q?C10=1BEHQ=1BC10CD02CD027392?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170323080349eucas1p24093d55f6654274e0c0bdf02d477c906 X-RootMTR: 20170323080349eucas1p24093d55f6654274e0c0bdf02d477c906 References: <1490256207-10061-1-git-send-email-m.szyprowski@samsung.com> Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org Disable device on driver remove and release allocated regmap. Signed-off-by: Marek Szyprowski Reviewed-by: Krzysztof Kozlowski Acked-by: Sylwester Nawrocki Acked-for-MFD-by: Lee Jones --- drivers/mfd/exynos-lpass.c | 11 +++++++++++ 1 file changed, 11 insertions(+) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/mfd/exynos-lpass.c b/drivers/mfd/exynos-lpass.c index be264988bdc9..9dbbedad916f 100644 --- a/drivers/mfd/exynos-lpass.c +++ b/drivers/mfd/exynos-lpass.c @@ -137,6 +137,16 @@ static int exynos_lpass_probe(struct platform_device *pdev) return of_platform_populate(dev->of_node, NULL, NULL, dev); } +static int exynos_lpass_remove(struct platform_device *pdev) +{ + struct exynos_lpass *lpass = platform_get_drvdata(pdev); + + exynos_lpass_disable(lpass); + regmap_exit(lpass->top); + + return 0; +} + static int __maybe_unused exynos_lpass_suspend(struct device *dev) { struct exynos_lpass *lpass = dev_get_drvdata(dev); @@ -171,6 +181,7 @@ static SIMPLE_DEV_PM_OPS(lpass_pm_ops, exynos_lpass_suspend, .of_match_table = exynos_lpass_of_match, }, .probe = exynos_lpass_probe, + .remove = exynos_lpass_remove, }; module_platform_driver(exynos_lpass_driver);