]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
OMAPDSS: DPI: change regulator handling
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 29 Aug 2013 07:06:55 +0000 (10:06 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 29 Aug 2013 13:21:52 +0000 (16:21 +0300)
Regulator handling for DPI and SDI is currently handled in the core.c,
using the 'virtual' omapdss platform device. Nowadays we have proper
devices for both DPI and SDI, and so we can handle the regulators inside
the respective drivers.

This patch moves the regulator handling for DPI into dpi.c.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
drivers/video/omap2/dss/core.c
drivers/video/omap2/dss/dpi.c
drivers/video/omap2/dss/dss.h

index a07d626440264bbc87babe38f4876fc64d29e337..71e6a77ec687a67b22b64752e97f506a89e3e873 100644 (file)
@@ -43,8 +43,6 @@
 static struct {
        struct platform_device *pdev;
 
-       struct regulator *vdds_dsi_reg;
-
        const char *default_display_name;
 } core;
 
@@ -78,22 +76,6 @@ struct platform_device *dss_get_core_pdev(void)
        return core.pdev;
 }
 
-/* REGULATORS */
-
-struct regulator *dss_get_vdds_dsi(void)
-{
-       struct regulator *reg;
-
-       if (core.vdds_dsi_reg != NULL)
-               return core.vdds_dsi_reg;
-
-       reg = devm_regulator_get(&core.pdev->dev, "vdds_dsi");
-       if (!IS_ERR(reg))
-               core.vdds_dsi_reg = reg;
-
-       return reg;
-}
-
 int dss_dsi_enable_pads(int dsi_id, unsigned lane_mask)
 {
        struct omap_dss_board_info *board_data = core.pdev->dev.platform_data;
index a6b331ef7763c9bd901ac8257b6d53e2b7585cdc..89c7a6e7b185e638ebb366060e0a6c4b530a21a5 100644 (file)
@@ -554,14 +554,10 @@ static int dpi_init_regulator(void)
        if (dpi.vdds_dsi_reg)
                return 0;
 
-       vdds_dsi = dss_get_vdds_dsi();
-
+       vdds_dsi = devm_regulator_get(&dpi.pdev->dev, "vdds_dsi");
        if (IS_ERR(vdds_dsi)) {
-               vdds_dsi = devm_regulator_get(&dpi.pdev->dev, "vdds_dsi");
-               if (IS_ERR(vdds_dsi)) {
-                       DSSERR("can't get VDDS_DSI regulator\n");
-                       return PTR_ERR(vdds_dsi);
-               }
+               DSSERR("can't get VDDS_DSI regulator\n");
+               return PTR_ERR(vdds_dsi);
        }
 
        dpi.vdds_dsi_reg = vdds_dsi;
index 7d97de46b17f01cf671ba3c9667785fd563199a7..146349f6ae9139a816f1dc958f8c8916b4f1b3a2 100644 (file)
@@ -164,7 +164,6 @@ struct platform_device;
 /* core */
 struct platform_device *dss_get_core_pdev(void);
 struct bus_type *dss_get_bus(void);
-struct regulator *dss_get_vdds_dsi(void);
 int dss_dsi_enable_pads(int dsi_id, unsigned lane_mask);
 void dss_dsi_disable_pads(int dsi_id, unsigned lane_mask);
 int dss_set_min_bus_tput(struct device *dev, unsigned long tput);