diff options
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/arkfb.c | 1 | ||||
-rw-r--r-- | drivers/video/bf54x-lq043fb.c | 15 | ||||
-rw-r--r-- | drivers/video/fb_defio.c | 19 | ||||
-rw-r--r-- | drivers/video/fbmem.c | 4 | ||||
-rw-r--r-- | drivers/video/pm2fb.c | 1 | ||||
-rw-r--r-- | drivers/video/s3fb.c | 1 | ||||
-rw-r--r-- | drivers/video/sh_mobile_lcdcfb.c | 2 | ||||
-rw-r--r-- | drivers/video/vermilion/vermilion.h | 1 | ||||
-rw-r--r-- | drivers/video/vt8623fb.c | 1 | ||||
-rw-r--r-- | drivers/video/xilinxfb.c | 1 |
10 files changed, 38 insertions, 8 deletions
diff --git a/drivers/video/arkfb.c b/drivers/video/arkfb.c index 4bd569e479a7..314d18694b6a 100644 --- a/drivers/video/arkfb.c +++ b/drivers/video/arkfb.c | |||
@@ -11,7 +11,6 @@ | |||
11 | * Code is based on s3fb | 11 | * Code is based on s3fb |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <linux/version.h> | ||
15 | #include <linux/module.h> | 14 | #include <linux/module.h> |
16 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
17 | #include <linux/errno.h> | 16 | #include <linux/errno.h> |
diff --git a/drivers/video/bf54x-lq043fb.c b/drivers/video/bf54x-lq043fb.c index 940467aed13f..6d5aa806777e 100644 --- a/drivers/video/bf54x-lq043fb.c +++ b/drivers/video/bf54x-lq043fb.c | |||
@@ -733,7 +733,6 @@ static int bfin_bf54x_remove(struct platform_device *pdev) | |||
733 | static int bfin_bf54x_suspend(struct platform_device *pdev, pm_message_t state) | 733 | static int bfin_bf54x_suspend(struct platform_device *pdev, pm_message_t state) |
734 | { | 734 | { |
735 | struct fb_info *fbinfo = platform_get_drvdata(pdev); | 735 | struct fb_info *fbinfo = platform_get_drvdata(pdev); |
736 | struct bfin_bf54xfb_info *info = fbinfo->par; | ||
737 | 736 | ||
738 | bfin_write_EPPI0_CONTROL(bfin_read_EPPI0_CONTROL() & ~EPPI_EN); | 737 | bfin_write_EPPI0_CONTROL(bfin_read_EPPI0_CONTROL() & ~EPPI_EN); |
739 | disable_dma(CH_EPPI0); | 738 | disable_dma(CH_EPPI0); |
@@ -747,8 +746,18 @@ static int bfin_bf54x_resume(struct platform_device *pdev) | |||
747 | struct fb_info *fbinfo = platform_get_drvdata(pdev); | 746 | struct fb_info *fbinfo = platform_get_drvdata(pdev); |
748 | struct bfin_bf54xfb_info *info = fbinfo->par; | 747 | struct bfin_bf54xfb_info *info = fbinfo->par; |
749 | 748 | ||
750 | enable_dma(CH_EPPI0); | 749 | if (info->lq043_open_cnt) { |
751 | bfin_write_EPPI0_CONTROL(bfin_read_EPPI0_CONTROL() | EPPI_EN); | 750 | |
751 | bfin_write_EPPI0_CONTROL(0); | ||
752 | SSYNC(); | ||
753 | |||
754 | config_dma(info); | ||
755 | config_ppi(info); | ||
756 | |||
757 | /* start dma */ | ||
758 | enable_dma(CH_EPPI0); | ||
759 | bfin_write_EPPI0_CONTROL(bfin_read_EPPI0_CONTROL() | EPPI_EN); | ||
760 | } | ||
752 | 761 | ||
753 | return 0; | 762 | return 0; |
754 | } | 763 | } |
diff --git a/drivers/video/fb_defio.c b/drivers/video/fb_defio.c index 59df132cc375..4835bdc4e9f1 100644 --- a/drivers/video/fb_defio.c +++ b/drivers/video/fb_defio.c | |||
@@ -114,6 +114,17 @@ static struct vm_operations_struct fb_deferred_io_vm_ops = { | |||
114 | .page_mkwrite = fb_deferred_io_mkwrite, | 114 | .page_mkwrite = fb_deferred_io_mkwrite, |
115 | }; | 115 | }; |
116 | 116 | ||
117 | static int fb_deferred_io_set_page_dirty(struct page *page) | ||
118 | { | ||
119 | if (!PageDirty(page)) | ||
120 | SetPageDirty(page); | ||
121 | return 0; | ||
122 | } | ||
123 | |||
124 | static const struct address_space_operations fb_deferred_io_aops = { | ||
125 | .set_page_dirty = fb_deferred_io_set_page_dirty, | ||
126 | }; | ||
127 | |||
117 | static int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma) | 128 | static int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma) |
118 | { | 129 | { |
119 | vma->vm_ops = &fb_deferred_io_vm_ops; | 130 | vma->vm_ops = &fb_deferred_io_vm_ops; |
@@ -163,6 +174,14 @@ void fb_deferred_io_init(struct fb_info *info) | |||
163 | } | 174 | } |
164 | EXPORT_SYMBOL_GPL(fb_deferred_io_init); | 175 | EXPORT_SYMBOL_GPL(fb_deferred_io_init); |
165 | 176 | ||
177 | void fb_deferred_io_open(struct fb_info *info, | ||
178 | struct inode *inode, | ||
179 | struct file *file) | ||
180 | { | ||
181 | file->f_mapping->a_ops = &fb_deferred_io_aops; | ||
182 | } | ||
183 | EXPORT_SYMBOL_GPL(fb_deferred_io_open); | ||
184 | |||
166 | void fb_deferred_io_cleanup(struct fb_info *info) | 185 | void fb_deferred_io_cleanup(struct fb_info *info) |
167 | { | 186 | { |
168 | void *screen_base = (void __force *) info->screen_base; | 187 | void *screen_base = (void __force *) info->screen_base; |
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index 6b487801eeae..98843c2ecf73 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c | |||
@@ -1344,6 +1344,10 @@ fb_open(struct inode *inode, struct file *file) | |||
1344 | if (res) | 1344 | if (res) |
1345 | module_put(info->fbops->owner); | 1345 | module_put(info->fbops->owner); |
1346 | } | 1346 | } |
1347 | #ifdef CONFIG_FB_DEFERRED_IO | ||
1348 | if (info->fbdefio) | ||
1349 | fb_deferred_io_open(info, inode, file); | ||
1350 | #endif | ||
1347 | out: | 1351 | out: |
1348 | unlock_kernel(); | 1352 | unlock_kernel(); |
1349 | return res; | 1353 | return res; |
diff --git a/drivers/video/pm2fb.c b/drivers/video/pm2fb.c index 3f1ca2adda3d..c6dd924976a4 100644 --- a/drivers/video/pm2fb.c +++ b/drivers/video/pm2fb.c | |||
@@ -1746,6 +1746,7 @@ static void __devexit pm2fb_remove(struct pci_dev *pdev) | |||
1746 | release_mem_region(fix->mmio_start, fix->mmio_len); | 1746 | release_mem_region(fix->mmio_start, fix->mmio_len); |
1747 | 1747 | ||
1748 | pci_set_drvdata(pdev, NULL); | 1748 | pci_set_drvdata(pdev, NULL); |
1749 | fb_dealloc_cmap(&info->cmap); | ||
1749 | kfree(info->pixmap.addr); | 1750 | kfree(info->pixmap.addr); |
1750 | kfree(info); | 1751 | kfree(info); |
1751 | } | 1752 | } |
diff --git a/drivers/video/s3fb.c b/drivers/video/s3fb.c index 8361bd0e3df1..4dcec48a1d78 100644 --- a/drivers/video/s3fb.c +++ b/drivers/video/s3fb.c | |||
@@ -11,7 +11,6 @@ | |||
11 | * which is based on the code of neofb. | 11 | * which is based on the code of neofb. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <linux/version.h> | ||
15 | #include <linux/module.h> | 14 | #include <linux/module.h> |
16 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
17 | #include <linux/errno.h> | 16 | #include <linux/errno.h> |
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c index f6ef6cca73cd..4c32c06579a0 100644 --- a/drivers/video/sh_mobile_lcdcfb.c +++ b/drivers/video/sh_mobile_lcdcfb.c | |||
@@ -595,6 +595,8 @@ static int __init sh_mobile_lcdc_probe(struct platform_device *pdev) | |||
595 | info->fbops = &sh_mobile_lcdc_ops; | 595 | info->fbops = &sh_mobile_lcdc_ops; |
596 | info->var.xres = info->var.xres_virtual = cfg->lcd_cfg.xres; | 596 | info->var.xres = info->var.xres_virtual = cfg->lcd_cfg.xres; |
597 | info->var.yres = info->var.yres_virtual = cfg->lcd_cfg.yres; | 597 | info->var.yres = info->var.yres_virtual = cfg->lcd_cfg.yres; |
598 | info->var.width = cfg->lcd_size_cfg.width; | ||
599 | info->var.height = cfg->lcd_size_cfg.height; | ||
598 | info->var.activate = FB_ACTIVATE_NOW; | 600 | info->var.activate = FB_ACTIVATE_NOW; |
599 | error = sh_mobile_lcdc_set_bpp(&info->var, cfg->bpp); | 601 | error = sh_mobile_lcdc_set_bpp(&info->var, cfg->bpp); |
600 | if (error) | 602 | if (error) |
diff --git a/drivers/video/vermilion/vermilion.h b/drivers/video/vermilion/vermilion.h index c4aba59d4809..7491abfcf1fc 100644 --- a/drivers/video/vermilion/vermilion.h +++ b/drivers/video/vermilion/vermilion.h | |||
@@ -30,7 +30,6 @@ | |||
30 | #define _VERMILION_H_ | 30 | #define _VERMILION_H_ |
31 | 31 | ||
32 | #include <linux/kernel.h> | 32 | #include <linux/kernel.h> |
33 | #include <linux/version.h> | ||
34 | #include <linux/pci.h> | 33 | #include <linux/pci.h> |
35 | #include <asm/atomic.h> | 34 | #include <asm/atomic.h> |
36 | #include <linux/mutex.h> | 35 | #include <linux/mutex.h> |
diff --git a/drivers/video/vt8623fb.c b/drivers/video/vt8623fb.c index 34aae7a2a62b..3df17dc8c3d7 100644 --- a/drivers/video/vt8623fb.c +++ b/drivers/video/vt8623fb.c | |||
@@ -12,7 +12,6 @@ | |||
12 | * (http://davesdomain.org.uk/viafb/) | 12 | * (http://davesdomain.org.uk/viafb/) |
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <linux/version.h> | ||
16 | #include <linux/module.h> | 15 | #include <linux/module.h> |
17 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
18 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c index 7b3a8423f485..5da3d2423cc0 100644 --- a/drivers/video/xilinxfb.c +++ b/drivers/video/xilinxfb.c | |||
@@ -24,7 +24,6 @@ | |||
24 | #include <linux/device.h> | 24 | #include <linux/device.h> |
25 | #include <linux/module.h> | 25 | #include <linux/module.h> |
26 | #include <linux/kernel.h> | 26 | #include <linux/kernel.h> |
27 | #include <linux/version.h> | ||
28 | #include <linux/errno.h> | 27 | #include <linux/errno.h> |
29 | #include <linux/string.h> | 28 | #include <linux/string.h> |
30 | #include <linux/mm.h> | 29 | #include <linux/mm.h> |