diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-14 14:44:20 +0900 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-14 14:44:20 +0900 |
commit | f0d55cc1a65852e6647d4f5d707c1c9b5471ce3c (patch) | |
tree | e96d6a88590f656d86c1f58cb0b34d40d6091b63 /drivers/video/jz4740_fb.c | |
parent | 549608eadb31eac5d579ed70a21ac722bdf72861 (diff) | |
parent | 3a41c5dbe8bc396a7fb16ca8739e945bb003342e (diff) | |
download | op-kernel-dev-f0d55cc1a65852e6647d4f5d707c1c9b5471ce3c.zip op-kernel-dev-f0d55cc1a65852e6647d4f5d707c1c9b5471ce3c.tar.gz |
Merge tag 'fbdev-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux
Pull fbdev changes from Tomi Valkeinen:
"Nothing particularly stands out in this pull request. The biggest
part of the changes are cleanups.
Maybe one fix to mention is the "fb: reorder the lock sequence to fix
potential dead lock" which hopefully fixes the fb locking issues
reported by multiple persons.
There are also a few commits that have changes to arch/arm/mach-at91
and arch/avr32, which have been acked by the maintainers"
* tag 'fbdev-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (143 commits)
fb: reorder the lock sequence to fix potential dead lock
fbdev: shmobile-lcdcfb: Convert to clk_prepare/unprepare
fbdev: shmobile-hdmi: Convert to clk_prepare/unprepare
omapdss: Add new panel driver for Topolly td028ttec1 LCD.
video: exynos_mipi_dsi: Unlock the mutex before returning
video: da8xx-fb: remove unwanted define
video: Remove unnecessary semicolons
simplefb: use write-combined remapping
simplefb: fix unmapping fb during destruction
OMAPDSS: connector-dvi: fix releasing i2c_adapter
OMAPDSS: DSI: fix perf measuring ifdefs
framebuffer: Use fb_<level>
framebuffer: Add fb_<level> convenience logging macros
efifb: prevent null-deref when iterating dmi_list
fbdev: fix error return code in metronomefb_probe()
video: xilinxfb: Fix for "Use standard variable name convention"
OMAPDSS: Fix de_level in videomode_to_omap_video_timings()
video: xilinxfb: Simplify error path
video: xilinxfb: Use devm_kzalloc instead of kzalloc
video: xilinxfb: Use standard variable name convention
...
Diffstat (limited to 'drivers/video/jz4740_fb.c')
-rw-r--r-- | drivers/video/jz4740_fb.c | 29 |
1 files changed, 9 insertions, 20 deletions
diff --git a/drivers/video/jz4740_fb.c b/drivers/video/jz4740_fb.c index 2c49112..87790e9 100644 --- a/drivers/video/jz4740_fb.c +++ b/drivers/video/jz4740_fb.c @@ -99,9 +99,9 @@ #define JZ_LCD_CTRL_BPP_15_16 0x4 #define JZ_LCD_CTRL_BPP_18_24 0x5 -#define JZ_LCD_CMD_SOF_IRQ BIT(15) -#define JZ_LCD_CMD_EOF_IRQ BIT(16) -#define JZ_LCD_CMD_ENABLE_PAL BIT(12) +#define JZ_LCD_CMD_SOF_IRQ BIT(31) +#define JZ_LCD_CMD_EOF_IRQ BIT(30) +#define JZ_LCD_CMD_ENABLE_PAL BIT(28) #define JZ_LCD_SYNC_MASK 0x3ff @@ -471,7 +471,7 @@ static int jzfb_set_par(struct fb_info *info) writel(ctrl, jzfb->base + JZ_REG_LCD_CTRL); if (!jzfb->is_enabled) - clk_disable(jzfb->ldclk); + clk_disable_unprepare(jzfb->ldclk); mutex_unlock(&jzfb->lock); @@ -485,7 +485,7 @@ static void jzfb_enable(struct jzfb *jzfb) { uint32_t ctrl; - clk_enable(jzfb->ldclk); + clk_prepare_enable(jzfb->ldclk); jz_gpio_bulk_resume(jz_lcd_ctrl_pins, jzfb_num_ctrl_pins(jzfb)); jz_gpio_bulk_resume(jz_lcd_data_pins, jzfb_num_data_pins(jzfb)); @@ -514,7 +514,7 @@ static void jzfb_disable(struct jzfb *jzfb) jz_gpio_bulk_suspend(jz_lcd_ctrl_pins, jzfb_num_ctrl_pins(jzfb)); jz_gpio_bulk_suspend(jz_lcd_data_pins, jzfb_num_data_pins(jzfb)); - clk_disable(jzfb->ldclk); + clk_disable_unprepare(jzfb->ldclk); } static int jzfb_blank(int blank_mode, struct fb_info *info) @@ -693,7 +693,7 @@ static int jzfb_probe(struct platform_device *pdev) fb_alloc_cmap(&fb->cmap, 256, 0); - clk_enable(jzfb->ldclk); + clk_prepare_enable(jzfb->ldclk); jzfb->is_enabled = 1; writel(jzfb->framedesc->next, jzfb->base + JZ_REG_LCD_DA0); @@ -763,7 +763,7 @@ static int jzfb_suspend(struct device *dev) static int jzfb_resume(struct device *dev) { struct jzfb *jzfb = dev_get_drvdata(dev); - clk_enable(jzfb->ldclk); + clk_prepare_enable(jzfb->ldclk); mutex_lock(&jzfb->lock); if (jzfb->is_enabled) @@ -798,18 +798,7 @@ static struct platform_driver jzfb_driver = { .pm = JZFB_PM_OPS, }, }; - -static int __init jzfb_init(void) -{ - return platform_driver_register(&jzfb_driver); -} -module_init(jzfb_init); - -static void __exit jzfb_exit(void) -{ - platform_driver_unregister(&jzfb_driver); -} -module_exit(jzfb_exit); +module_platform_driver(jzfb_driver); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>"); |