diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-10-04 15:24:27 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-10-04 15:24:57 +0200 |
commit | 94de405d8f56aa66283d7497c707380762440601 (patch) | |
tree | ef6618eb4604ff3cbc69af90d9ec6feb4db5e771 /drivers/video | |
parent | ddba7e606bc7a6b3715d6c123c0a9b708a6b8776 (diff) | |
parent | d4edd480b2ab0754361b142e307796405310d34b (diff) | |
download | barebox-94de405d8f56aa66283d7497c707380762440601.tar.gz barebox-94de405d8f56aa66283d7497c707380762440601.tar.xz |
Merge branch 'for-next/imx-clk'
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/imx-ipu-fb.c | 10 | ||||
-rw-r--r-- | drivers/video/imx.c | 10 |
2 files changed, 16 insertions, 4 deletions
diff --git a/drivers/video/imx-ipu-fb.c b/drivers/video/imx-ipu-fb.c index 5e5244d367..3f8fd33416 100644 --- a/drivers/video/imx-ipu-fb.c +++ b/drivers/video/imx-ipu-fb.c @@ -27,10 +27,12 @@ #include <errno.h> #include <asm-generic/div64.h> #include <mach/imx-ipu-fb.h> -#include <mach/clock.h> +#include <linux/clk.h> +#include <linux/err.h> struct ipu_fb_info { void __iomem *regs; + struct clk *clk; void (*enable)(int enable); @@ -480,7 +482,7 @@ static int sdc_init_panel(struct fb_info *info, enum pixel_fmt pixel_fmt) * i.MX31 it (HSP_CLK) is <= 178MHz. Currently 128.267MHz */ pixel_clk = PICOS2KHZ(mode->pixclock) * 1000UL; - div = imx_get_lcdclk() * 16 / pixel_clk; + div = clk_get_rate(fbi->clk) * 16 / pixel_clk; if (div < 0x40) { /* Divider less than 4 */ dev_dbg(&info->dev, @@ -986,6 +988,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->regs = dev_request_mem_region(dev, 0); fbi->dev = dev; fbi->enable = pdata->enable; diff --git a/drivers/video/imx.c b/drivers/video/imx.c index 29b1fc523d..9406b36e71 100644 --- a/drivers/video/imx.c +++ b/drivers/video/imx.c @@ -22,9 +22,10 @@ #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> #define LCDC_SSA 0x00 @@ -138,6 +139,7 @@ struct imxfb_rgb { struct imxfb_info { void __iomem *regs; + struct clk *clk; u_int pcr; u_int pwmr; @@ -341,7 +343,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 +566,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; |