From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752892AbcHBI40 (ORCPT ); Tue, 2 Aug 2016 04:56:26 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:34997 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751929AbcHBIzn (ORCPT ); Tue, 2 Aug 2016 04:55:43 -0400 X-AuditID: cbfec7f5-f792a6d000001302-e3-57a05f5f9fbb 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] phy: exynos-mipi-video: simplify check for coupled phy status Date: Tue, 02 Aug 2016 10:52:36 +0200 Message-id: <1470127956-22476-1-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGJMWRmVeSWpSXmKPExsVy+t/xa7rx8QvCDdbeNLHYOGM9q8Wk+xNY LF6/MLS48LSHzeLyrjlsFjPO72OyWHvkLrvF4TftrA4cHn1bVjF6HL+xncnj8ya5AOYoLpuU 1JzMstQifbsErozZO6cxFxzjqejZfYGtgXEDVxcjJ4eEgInE0kMf2SBsMYkL99aD2UICSxkl Jh4M72LkArKbmCSmz+5gAkmwCRhKdL3tAisSEXCWuP3hGwtIEbPATkaJPze6WUESwgJ+EjvO 3QQrYhFQlZjy8B2YzSvgITHn6EFGiG1yEiePTWadwMi9gJFhFaNoamlyQXFSeq6RXnFibnFp Xrpecn7uJkZIaHzdwbj0mNUhRgEORiUe3oDc+eFCrIllxZW5hxglOJiVRHiXRS0IF+JNSays Si3Kjy8qzUktPsQozcGiJM47c9f7ECGB9MSS1OzU1ILUIpgsEwenVANjz7/Gy0c3rhQ0z1vZ X2SYtdcyLFzyS3681oqvTE9KmDpSVKz9xewe5jkxXtpf8W+ZTL3rQyd723yZfce/7Nww98rp JQZFc2dXHv14ZumJ+0xRXB9L7ujZXWKfX6W2gfnPwYk7wvwbk7Yc5o6Y5pX9dN/zKUvWlLH0 GGd13hG6UDlTqOnbHflAJZbijERDLeai4kQAlnt4vgkCAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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..e185234 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_id].phy->power_count == 0) { regmap_read(state->regmaps[data->enable_map], data->enable_reg, &val); val &= ~data->enable_val; -- 1.9.1