Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752359AbcKGKsx (ORCPT ); Mon, 7 Nov 2016 05:48:53 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:11843 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751012AbcKGKst (ORCPT ); Mon, 7 Nov 2016 05:48:49 -0500 X-AuditID: cbfec7f4-f791c6d000006eac-04-58205c0dea79 From: Marek Szyprowski To: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org Cc: Marek Szyprowski , Sylwester Nawrocki , Kishon Vijay Abraham I , Krzysztof Kozlowski Subject: [PATCH RESEND] phy: exynos-mipi-video: simplify check for coupled phy status Date: Mon, 07 Nov 2016 11:48:32 +0100 Message-id: <1478515712-650-1-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrLIsWRmVeSWpSXmKPExsWy7djP87q8MQoRBjO38FlsnLGe1WLS/Qks Fhee9rBZnD+/gd3i8q45bBYzzu9jslh75C67xeE37awOHB6bVnWyefRtWcXocfzGdiaPz5vk AliiuGxSUnMyy1KL9O0SuDKeL5/KWNDIWzHt6Q6mBsZnXF2MnBwSAiYSk95/YoKwxSQu3FvP 1sXIxSEksJRR4sGav1DOZ0aJ5QtXM8N0vP60iBEisYxRorXlHCuE08AkMefFN7BZbAKGEl1v u9hAbBEBZ4nbH76xgBQxC6xnlLi/eQE7SEJYIFzi69t3YGNZBFQlDj15xQpi8wq4SVzZ/oER Yp2cxMljk8E2SAjcZpO4sLAFqIEDyJGV2HQA6iQXidVb3rND2MISr45vgbJlJC5P7maBsPsZ JZpatSHsGYwS597yQtjWEoePXwTbyyzAJzFp23So8bwSHW1CECUeEusnTYNa5SjRtnk62GlC ArESS7Z/YZ7AKL2AkWEVo0hqaXFuemqxiV5xYm5xaV66XnJ+7iZGYKSe/nf8yw7GxcesDjEK cDAq8fBm2MlHCLEmlhVX5h5ilOBgVhLh3RClECHEm5JYWZValB9fVJqTWnyIUZqDRUmcd8+C K+FCAumJJanZqakFqUUwWSYOTqkGxo6W35vyr/Su+3edOeLFIrGwpxf2Kz+Qc1jY+mbyXO+L 0VIFh4I2Fzz88ohN5Fr++zVmoW3/aiR5lhfZW57X0XD+UyAuwDPPYLarnD5PduKWqDtT99bc fam5qc76VmfDwSvnZ0u/a/0VnhXz/GISc6fI100rv561+vPzaGbBJgkF0WUTu7dcWKfEUpyR aKjFXFScCABxVSmI0AIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrELMWRmVeSWpSXmKPExsVy+t/xq7rvoxUiDB4+YrfYOGM9q8Wk+xNY LC487WGzOH9+A7vF5V1z2CxmnN/HZLH2yF12i8Nv2lkdODw2repk8+jbsorR4/iN7UwenzfJ BbBEudlkpCampBYppOYl56dk5qXbKoWGuOlaKCnkJeam2ipF6PqGBCkplCXmlAJ5RgZowME5 wD1YSd8uwS3j+fKpjAWNvBXTnu5gamB8xtXFyMkhIWAi8frTIkYIW0ziwr31bF2MXBxCAksY JT7v/cEM4TQxSbQ/n88MUsUmYCjR9baLDcQWEXCWuP3hGwtIEbPAekaJ/n93WUESwgLhEjOu zmQHsVkEVCUOPXkFFucVcJO4sv0D1Do5iZPHJrNOYORewMiwilEktbQ4Nz232EivODG3uDQv XS85P3cTIzA8tx37uWUHY9e74EOMAhyMSjy8AjbyEUKsiWXFlbmHGCU4mJVEeDdEKUQI8aYk VlalFuXHF5XmpBYfYjQFWj6RWUo0OR8YO3kl8YYmhuaWhkbGFhbmRkZK4rxTP1wJFxJITyxJ zU5NLUgtgulj4uCUamDsFXvYv11l9lHuTFW5i+X+yyoqlhVHHTwYad1Tydq+qenq38XaUckz dlY46OaLOf9dpfHkkGmt5ubNwposc1ydOQIzSsQM0iU+WKxt3DP5P3PI3uu8u0x07C2k+t8U ephrefxLs+x9ue3517qTyULfL16ROHJwiUrvkR6BnnsmUr/rw06yvVZiKc5INNRiLipOBAB3 4596ZQIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20161107104844eucas1p2b5571119dff76e33d6ec038c359224f7 X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 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: 20161107104844eucas1p2b5571119dff76e33d6ec038c359224f7 X-RootMTR: 20161107104844eucas1p2b5571119dff76e33d6ec038c359224f7 References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1617 Lines: 46 There is no need to access regmap of coupled phy to check its state - such information is already in the phy device itself, so use it directly. This let us to avoid possible access to registers of the device in the disabled power domain if the coupled phy is already disabled. Signed-off-by: Marek Szyprowski Acked-by: Sylwester Nawrocki --- drivers/phy/phy-exynos-mipi-video.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/drivers/phy/phy-exynos-mipi-video.c b/drivers/phy/phy-exynos-mipi-video.c index 8b851f7..6bee04c 100644 --- a/drivers/phy/phy-exynos-mipi-video.c +++ b/drivers/phy/phy-exynos-mipi-video.c @@ -229,19 +229,6 @@ struct exynos_mipi_video_phy { spinlock_t slock; }; -static inline int __is_running(const struct exynos_mipi_phy_desc *data, - struct exynos_mipi_video_phy *state) -{ - u32 val; - int ret; - - ret = regmap_read(state->regmaps[data->resetn_map], data->resetn_reg, &val); - if (ret) - return 0; - - return val & data->resetn_val; -} - static int __set_phy_state(const struct exynos_mipi_phy_desc *data, struct exynos_mipi_video_phy *state, unsigned int on) { @@ -251,7 +238,7 @@ static int __set_phy_state(const struct exynos_mipi_phy_desc *data, /* disable in PMU sysreg */ if (!on && data->coupled_phy_id >= 0 && - !__is_running(state->phys[data->coupled_phy_id].data, state)) { + state->phys[data->coupled_phy_id].phy->power_count == 0) { regmap_read(state->regmaps[data->enable_map], data->enable_reg, &val); val &= ~data->enable_val; -- 1.9.1