summaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-09-23 20:18:08 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-10-04 15:19:57 +0200
commita0e03bb62f787b428297f647e3ac80bc0262b007 (patch)
tree2d33490670cd67c8fa5a46a162d0a7f2d2baf82b /drivers/video
parent8a67a0a035ee512e7cf134fd7829fea824eff533 (diff)
downloadbarebox-a0e03bb62f787b428297f647e3ac80bc0262b007.tar.gz
barebox-a0e03bb62f787b428297f647e3ac80bc0262b007.tar.xz
video i.MX: Switch to clock support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/imx.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/video/imx.c b/drivers/video/imx.c
index 452e558cfe..810d8e3ab6 100644
--- a/drivers/video/imx.c
+++ b/drivers/video/imx.c
@@ -22,6 +22,8 @@
#include <malloc.h>
#include <errno.h>
#include <init.h>
+#include <linux/clk.h>
+#include <linux/err.h>
#include <mach/imx-regs.h>
#include <asm-generic/div64.h>
#include <mach/clock.h>
@@ -138,6 +140,7 @@ struct imxfb_rgb {
struct imxfb_info {
void __iomem *regs;
+ struct clk *clk;
u_int pcr;
u_int pwmr;
@@ -341,7 +344,7 @@ static int imxfb_activate_var(struct fb_info *info)
writel(readl(fbi->regs + LCDC_CPOS) & ~(CPOS_CC0 | CPOS_CC1),
fbi->regs + LCDC_CPOS);
- lcd_clk = imx_get_lcdclk();
+ lcd_clk = clk_get_rate(fbi->clk);
tmp = mode->pixclock * (unsigned long long)lcd_clk;
@@ -564,6 +567,10 @@ static int imxfb_probe(struct device_d *dev)
fbi = xzalloc(sizeof(*fbi));
info = &fbi->info;
+ fbi->clk = clk_get(dev, NULL);
+ if (IS_ERR(fbi->clk))
+ return PTR_ERR(fbi->clk);
+
fbi->mode = pdata->mode;
fbi->regs = dev_request_mem_region(dev, 0);
fbi->pcr = pdata->mode->pcr;