phy: exynos-mipi-video: Drop support for direct access to PMU
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Wed, 23 Mar 2016 11:09:16 +0000 (12:09 +0100)
committerKishon Vijay Abraham I <kishon@ti.com>
Sat, 30 Apr 2016 14:42:29 +0000 (20:12 +0530)
There is no need to support access to the PMU through memory ioresource
as now access through PMU regmap should only be used.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/phy-exynos-mipi-video.c

index 2a54caba93b4021a5b48c44100ec42e9baf45da4..d4f5d8e6afbfeae62f64fd4aedf65fe8d68ae3e6 100644 (file)
@@ -22,9 +22,6 @@
 #include <linux/spinlock.h>
 #include <linux/mfd/syscon.h>
 
-/* MIPI_PHYn_CONTROL reg. offset (for base address from ioremap): n = 0..1 */
-#define EXYNOS_MIPI_PHY_CONTROL(n)     ((n) * 4)
-
 enum exynos_mipi_phy_id {
        EXYNOS_MIPI_PHY_ID_CSIS0,
        EXYNOS_MIPI_PHY_ID_DSIM0,
@@ -50,7 +47,6 @@ static int __set_phy_state(struct exynos_mipi_video_phy *state,
                        enum exynos_mipi_phy_id id, unsigned int on)
 {
        const unsigned int offset = EXYNOS4_MIPI_PHY_CONTROL(id / 2);
-       void __iomem *addr;
        u32 val, reset;
 
        if (is_mipi_dsim_phy_id(id))
@@ -60,35 +56,17 @@ static int __set_phy_state(struct exynos_mipi_video_phy *state,
 
        spin_lock(&state->slock);
 
-       if (!IS_ERR(state->regmap)) {
-               regmap_read(state->regmap, offset, &val);
-               if (on)
-                       val |= reset;
-               else
-                       val &= ~reset;
-               regmap_write(state->regmap, offset, val);
-               if (on)
-                       val |= EXYNOS4_MIPI_PHY_ENABLE;
-               else if (!(val & EXYNOS4_MIPI_PHY_RESET_MASK))
-                       val &= ~EXYNOS4_MIPI_PHY_ENABLE;
-               regmap_write(state->regmap, offset, val);
-       } else {
-               addr = state->regs + EXYNOS_MIPI_PHY_CONTROL(id / 2);
-
-               val = readl(addr);
-               if (on)
-                       val |= reset;
-               else
-                       val &= ~reset;
-               writel(val, addr);
-               /* Clear ENABLE bit only if MRESETN, SRESETN bits are not set */
-               if (on)
-                       val |= EXYNOS4_MIPI_PHY_ENABLE;
-               else if (!(val & EXYNOS4_MIPI_PHY_RESET_MASK))
-                       val &= ~EXYNOS4_MIPI_PHY_ENABLE;
-
-               writel(val, addr);
-       }
+       regmap_read(state->regmap, offset, &val);
+       if (on)
+               val |= reset;
+       else
+               val &= ~reset;
+       regmap_write(state->regmap, offset, val);
+       if (on)
+               val |= EXYNOS4_MIPI_PHY_ENABLE;
+       else if (!(val & EXYNOS4_MIPI_PHY_RESET_MASK))
+               val &= ~EXYNOS4_MIPI_PHY_ENABLE;
+       regmap_write(state->regmap, offset, val);
 
        spin_unlock(&state->slock);
        return 0;
@@ -142,17 +120,8 @@ static int exynos_mipi_video_phy_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        state->regmap = syscon_regmap_lookup_by_phandle(dev->of_node, "syscon");
-       if (IS_ERR(state->regmap)) {
-               struct resource *res;
-
-               dev_info(dev, "regmap lookup failed: %ld\n",
-                        PTR_ERR(state->regmap));
-
-               res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-               state->regs = devm_ioremap_resource(dev, res);
-               if (IS_ERR(state->regs))
-                       return PTR_ERR(state->regs);
-       }
+       if (IS_ERR(state->regmap))
+               return PTR_ERR(state->regmap);
 
        dev_set_drvdata(dev, state);
        spin_lock_init(&state->slock);