]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
phy: exynos-mipi-video: simplify check for coupled phy status
authorMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 7 Nov 2016 10:48:32 +0000 (11:48 +0100)
committerKishon Vijay Abraham I <kishon@ti.com>
Fri, 18 Nov 2016 12:49:15 +0000 (18:19 +0530)
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>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/phy-exynos-mipi-video.c

index 8b851f718123a1110016cfc462385b85a9da3bac..6bee04cc4d5344f620e464c1936823cb31919b70 100644 (file)
@@ -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;