git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'clk' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux...
[pandora-kernel.git]
/
drivers
/
video
/
amba-clcd.c
diff --git
a/drivers/video/amba-clcd.c
b/drivers/video/amba-clcd.c
index
cf03ad0
..
2cda6ba
100644
(file)
--- a/
drivers/video/amba-clcd.c
+++ b/
drivers/video/amba-clcd.c
@@
-447,6
+447,10
@@
static int clcdfb_register(struct clcd_fb *fb)
goto out;
}
goto out;
}
+ ret = clk_prepare(fb->clk);
+ if (ret)
+ goto free_clk;
+
fb->fb.device = &fb->dev->dev;
fb->fb.fix.mmio_start = fb->dev->res.start;
fb->fb.device = &fb->dev->dev;
fb->fb.fix.mmio_start = fb->dev->res.start;
@@
-456,7
+460,7
@@
static int clcdfb_register(struct clcd_fb *fb)
if (!fb->regs) {
printk(KERN_ERR "CLCD: unable to remap registers\n");
ret = -ENOMEM;
if (!fb->regs) {
printk(KERN_ERR "CLCD: unable to remap registers\n");
ret = -ENOMEM;
- goto
free_clk
;
+ goto
clk_unprep
;
}
fb->fb.fbops = &clcdfb_ops;
}
fb->fb.fbops = &clcdfb_ops;
@@
-530,6
+534,8
@@
static int clcdfb_register(struct clcd_fb *fb)
fb_dealloc_cmap(&fb->fb.cmap);
unmap:
iounmap(fb->regs);
fb_dealloc_cmap(&fb->fb.cmap);
unmap:
iounmap(fb->regs);
+ clk_unprep:
+ clk_unprepare(fb->clk);
free_clk:
clk_put(fb->clk);
out:
free_clk:
clk_put(fb->clk);
out:
@@
-595,6
+601,7
@@
static int clcdfb_remove(struct amba_device *dev)
if (fb->fb.cmap.len)
fb_dealloc_cmap(&fb->fb.cmap);
iounmap(fb->regs);
if (fb->fb.cmap.len)
fb_dealloc_cmap(&fb->fb.cmap);
iounmap(fb->regs);
+ clk_unprepare(fb->clk);
clk_put(fb->clk);
fb->board->remove(fb);
clk_put(fb->clk);
fb->board->remove(fb);