phy: exynos-mipi-video: simplify check for coupled phy status
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 20 Jul 2016 10:50:47 +0000 (12:50 +0200)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Wed, 14 Dec 2016 04:52:08 +0000 (13:52 +0900)
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 <m.szyprowski@samsung.com>
Change-Id: If375eab85e6ec680e856a9eeafdf24823e8adb6e

drivers/phy/phy-exynos-mipi-video.c

index 0bf1be2..3f26414 100644 (file)
@@ -67,14 +67,6 @@ struct exynos_mipi_phy {
        } phys[EXYNOS_MIPI_PHYS_NUM];
 };
 
-static int __is_running(const struct exynos_mipi_phy_desc *data,
-                       struct exynos_mipi_phy *state)
-{
-       u32 val;
-       regmap_read(state->regmaps[data->reset_map], data->reset_reg, &val);
-       return val & data->reset_val;
-}
-
 static int __set_phy_state(const struct exynos_mipi_phy_desc *data,
                           struct exynos_mipi_phy *state, unsigned int on)
 {
@@ -84,7 +76,7 @@ static int __set_phy_state(const struct exynos_mipi_phy_desc *data,
 
        /* PHY PMU disable */
        if (!on && data->coupled_id >= 0 &&
-           !__is_running(state->phys[data->coupled_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;