]> git.karo-electronics.de Git - linux-beck.git/commitdiff
video: sh_mobile_lcdcfb: depends on HAVE_CLK.
authorPaul Mundt <lethal@linux-sh.org>
Tue, 7 Jul 2009 01:30:02 +0000 (10:30 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Tue, 7 Jul 2009 01:30:02 +0000 (10:30 +0900)
This deifdefs the driver and adds an explicit HAVE_CLK dependency. Given
that all SH platforms provide it, there is no reason to keep this as an
ifdef. Other architectures that implement support for this driver will
already have to provide clock framework support for timers and so on
already, so adding this as an additional dependency is not terribly
probematic.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/video/Kconfig
drivers/video/sh_mobile_lcdcfb.c

index 8afcf08eba9868710366f23058f8793d71034fdc..ca330b1b365397a076fa5414b36cefbdfe72de5a 100644 (file)
@@ -1866,7 +1866,7 @@ config FB_W100
 
 config FB_SH_MOBILE_LCDC
        tristate "SuperH Mobile LCDC framebuffer support"
-       depends on FB && SUPERH
+       depends on FB && SUPERH && HAVE_CLK
        select FB_SYS_FILLRECT
        select FB_SYS_COPYAREA
        select FB_SYS_IMAGEBLIT
index da983b720f080dba756dcd48860359412c6121e5..65806ec3313b81dee49e7d37596809456750a7d2 100644 (file)
@@ -42,11 +42,9 @@ struct sh_mobile_lcdc_chan {
 struct sh_mobile_lcdc_priv {
        void __iomem *base;
        int irq;
-#ifdef CONFIG_HAVE_CLK
        atomic_t clk_usecnt;
        struct clk *dot_clk;
        struct clk *clk;
-#endif
        unsigned long lddckr;
        struct sh_mobile_lcdc_chan ch[2];
        int started;
@@ -185,7 +183,6 @@ struct sh_mobile_lcdc_sys_bus_ops sh_mobile_lcdc_sys_bus_ops = {
        lcdc_sys_read_data,
 };
 
-#ifdef CONFIG_HAVE_CLK
 static void sh_mobile_lcdc_clk_on(struct sh_mobile_lcdc_priv *priv)
 {
        if (atomic_inc_and_test(&priv->clk_usecnt)) {
@@ -203,10 +200,6 @@ static void sh_mobile_lcdc_clk_off(struct sh_mobile_lcdc_priv *priv)
                clk_disable(priv->clk);
        }
 }
-#else
-static void sh_mobile_lcdc_clk_on(struct sh_mobile_lcdc_priv *priv) {}
-static void sh_mobile_lcdc_clk_off(struct sh_mobile_lcdc_priv *priv) {}
-#endif
 
 static int sh_mobile_lcdc_sginit(struct fb_info *info,
                                  struct list_head *pagelist)
@@ -515,7 +508,6 @@ static void sh_mobile_lcdc_stop(struct sh_mobile_lcdc_priv *priv)
                board_cfg = &ch->cfg.board_cfg;
                if (board_cfg->display_off)
                        board_cfg->display_off(board_cfg->board_data);
-
        }
 
        /* stop the lcdc */
@@ -574,9 +566,7 @@ static int sh_mobile_lcdc_setup_clocks(struct platform_device *pdev,
                                       int clock_source,
                                       struct sh_mobile_lcdc_priv *priv)
 {
-#ifdef CONFIG_HAVE_CLK
        char clk_name[8];
-#endif
        char *str;
        int icksel;
 
@@ -590,7 +580,6 @@ static int sh_mobile_lcdc_setup_clocks(struct platform_device *pdev,
 
        priv->lddckr = icksel << 16;
 
-#ifdef CONFIG_HAVE_CLK
        atomic_set(&priv->clk_usecnt, -1);
        snprintf(clk_name, sizeof(clk_name), "lcdc%d", pdev->id);
        priv->clk = clk_get(&pdev->dev, clk_name);
@@ -598,7 +587,7 @@ static int sh_mobile_lcdc_setup_clocks(struct platform_device *pdev,
                dev_err(&pdev->dev, "cannot get clock \"%s\"\n", clk_name);
                return PTR_ERR(priv->clk);
        }
-       
+
        if (str) {
                priv->dot_clk = clk_get(&pdev->dev, str);
                if (IS_ERR(priv->dot_clk)) {
@@ -607,7 +596,6 @@ static int sh_mobile_lcdc_setup_clocks(struct platform_device *pdev,
                        return PTR_ERR(priv->dot_clk);
                }
        }
-#endif
 
        return 0;
 }
@@ -934,11 +922,9 @@ static int sh_mobile_lcdc_remove(struct platform_device *pdev)
                fb_dealloc_cmap(&info->cmap);
        }
 
-#ifdef CONFIG_HAVE_CLK
        if (priv->dot_clk)
                clk_put(priv->dot_clk);
        clk_put(priv->clk);
-#endif
 
        if (priv->base)
                iounmap(priv->base);