diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-12-10 01:40:31 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-12-10 01:40:31 -0500 |
commit | b5c00a3a412857d6f07970984068c450429e051c (patch) | |
tree | 1fde50630cbc24e11a45169f717f281db8eb6dcc /drivers/video | |
parent | ca6f2d7fafd2d48b2f6943f5c6787beaec2014d0 (diff) | |
parent | 3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh/for-2.6.33
Diffstat (limited to 'drivers/video')
47 files changed, 262 insertions, 81 deletions
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 188e1ba3b69f..6b89eb55ed32 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig | |||
@@ -5,6 +5,9 @@ | |||
5 | menu "Graphics support" | 5 | menu "Graphics support" |
6 | depends on HAS_IOMEM | 6 | depends on HAS_IOMEM |
7 | 7 | ||
8 | config HAVE_FB_ATMEL | ||
9 | bool | ||
10 | |||
8 | source "drivers/char/agp/Kconfig" | 11 | source "drivers/char/agp/Kconfig" |
9 | 12 | ||
10 | source "drivers/gpu/vga/Kconfig" | 13 | source "drivers/gpu/vga/Kconfig" |
@@ -937,7 +940,7 @@ config FB_S1D13XXX | |||
937 | 940 | ||
938 | config FB_ATMEL | 941 | config FB_ATMEL |
939 | tristate "AT91/AT32 LCD Controller support" | 942 | tristate "AT91/AT32 LCD Controller support" |
940 | depends on FB && (ARCH_AT91SAM9261 || ARCH_AT91SAM9G10 || ARCH_AT91SAM9263 || ARCH_AT91SAM9RL || ARCH_AT91SAM9G45 || ARCH_AT91CAP9 || AVR32) | 943 | depends on FB && HAVE_FB_ATMEL |
941 | select FB_CFB_FILLRECT | 944 | select FB_CFB_FILLRECT |
942 | select FB_CFB_COPYAREA | 945 | select FB_CFB_COPYAREA |
943 | select FB_CFB_IMAGEBLIT | 946 | select FB_CFB_IMAGEBLIT |
diff --git a/drivers/video/atafb.c b/drivers/video/atafb.c index 37624f74e88b..b7687c55fe16 100644 --- a/drivers/video/atafb.c +++ b/drivers/video/atafb.c | |||
@@ -2242,6 +2242,9 @@ static int ext_setcolreg(unsigned int regno, unsigned int red, | |||
2242 | if (!external_vgaiobase) | 2242 | if (!external_vgaiobase) |
2243 | return 1; | 2243 | return 1; |
2244 | 2244 | ||
2245 | if (regno > 255) | ||
2246 | return 1; | ||
2247 | |||
2245 | switch (external_card_type) { | 2248 | switch (external_card_type) { |
2246 | case IS_VGA: | 2249 | case IS_VGA: |
2247 | OUTB(0x3c8, regno); | 2250 | OUTB(0x3c8, regno); |
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c index d5e801076d33..3d886c6902f9 100644 --- a/drivers/video/atmel_lcdfb.c +++ b/drivers/video/atmel_lcdfb.c | |||
@@ -964,7 +964,7 @@ static int __init atmel_lcdfb_probe(struct platform_device *pdev) | |||
964 | if (sinfo->atmel_lcdfb_power_control) | 964 | if (sinfo->atmel_lcdfb_power_control) |
965 | sinfo->atmel_lcdfb_power_control(1); | 965 | sinfo->atmel_lcdfb_power_control(1); |
966 | 966 | ||
967 | dev_info(dev, "fb%d: Atmel LCDC at 0x%08lx (mapped at %p), irq %lu\n", | 967 | dev_info(dev, "fb%d: Atmel LCDC at 0x%08lx (mapped at %p), irq %d\n", |
968 | info->node, info->fix.mmio_start, sinfo->mmio, sinfo->irq_base); | 968 | info->node, info->fix.mmio_start, sinfo->mmio, sinfo->irq_base); |
969 | 969 | ||
970 | return 0; | 970 | return 0; |
diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c index 913b4a47ae52..1ddeb4c34763 100644 --- a/drivers/video/aty/atyfb_base.c +++ b/drivers/video/aty/atyfb_base.c | |||
@@ -3276,7 +3276,7 @@ static void __devinit aty_init_lcd(struct atyfb_par *par, u32 bios_base) | |||
3276 | txtformat = "24 bit interface"; | 3276 | txtformat = "24 bit interface"; |
3277 | break; | 3277 | break; |
3278 | default: | 3278 | default: |
3279 | txtformat = "unkown format"; | 3279 | txtformat = "unknown format"; |
3280 | } | 3280 | } |
3281 | } else { | 3281 | } else { |
3282 | switch (format & 7) { | 3282 | switch (format & 7) { |
@@ -3299,7 +3299,7 @@ static void __devinit aty_init_lcd(struct atyfb_par *par, u32 bios_base) | |||
3299 | txtformat = "262144 colours (FDPI-2 mode)"; | 3299 | txtformat = "262144 colours (FDPI-2 mode)"; |
3300 | break; | 3300 | break; |
3301 | default: | 3301 | default: |
3302 | txtformat = "unkown format"; | 3302 | txtformat = "unknown format"; |
3303 | } | 3303 | } |
3304 | } | 3304 | } |
3305 | PRINTKI("%s%s %s monitor detected: %s\n", | 3305 | PRINTKI("%s%s %s monitor detected: %s\n", |
diff --git a/drivers/video/backlight/atmel-pwm-bl.c b/drivers/video/backlight/atmel-pwm-bl.c index 505c0823a105..2cf7ba52f67c 100644 --- a/drivers/video/backlight/atmel-pwm-bl.c +++ b/drivers/video/backlight/atmel-pwm-bl.c | |||
@@ -158,7 +158,7 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev) | |||
158 | goto err_free_pwm; | 158 | goto err_free_pwm; |
159 | } | 159 | } |
160 | 160 | ||
161 | /* Turn display off by defatult. */ | 161 | /* Turn display off by default. */ |
162 | retval = gpio_direction_output(pwmbl->gpio_on, | 162 | retval = gpio_direction_output(pwmbl->gpio_on, |
163 | 0 ^ pdata->on_active_low); | 163 | 0 ^ pdata->on_active_low); |
164 | if (retval) | 164 | if (retval) |
diff --git a/drivers/video/backlight/da903x_bl.c b/drivers/video/backlight/da903x_bl.c index 701a1081e199..7fcb0eb54c60 100644 --- a/drivers/video/backlight/da903x_bl.c +++ b/drivers/video/backlight/da903x_bl.c | |||
@@ -25,6 +25,7 @@ | |||
25 | 25 | ||
26 | #define DA9034_WLED_CONTROL1 0x3C | 26 | #define DA9034_WLED_CONTROL1 0x3C |
27 | #define DA9034_WLED_CONTROL2 0x3D | 27 | #define DA9034_WLED_CONTROL2 0x3D |
28 | #define DA9034_WLED_ISET(x) ((x) & 0x1f) | ||
28 | 29 | ||
29 | #define DA9034_WLED_BOOST_EN (1 << 5) | 30 | #define DA9034_WLED_BOOST_EN (1 << 5) |
30 | 31 | ||
@@ -101,6 +102,7 @@ static struct backlight_ops da903x_backlight_ops = { | |||
101 | 102 | ||
102 | static int da903x_backlight_probe(struct platform_device *pdev) | 103 | static int da903x_backlight_probe(struct platform_device *pdev) |
103 | { | 104 | { |
105 | struct da9034_backlight_pdata *pdata = pdev->dev.platform_data; | ||
104 | struct da903x_backlight_data *data; | 106 | struct da903x_backlight_data *data; |
105 | struct backlight_device *bl; | 107 | struct backlight_device *bl; |
106 | int max_brightness; | 108 | int max_brightness; |
@@ -127,6 +129,11 @@ static int da903x_backlight_probe(struct platform_device *pdev) | |||
127 | data->da903x_dev = pdev->dev.parent; | 129 | data->da903x_dev = pdev->dev.parent; |
128 | data->current_brightness = 0; | 130 | data->current_brightness = 0; |
129 | 131 | ||
132 | /* adjust the WLED output current */ | ||
133 | if (pdata) | ||
134 | da903x_write(data->da903x_dev, DA9034_WLED_CONTROL2, | ||
135 | DA9034_WLED_ISET(pdata->output_current)); | ||
136 | |||
130 | bl = backlight_device_register(pdev->name, data->da903x_dev, | 137 | bl = backlight_device_register(pdev->name, data->da903x_dev, |
131 | data, &da903x_backlight_ops); | 138 | data, &da903x_backlight_ops); |
132 | if (IS_ERR(bl)) { | 139 | if (IS_ERR(bl)) { |
diff --git a/drivers/video/backlight/omap1_bl.c b/drivers/video/backlight/omap1_bl.c index cbad67e89826..8693e5fcd2eb 100644 --- a/drivers/video/backlight/omap1_bl.c +++ b/drivers/video/backlight/omap1_bl.c | |||
@@ -26,8 +26,8 @@ | |||
26 | #include <linux/backlight.h> | 26 | #include <linux/backlight.h> |
27 | 27 | ||
28 | #include <mach/hardware.h> | 28 | #include <mach/hardware.h> |
29 | #include <mach/board.h> | 29 | #include <plat/board.h> |
30 | #include <mach/mux.h> | 30 | #include <plat/mux.h> |
31 | 31 | ||
32 | #define OMAPBL_MAX_INTENSITY 0xff | 32 | #define OMAPBL_MAX_INTENSITY 0xff |
33 | 33 | ||
diff --git a/drivers/video/backlight/tdo24m.c b/drivers/video/backlight/tdo24m.c index bbfb502add67..4a3d46e08016 100644 --- a/drivers/video/backlight/tdo24m.c +++ b/drivers/video/backlight/tdo24m.c | |||
@@ -367,6 +367,7 @@ static int __devinit tdo24m_probe(struct spi_device *spi) | |||
367 | 367 | ||
368 | spi_message_init(m); | 368 | spi_message_init(m); |
369 | 369 | ||
370 | x->cs_change = 1; | ||
370 | x->tx_buf = &lcd->buf[0]; | 371 | x->tx_buf = &lcd->buf[0]; |
371 | spi_message_add_tail(x, m); | 372 | spi_message_add_tail(x, m); |
372 | 373 | ||
diff --git a/drivers/video/backlight/tosa_lcd.c b/drivers/video/backlight/tosa_lcd.c index 50ec17dfc517..fa32b94a4546 100644 --- a/drivers/video/backlight/tosa_lcd.c +++ b/drivers/video/backlight/tosa_lcd.c | |||
@@ -177,7 +177,7 @@ static int __devinit tosa_lcd_probe(struct spi_device *spi) | |||
177 | if (!data) | 177 | if (!data) |
178 | return -ENOMEM; | 178 | return -ENOMEM; |
179 | 179 | ||
180 | data->is_vga = true; /* defaut to VGA mode */ | 180 | data->is_vga = true; /* default to VGA mode */ |
181 | 181 | ||
182 | /* | 182 | /* |
183 | * bits_per_word cannot be configured in platform data | 183 | * bits_per_word cannot be configured in platform data |
diff --git a/drivers/video/console/sticore.c b/drivers/video/console/sticore.c index 857b3668b3ba..6468a297e341 100644 --- a/drivers/video/console/sticore.c +++ b/drivers/video/console/sticore.c | |||
@@ -436,7 +436,7 @@ sti_init_glob_cfg(struct sti_struct *sti, | |||
436 | (offs < PCI_BASE_ADDRESS_0 || | 436 | (offs < PCI_BASE_ADDRESS_0 || |
437 | offs > PCI_BASE_ADDRESS_5)) { | 437 | offs > PCI_BASE_ADDRESS_5)) { |
438 | printk (KERN_WARNING | 438 | printk (KERN_WARNING |
439 | "STI pci region maping for region %d (%02x) can't be mapped\n", | 439 | "STI pci region mapping for region %d (%02x) can't be mapped\n", |
440 | i,sti->rm_entry[i]); | 440 | i,sti->rm_entry[i]); |
441 | continue; | 441 | continue; |
442 | } | 442 | } |
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c index da55ccaf4d55..cc4bbbe44aca 100644 --- a/drivers/video/console/vgacon.c +++ b/drivers/video/console/vgacon.c | |||
@@ -585,6 +585,11 @@ static void vgacon_init(struct vc_data *c, int init) | |||
585 | vgacon_uni_pagedir[1]++; | 585 | vgacon_uni_pagedir[1]++; |
586 | if (!vgacon_uni_pagedir[0] && p) | 586 | if (!vgacon_uni_pagedir[0] && p) |
587 | con_set_default_unimap(c); | 587 | con_set_default_unimap(c); |
588 | |||
589 | /* Only set the default if the user didn't deliberately override it */ | ||
590 | if (global_cursor_default == -1) | ||
591 | global_cursor_default = | ||
592 | !(screen_info.flags & VIDEO_FLAGS_NOCURSOR); | ||
588 | } | 593 | } |
589 | 594 | ||
590 | static void vgacon_deinit(struct vc_data *c) | 595 | static void vgacon_deinit(struct vc_data *c) |
diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c index 035d56835b75..ea1fd3f47511 100644 --- a/drivers/video/da8xx-fb.c +++ b/drivers/video/da8xx-fb.c | |||
@@ -554,11 +554,11 @@ static int fb_check_var(struct fb_var_screeninfo *var, | |||
554 | var->transp.length = 0; | 554 | var->transp.length = 0; |
555 | break; | 555 | break; |
556 | case 16: /* RGB 565 */ | 556 | case 16: /* RGB 565 */ |
557 | var->red.offset = 0; | 557 | var->red.offset = 11; |
558 | var->red.length = 5; | 558 | var->red.length = 5; |
559 | var->green.offset = 5; | 559 | var->green.offset = 5; |
560 | var->green.length = 6; | 560 | var->green.length = 6; |
561 | var->blue.offset = 11; | 561 | var->blue.offset = 0; |
562 | var->blue.length = 5; | 562 | var->blue.length = 5; |
563 | var->transp.offset = 0; | 563 | var->transp.offset = 0; |
564 | var->transp.length = 0; | 564 | var->transp.length = 0; |
@@ -591,7 +591,7 @@ static int __devexit fb_remove(struct platform_device *dev) | |||
591 | unregister_framebuffer(info); | 591 | unregister_framebuffer(info); |
592 | fb_dealloc_cmap(&info->cmap); | 592 | fb_dealloc_cmap(&info->cmap); |
593 | dma_free_coherent(NULL, par->databuf_sz + PAGE_SIZE, | 593 | dma_free_coherent(NULL, par->databuf_sz + PAGE_SIZE, |
594 | info->screen_base, | 594 | info->screen_base - PAGE_SIZE, |
595 | info->fix.smem_start); | 595 | info->fix.smem_start); |
596 | free_irq(par->irq, par); | 596 | free_irq(par->irq, par); |
597 | clk_disable(par->lcdc_clk); | 597 | clk_disable(par->lcdc_clk); |
@@ -749,6 +749,7 @@ static int __init fb_probe(struct platform_device *device) | |||
749 | (PAGE_SIZE - par->palette_sz); | 749 | (PAGE_SIZE - par->palette_sz); |
750 | 750 | ||
751 | /* the rest of the frame buffer is pixel data */ | 751 | /* the rest of the frame buffer is pixel data */ |
752 | da8xx_fb_info->screen_base = par->v_palette_base + par->palette_sz; | ||
752 | da8xx_fb_fix.smem_start = par->p_palette_base + par->palette_sz; | 753 | da8xx_fb_fix.smem_start = par->p_palette_base + par->palette_sz; |
753 | da8xx_fb_fix.smem_len = par->databuf_sz - par->palette_sz; | 754 | da8xx_fb_fix.smem_len = par->databuf_sz - par->palette_sz; |
754 | da8xx_fb_fix.line_length = (lcdc_info->width * lcd_cfg->bpp) / 8; | 755 | da8xx_fb_fix.line_length = (lcdc_info->width * lcd_cfg->bpp) / 8; |
@@ -787,6 +788,8 @@ static int __init fb_probe(struct platform_device *device) | |||
787 | da8xx_fb_info->var = da8xx_fb_var; | 788 | da8xx_fb_info->var = da8xx_fb_var; |
788 | da8xx_fb_info->fbops = &da8xx_fb_ops; | 789 | da8xx_fb_info->fbops = &da8xx_fb_ops; |
789 | da8xx_fb_info->pseudo_palette = par->pseudo_palette; | 790 | da8xx_fb_info->pseudo_palette = par->pseudo_palette; |
791 | da8xx_fb_info->fix.visual = (da8xx_fb_info->var.bits_per_pixel <= 8) ? | ||
792 | FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR; | ||
790 | 793 | ||
791 | ret = fb_alloc_cmap(&da8xx_fb_info->cmap, PALETTE_SIZE, 0); | 794 | ret = fb_alloc_cmap(&da8xx_fb_info->cmap, PALETTE_SIZE, 0); |
792 | if (ret) | 795 | if (ret) |
@@ -825,7 +828,7 @@ err_free_irq: | |||
825 | 828 | ||
826 | err_release_fb_mem: | 829 | err_release_fb_mem: |
827 | dma_free_coherent(NULL, par->databuf_sz + PAGE_SIZE, | 830 | dma_free_coherent(NULL, par->databuf_sz + PAGE_SIZE, |
828 | da8xx_fb_info->screen_base, | 831 | da8xx_fb_info->screen_base - PAGE_SIZE, |
829 | da8xx_fb_info->fix.smem_start); | 832 | da8xx_fb_info->fix.smem_start); |
830 | 833 | ||
831 | err_release_fb: | 834 | err_release_fb: |
diff --git a/drivers/video/fb_defio.c b/drivers/video/fb_defio.c index c27ab1ed9604..e59c08320886 100644 --- a/drivers/video/fb_defio.c +++ b/drivers/video/fb_defio.c | |||
@@ -71,7 +71,7 @@ int fb_deferred_io_fsync(struct file *file, struct dentry *dentry, int datasync) | |||
71 | { | 71 | { |
72 | struct fb_info *info = file->private_data; | 72 | struct fb_info *info = file->private_data; |
73 | 73 | ||
74 | /* Skip if deferred io is complied-in but disabled on this fbdev */ | 74 | /* Skip if deferred io is compiled-in but disabled on this fbdev */ |
75 | if (!info->fbdefio) | 75 | if (!info->fbdefio) |
76 | return 0; | 76 | return 0; |
77 | 77 | ||
diff --git a/drivers/video/gbefb.c b/drivers/video/gbefb.c index 1a83709f9611..695fa013fe7e 100644 --- a/drivers/video/gbefb.c +++ b/drivers/video/gbefb.c | |||
@@ -701,7 +701,7 @@ static int gbefb_set_par(struct fb_info *info) | |||
701 | blocks of 512x128, 256x128 or 128x128 pixels, respectively for 8bit, | 701 | blocks of 512x128, 256x128 or 128x128 pixels, respectively for 8bit, |
702 | 16bit and 32 bit modes (64 kB). They cover the screen with partial | 702 | 16bit and 32 bit modes (64 kB). They cover the screen with partial |
703 | tiles on the right and/or bottom of the screen if needed. | 703 | tiles on the right and/or bottom of the screen if needed. |
704 | For exemple in 640x480 8 bit mode the mapping is: | 704 | For example in 640x480 8 bit mode the mapping is: |
705 | 705 | ||
706 | <-------- 640 -----> | 706 | <-------- 640 -----> |
707 | <---- 512 ----><128|384 offscreen> | 707 | <---- 512 ----><128|384 offscreen> |
@@ -1147,7 +1147,7 @@ static int __init gbefb_probe(struct platform_device *p_dev) | |||
1147 | gbefb_setup(options); | 1147 | gbefb_setup(options); |
1148 | #endif | 1148 | #endif |
1149 | 1149 | ||
1150 | if (!request_region(GBE_BASE, sizeof(struct sgi_gbe), "GBE")) { | 1150 | if (!request_mem_region(GBE_BASE, sizeof(struct sgi_gbe), "GBE")) { |
1151 | printk(KERN_ERR "gbefb: couldn't reserve mmio region\n"); | 1151 | printk(KERN_ERR "gbefb: couldn't reserve mmio region\n"); |
1152 | ret = -EBUSY; | 1152 | ret = -EBUSY; |
1153 | goto out_release_framebuffer; | 1153 | goto out_release_framebuffer; |
diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile index b63b198d1f03..49226a1b909e 100644 --- a/drivers/video/omap/Makefile +++ b/drivers/video/omap/Makefile | |||
@@ -35,6 +35,7 @@ objs-y$(CONFIG_MACH_OMAP3EVM) += lcd_omap3evm.o | |||
35 | objs-y$(CONFIG_MACH_OMAP3_BEAGLE) += lcd_omap3beagle.o | 35 | objs-y$(CONFIG_MACH_OMAP3_BEAGLE) += lcd_omap3beagle.o |
36 | objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o | 36 | objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o |
37 | objs-y$(CONFIG_MACH_OVERO) += lcd_overo.o | 37 | objs-y$(CONFIG_MACH_OVERO) += lcd_overo.o |
38 | objs-y$(CONFIG_MACH_HERALD) += lcd_htcherald.o | ||
38 | 39 | ||
39 | omapfb-objs := $(objs-yy) | 40 | omapfb-objs := $(objs-yy) |
40 | 41 | ||
diff --git a/drivers/video/omap/blizzard.c b/drivers/video/omap/blizzard.c index 70dadf9d2334..f5d75f22cef9 100644 --- a/drivers/video/omap/blizzard.c +++ b/drivers/video/omap/blizzard.c | |||
@@ -26,9 +26,9 @@ | |||
26 | #include <linux/delay.h> | 26 | #include <linux/delay.h> |
27 | #include <linux/clk.h> | 27 | #include <linux/clk.h> |
28 | 28 | ||
29 | #include <mach/dma.h> | 29 | #include <plat/dma.h> |
30 | #include <mach/omapfb.h> | 30 | #include <plat/omapfb.h> |
31 | #include <mach/blizzard.h> | 31 | #include <plat/blizzard.h> |
32 | 32 | ||
33 | #include "dispc.h" | 33 | #include "dispc.h" |
34 | 34 | ||
diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c index f16e42154229..7c833db4f9b7 100644 --- a/drivers/video/omap/dispc.c +++ b/drivers/video/omap/dispc.c | |||
@@ -25,9 +25,9 @@ | |||
25 | #include <linux/clk.h> | 25 | #include <linux/clk.h> |
26 | #include <linux/io.h> | 26 | #include <linux/io.h> |
27 | 27 | ||
28 | #include <mach/sram.h> | 28 | #include <plat/sram.h> |
29 | #include <mach/omapfb.h> | 29 | #include <plat/omapfb.h> |
30 | #include <mach/board.h> | 30 | #include <plat/board.h> |
31 | 31 | ||
32 | #include "dispc.h" | 32 | #include "dispc.h" |
33 | 33 | ||
@@ -204,6 +204,7 @@ static u32 inline dispc_read_reg(int idx) | |||
204 | /* Select RFBI or bypass mode */ | 204 | /* Select RFBI or bypass mode */ |
205 | static void enable_rfbi_mode(int enable) | 205 | static void enable_rfbi_mode(int enable) |
206 | { | 206 | { |
207 | void __iomem *rfbi_control; | ||
207 | u32 l; | 208 | u32 l; |
208 | 209 | ||
209 | l = dispc_read_reg(DISPC_CONTROL); | 210 | l = dispc_read_reg(DISPC_CONTROL); |
@@ -216,9 +217,15 @@ static void enable_rfbi_mode(int enable) | |||
216 | dispc_write_reg(DISPC_CONTROL, l); | 217 | dispc_write_reg(DISPC_CONTROL, l); |
217 | 218 | ||
218 | /* Set bypass mode in RFBI module */ | 219 | /* Set bypass mode in RFBI module */ |
219 | l = __raw_readl(OMAP2_IO_ADDRESS(RFBI_CONTROL)); | 220 | rfbi_control = ioremap(RFBI_CONTROL, SZ_1K); |
221 | if (!rfbi_control) { | ||
222 | pr_err("Unable to ioremap rfbi_control\n"); | ||
223 | return; | ||
224 | } | ||
225 | l = __raw_readl(rfbi_control); | ||
220 | l |= enable ? 0 : (1 << 1); | 226 | l |= enable ? 0 : (1 << 1); |
221 | __raw_writel(l, OMAP2_IO_ADDRESS(RFBI_CONTROL)); | 227 | __raw_writel(l, rfbi_control); |
228 | iounmap(rfbi_control); | ||
222 | } | 229 | } |
223 | 230 | ||
224 | static void set_lcd_data_lines(int data_lines) | 231 | static void set_lcd_data_lines(int data_lines) |
@@ -1367,6 +1374,7 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode, | |||
1367 | int r; | 1374 | int r; |
1368 | u32 l; | 1375 | u32 l; |
1369 | struct lcd_panel *panel = fbdev->panel; | 1376 | struct lcd_panel *panel = fbdev->panel; |
1377 | void __iomem *ram_fw_base; | ||
1370 | int tmo = 10000; | 1378 | int tmo = 10000; |
1371 | int skip_init = 0; | 1379 | int skip_init = 0; |
1372 | int i; | 1380 | int i; |
@@ -1441,7 +1449,13 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode, | |||
1441 | } | 1449 | } |
1442 | 1450 | ||
1443 | /* L3 firewall setting: enable access to OCM RAM */ | 1451 | /* L3 firewall setting: enable access to OCM RAM */ |
1444 | __raw_writel(0x402000b0, OMAP2_IO_ADDRESS(0x680050a0)); | 1452 | ram_fw_base = ioremap(0x68005000, SZ_1K); |
1453 | if (!ram_fw_base) { | ||
1454 | dev_err(dispc.fbdev->dev, "Cannot ioremap to enable OCM RAM\n"); | ||
1455 | goto fail1; | ||
1456 | } | ||
1457 | __raw_writel(0x402000b0, ram_fw_base + 0xa0); | ||
1458 | iounmap(ram_fw_base); | ||
1445 | 1459 | ||
1446 | if ((r = alloc_palette_ram()) < 0) | 1460 | if ((r = alloc_palette_ram()) < 0) |
1447 | goto fail2; | 1461 | goto fail2; |
diff --git a/drivers/video/omap/hwa742.c b/drivers/video/omap/hwa742.c index ca51583ec98a..17a975e4c9c9 100644 --- a/drivers/video/omap/hwa742.c +++ b/drivers/video/omap/hwa742.c | |||
@@ -26,9 +26,9 @@ | |||
26 | #include <linux/delay.h> | 26 | #include <linux/delay.h> |
27 | #include <linux/clk.h> | 27 | #include <linux/clk.h> |
28 | 28 | ||
29 | #include <mach/dma.h> | 29 | #include <plat/dma.h> |
30 | #include <mach/omapfb.h> | 30 | #include <plat/omapfb.h> |
31 | #include <mach/hwa742.h> | 31 | #include <plat/hwa742.h> |
32 | 32 | ||
33 | #define HWA742_REV_CODE_REG 0x0 | 33 | #define HWA742_REV_CODE_REG 0x0 |
34 | #define HWA742_CONFIG_REG 0x2 | 34 | #define HWA742_CONFIG_REG 0x2 |
diff --git a/drivers/video/omap/lcd_2430sdp.c b/drivers/video/omap/lcd_2430sdp.c index 393712b6f369..fea7feee0b77 100644 --- a/drivers/video/omap/lcd_2430sdp.c +++ b/drivers/video/omap/lcd_2430sdp.c | |||
@@ -27,8 +27,8 @@ | |||
27 | #include <linux/gpio.h> | 27 | #include <linux/gpio.h> |
28 | #include <linux/i2c/twl4030.h> | 28 | #include <linux/i2c/twl4030.h> |
29 | 29 | ||
30 | #include <mach/mux.h> | 30 | #include <plat/mux.h> |
31 | #include <mach/omapfb.h> | 31 | #include <plat/omapfb.h> |
32 | #include <asm/mach-types.h> | 32 | #include <asm/mach-types.h> |
33 | 33 | ||
34 | #define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91 | 34 | #define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91 |
diff --git a/drivers/video/omap/lcd_ams_delta.c b/drivers/video/omap/lcd_ams_delta.c index 1f7439955e02..b3973ebd1b0f 100644 --- a/drivers/video/omap/lcd_ams_delta.c +++ b/drivers/video/omap/lcd_ams_delta.c | |||
@@ -25,9 +25,9 @@ | |||
25 | #include <linux/io.h> | 25 | #include <linux/io.h> |
26 | #include <linux/delay.h> | 26 | #include <linux/delay.h> |
27 | 27 | ||
28 | #include <mach/board-ams-delta.h> | 28 | #include <plat/board-ams-delta.h> |
29 | #include <mach/hardware.h> | 29 | #include <mach/hardware.h> |
30 | #include <mach/omapfb.h> | 30 | #include <plat/omapfb.h> |
31 | 31 | ||
32 | #define AMS_DELTA_DEFAULT_CONTRAST 112 | 32 | #define AMS_DELTA_DEFAULT_CONTRAST 112 |
33 | 33 | ||
@@ -123,12 +123,12 @@ struct platform_driver ams_delta_panel_driver = { | |||
123 | }, | 123 | }, |
124 | }; | 124 | }; |
125 | 125 | ||
126 | static int ams_delta_panel_drv_init(void) | 126 | static int __init ams_delta_panel_drv_init(void) |
127 | { | 127 | { |
128 | return platform_driver_register(&ams_delta_panel_driver); | 128 | return platform_driver_register(&ams_delta_panel_driver); |
129 | } | 129 | } |
130 | 130 | ||
131 | static void ams_delta_panel_drv_cleanup(void) | 131 | static void __exit ams_delta_panel_drv_cleanup(void) |
132 | { | 132 | { |
133 | platform_driver_unregister(&ams_delta_panel_driver); | 133 | platform_driver_unregister(&ams_delta_panel_driver); |
134 | } | 134 | } |
diff --git a/drivers/video/omap/lcd_apollon.c b/drivers/video/omap/lcd_apollon.c index 626ae3a532ff..4c5cefc5153b 100644 --- a/drivers/video/omap/lcd_apollon.c +++ b/drivers/video/omap/lcd_apollon.c | |||
@@ -25,8 +25,8 @@ | |||
25 | #include <linux/platform_device.h> | 25 | #include <linux/platform_device.h> |
26 | 26 | ||
27 | #include <mach/gpio.h> | 27 | #include <mach/gpio.h> |
28 | #include <mach/mux.h> | 28 | #include <plat/mux.h> |
29 | #include <mach/omapfb.h> | 29 | #include <plat/omapfb.h> |
30 | 30 | ||
31 | /* #define USE_35INCH_LCD 1 */ | 31 | /* #define USE_35INCH_LCD 1 */ |
32 | 32 | ||
diff --git a/drivers/video/omap/lcd_h3.c b/drivers/video/omap/lcd_h3.c index 417ae5efa8bb..240b4fb10741 100644 --- a/drivers/video/omap/lcd_h3.c +++ b/drivers/video/omap/lcd_h3.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <linux/i2c/tps65010.h> | 24 | #include <linux/i2c/tps65010.h> |
25 | 25 | ||
26 | #include <mach/gpio.h> | 26 | #include <mach/gpio.h> |
27 | #include <mach/omapfb.h> | 27 | #include <plat/omapfb.h> |
28 | 28 | ||
29 | #define MODULE_NAME "omapfb-lcd_h3" | 29 | #define MODULE_NAME "omapfb-lcd_h3" |
30 | 30 | ||
diff --git a/drivers/video/omap/lcd_h4.c b/drivers/video/omap/lcd_h4.c index 0c398bda7601..720625da1f4e 100644 --- a/drivers/video/omap/lcd_h4.c +++ b/drivers/video/omap/lcd_h4.c | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
24 | 24 | ||
25 | #include <mach/omapfb.h> | 25 | #include <plat/omapfb.h> |
26 | 26 | ||
27 | static int h4_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev) | 27 | static int h4_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev) |
28 | { | 28 | { |
diff --git a/drivers/video/omap/lcd_htcherald.c b/drivers/video/omap/lcd_htcherald.c new file mode 100644 index 000000000000..2e0c81ea7483 --- /dev/null +++ b/drivers/video/omap/lcd_htcherald.c | |||
@@ -0,0 +1,130 @@ | |||
1 | /* | ||
2 | * File: drivers/video/omap/lcd-htcherald.c | ||
3 | * | ||
4 | * LCD panel support for the HTC Herald | ||
5 | * | ||
6 | * Copyright (C) 2009 Cory Maccarrone <darkstar6262@gmail.com> | ||
7 | * Copyright (C) 2009 Wing Linux | ||
8 | * | ||
9 | * Based on the lcd_htcwizard.c file from the linwizard project: | ||
10 | * Copyright (C) linwizard.sourceforge.net | ||
11 | * Author: Angelo Arrifano <miknix@gmail.com> | ||
12 | * Based on lcd_h4 by Imre Deak <imre.deak@nokia.com> | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify it | ||
15 | * under the terms of the GNU General Public License as published by the | ||
16 | * Free Software Foundation; either version 2 of the License, or (at your | ||
17 | * option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, but | ||
20 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
22 | * General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License along | ||
25 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
26 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
27 | */ | ||
28 | |||
29 | #include <linux/module.h> | ||
30 | #include <linux/platform_device.h> | ||
31 | |||
32 | #include <plat/omapfb.h> | ||
33 | |||
34 | static int htcherald_panel_init(struct lcd_panel *panel, | ||
35 | struct omapfb_device *fbdev) | ||
36 | { | ||
37 | return 0; | ||
38 | } | ||
39 | |||
40 | static void htcherald_panel_cleanup(struct lcd_panel *panel) | ||
41 | { | ||
42 | } | ||
43 | |||
44 | static int htcherald_panel_enable(struct lcd_panel *panel) | ||
45 | { | ||
46 | return 0; | ||
47 | } | ||
48 | |||
49 | static void htcherald_panel_disable(struct lcd_panel *panel) | ||
50 | { | ||
51 | } | ||
52 | |||
53 | static unsigned long htcherald_panel_get_caps(struct lcd_panel *panel) | ||
54 | { | ||
55 | return 0; | ||
56 | } | ||
57 | |||
58 | /* Found on WIZ200 (miknix) and some HERA110 models (darkstar62) */ | ||
59 | struct lcd_panel htcherald_panel_1 = { | ||
60 | .name = "lcd_herald", | ||
61 | .config = OMAP_LCDC_PANEL_TFT | | ||
62 | OMAP_LCDC_INV_HSYNC | | ||
63 | OMAP_LCDC_INV_VSYNC | | ||
64 | OMAP_LCDC_INV_PIX_CLOCK, | ||
65 | .bpp = 16, | ||
66 | .data_lines = 16, | ||
67 | .x_res = 240, | ||
68 | .y_res = 320, | ||
69 | .pixel_clock = 6093, | ||
70 | .pcd = 0, /* 15 */ | ||
71 | .hsw = 10, | ||
72 | .hfp = 10, | ||
73 | .hbp = 20, | ||
74 | .vsw = 3, | ||
75 | .vfp = 2, | ||
76 | .vbp = 2, | ||
77 | |||
78 | .init = htcherald_panel_init, | ||
79 | .cleanup = htcherald_panel_cleanup, | ||
80 | .enable = htcherald_panel_enable, | ||
81 | .disable = htcherald_panel_disable, | ||
82 | .get_caps = htcherald_panel_get_caps, | ||
83 | }; | ||
84 | |||
85 | static int htcherald_panel_probe(struct platform_device *pdev) | ||
86 | { | ||
87 | omapfb_register_panel(&htcherald_panel_1); | ||
88 | return 0; | ||
89 | } | ||
90 | |||
91 | static int htcherald_panel_remove(struct platform_device *pdev) | ||
92 | { | ||
93 | return 0; | ||
94 | } | ||
95 | |||
96 | static int htcherald_panel_suspend(struct platform_device *pdev, | ||
97 | pm_message_t mesg) | ||
98 | { | ||
99 | return 0; | ||
100 | } | ||
101 | |||
102 | static int htcherald_panel_resume(struct platform_device *pdev) | ||
103 | { | ||
104 | return 0; | ||
105 | } | ||
106 | |||
107 | struct platform_driver htcherald_panel_driver = { | ||
108 | .probe = htcherald_panel_probe, | ||
109 | .remove = htcherald_panel_remove, | ||
110 | .suspend = htcherald_panel_suspend, | ||
111 | .resume = htcherald_panel_resume, | ||
112 | .driver = { | ||
113 | .name = "lcd_htcherald", | ||
114 | .owner = THIS_MODULE, | ||
115 | }, | ||
116 | }; | ||
117 | |||
118 | static int htcherald_panel_drv_init(void) | ||
119 | { | ||
120 | return platform_driver_register(&htcherald_panel_driver); | ||
121 | } | ||
122 | |||
123 | static void htcherald_panel_drv_cleanup(void) | ||
124 | { | ||
125 | platform_driver_unregister(&htcherald_panel_driver); | ||
126 | } | ||
127 | |||
128 | module_init(htcherald_panel_drv_init); | ||
129 | module_exit(htcherald_panel_drv_cleanup); | ||
130 | |||
diff --git a/drivers/video/omap/lcd_inn1510.c b/drivers/video/omap/lcd_inn1510.c index cdbd8bb607be..aafe9b497e2d 100644 --- a/drivers/video/omap/lcd_inn1510.c +++ b/drivers/video/omap/lcd_inn1510.c | |||
@@ -23,8 +23,8 @@ | |||
23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
24 | #include <linux/io.h> | 24 | #include <linux/io.h> |
25 | 25 | ||
26 | #include <mach/fpga.h> | 26 | #include <plat/fpga.h> |
27 | #include <mach/omapfb.h> | 27 | #include <plat/omapfb.h> |
28 | 28 | ||
29 | static int innovator1510_panel_init(struct lcd_panel *panel, | 29 | static int innovator1510_panel_init(struct lcd_panel *panel, |
30 | struct omapfb_device *fbdev) | 30 | struct omapfb_device *fbdev) |
diff --git a/drivers/video/omap/lcd_inn1610.c b/drivers/video/omap/lcd_inn1610.c index 268f7f808a4e..0de338264a8a 100644 --- a/drivers/video/omap/lcd_inn1610.c +++ b/drivers/video/omap/lcd_inn1610.c | |||
@@ -23,7 +23,7 @@ | |||
23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
24 | 24 | ||
25 | #include <mach/gpio.h> | 25 | #include <mach/gpio.h> |
26 | #include <mach/omapfb.h> | 26 | #include <plat/omapfb.h> |
27 | 27 | ||
28 | #define MODULE_NAME "omapfb-lcd_h3" | 28 | #define MODULE_NAME "omapfb-lcd_h3" |
29 | 29 | ||
diff --git a/drivers/video/omap/lcd_ldp.c b/drivers/video/omap/lcd_ldp.c index dbfe8974fb94..6a260dfdadc5 100644 --- a/drivers/video/omap/lcd_ldp.c +++ b/drivers/video/omap/lcd_ldp.c | |||
@@ -27,8 +27,8 @@ | |||
27 | #include <linux/i2c/twl4030.h> | 27 | #include <linux/i2c/twl4030.h> |
28 | 28 | ||
29 | #include <mach/gpio.h> | 29 | #include <mach/gpio.h> |
30 | #include <mach/mux.h> | 30 | #include <plat/mux.h> |
31 | #include <mach/omapfb.h> | 31 | #include <plat/omapfb.h> |
32 | #include <asm/mach-types.h> | 32 | #include <asm/mach-types.h> |
33 | 33 | ||
34 | #define LCD_PANEL_BACKLIGHT_GPIO (15 + OMAP_MAX_GPIO_LINES) | 34 | #define LCD_PANEL_BACKLIGHT_GPIO (15 + OMAP_MAX_GPIO_LINES) |
diff --git a/drivers/video/omap/lcd_mipid.c b/drivers/video/omap/lcd_mipid.c index 918ee8934196..8f3e2b4bb4f3 100644 --- a/drivers/video/omap/lcd_mipid.c +++ b/drivers/video/omap/lcd_mipid.c | |||
@@ -23,8 +23,8 @@ | |||
23 | #include <linux/workqueue.h> | 23 | #include <linux/workqueue.h> |
24 | #include <linux/spi/spi.h> | 24 | #include <linux/spi/spi.h> |
25 | 25 | ||
26 | #include <mach/omapfb.h> | 26 | #include <plat/omapfb.h> |
27 | #include <mach/lcd_mipid.h> | 27 | #include <plat/lcd_mipid.h> |
28 | 28 | ||
29 | #define MIPID_MODULE_NAME "lcd_mipid" | 29 | #define MIPID_MODULE_NAME "lcd_mipid" |
30 | 30 | ||
@@ -607,7 +607,7 @@ static struct spi_driver mipid_spi_driver = { | |||
607 | .remove = __devexit_p(mipid_spi_remove), | 607 | .remove = __devexit_p(mipid_spi_remove), |
608 | }; | 608 | }; |
609 | 609 | ||
610 | static int mipid_drv_init(void) | 610 | static int __init mipid_drv_init(void) |
611 | { | 611 | { |
612 | spi_register_driver(&mipid_spi_driver); | 612 | spi_register_driver(&mipid_spi_driver); |
613 | 613 | ||
@@ -615,7 +615,7 @@ static int mipid_drv_init(void) | |||
615 | } | 615 | } |
616 | module_init(mipid_drv_init); | 616 | module_init(mipid_drv_init); |
617 | 617 | ||
618 | static void mipid_drv_cleanup(void) | 618 | static void __exit mipid_drv_cleanup(void) |
619 | { | 619 | { |
620 | spi_unregister_driver(&mipid_spi_driver); | 620 | spi_unregister_driver(&mipid_spi_driver); |
621 | } | 621 | } |
diff --git a/drivers/video/omap/lcd_omap2evm.c b/drivers/video/omap/lcd_omap2evm.c index 7a2bbe2ecec3..e1a38abca3e7 100644 --- a/drivers/video/omap/lcd_omap2evm.c +++ b/drivers/video/omap/lcd_omap2evm.c | |||
@@ -26,8 +26,8 @@ | |||
26 | #include <linux/gpio.h> | 26 | #include <linux/gpio.h> |
27 | #include <linux/i2c/twl4030.h> | 27 | #include <linux/i2c/twl4030.h> |
28 | 28 | ||
29 | #include <mach/mux.h> | 29 | #include <plat/mux.h> |
30 | #include <mach/omapfb.h> | 30 | #include <plat/omapfb.h> |
31 | #include <asm/mach-types.h> | 31 | #include <asm/mach-types.h> |
32 | 32 | ||
33 | #define LCD_PANEL_ENABLE_GPIO 154 | 33 | #define LCD_PANEL_ENABLE_GPIO 154 |
diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c index 4011910123bf..ccec084ed647 100644 --- a/drivers/video/omap/lcd_omap3beagle.c +++ b/drivers/video/omap/lcd_omap3beagle.c | |||
@@ -25,8 +25,8 @@ | |||
25 | #include <linux/gpio.h> | 25 | #include <linux/gpio.h> |
26 | #include <linux/i2c/twl4030.h> | 26 | #include <linux/i2c/twl4030.h> |
27 | 27 | ||
28 | #include <mach/mux.h> | 28 | #include <plat/mux.h> |
29 | #include <mach/omapfb.h> | 29 | #include <plat/omapfb.h> |
30 | #include <asm/mach-types.h> | 30 | #include <asm/mach-types.h> |
31 | 31 | ||
32 | #define LCD_PANEL_ENABLE_GPIO 170 | 32 | #define LCD_PANEL_ENABLE_GPIO 170 |
diff --git a/drivers/video/omap/lcd_omap3evm.c b/drivers/video/omap/lcd_omap3evm.c index b6a4c2c57a2f..556eb31db24c 100644 --- a/drivers/video/omap/lcd_omap3evm.c +++ b/drivers/video/omap/lcd_omap3evm.c | |||
@@ -25,8 +25,8 @@ | |||
25 | #include <linux/gpio.h> | 25 | #include <linux/gpio.h> |
26 | #include <linux/i2c/twl4030.h> | 26 | #include <linux/i2c/twl4030.h> |
27 | 27 | ||
28 | #include <mach/mux.h> | 28 | #include <plat/mux.h> |
29 | #include <mach/omapfb.h> | 29 | #include <plat/omapfb.h> |
30 | #include <asm/mach-types.h> | 30 | #include <asm/mach-types.h> |
31 | 31 | ||
32 | #define LCD_PANEL_ENABLE_GPIO 153 | 32 | #define LCD_PANEL_ENABLE_GPIO 153 |
diff --git a/drivers/video/omap/lcd_osk.c b/drivers/video/omap/lcd_osk.c index b3fa88bc6269..bb21d7dca39e 100644 --- a/drivers/video/omap/lcd_osk.c +++ b/drivers/video/omap/lcd_osk.c | |||
@@ -24,8 +24,8 @@ | |||
24 | #include <linux/platform_device.h> | 24 | #include <linux/platform_device.h> |
25 | 25 | ||
26 | #include <mach/gpio.h> | 26 | #include <mach/gpio.h> |
27 | #include <mach/mux.h> | 27 | #include <plat/mux.h> |
28 | #include <mach/omapfb.h> | 28 | #include <plat/omapfb.h> |
29 | 29 | ||
30 | static int osk_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev) | 30 | static int osk_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev) |
31 | { | 31 | { |
diff --git a/drivers/video/omap/lcd_overo.c b/drivers/video/omap/lcd_overo.c index 2bc5c9268e5e..b0f86e514cde 100644 --- a/drivers/video/omap/lcd_overo.c +++ b/drivers/video/omap/lcd_overo.c | |||
@@ -24,8 +24,8 @@ | |||
24 | #include <linux/i2c/twl4030.h> | 24 | #include <linux/i2c/twl4030.h> |
25 | 25 | ||
26 | #include <mach/gpio.h> | 26 | #include <mach/gpio.h> |
27 | #include <mach/mux.h> | 27 | #include <plat/mux.h> |
28 | #include <mach/omapfb.h> | 28 | #include <plat/omapfb.h> |
29 | #include <asm/mach-types.h> | 29 | #include <asm/mach-types.h> |
30 | 30 | ||
31 | #define LCD_ENABLE 144 | 31 | #define LCD_ENABLE 144 |
diff --git a/drivers/video/omap/lcd_palmte.c b/drivers/video/omap/lcd_palmte.c index 4bf3c79f3cc7..d30289603ce8 100644 --- a/drivers/video/omap/lcd_palmte.c +++ b/drivers/video/omap/lcd_palmte.c | |||
@@ -23,8 +23,8 @@ | |||
23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
24 | #include <linux/io.h> | 24 | #include <linux/io.h> |
25 | 25 | ||
26 | #include <mach/fpga.h> | 26 | #include <plat/fpga.h> |
27 | #include <mach/omapfb.h> | 27 | #include <plat/omapfb.h> |
28 | 28 | ||
29 | static int palmte_panel_init(struct lcd_panel *panel, | 29 | static int palmte_panel_init(struct lcd_panel *panel, |
30 | struct omapfb_device *fbdev) | 30 | struct omapfb_device *fbdev) |
diff --git a/drivers/video/omap/lcd_palmtt.c b/drivers/video/omap/lcd_palmtt.c index 48ea1f9f2cbf..557424fb6df1 100644 --- a/drivers/video/omap/lcd_palmtt.c +++ b/drivers/video/omap/lcd_palmtt.c | |||
@@ -30,7 +30,7 @@ GPIO13 - screen blanking | |||
30 | #include <linux/io.h> | 30 | #include <linux/io.h> |
31 | 31 | ||
32 | #include <mach/gpio.h> | 32 | #include <mach/gpio.h> |
33 | #include <mach/omapfb.h> | 33 | #include <plat/omapfb.h> |
34 | 34 | ||
35 | static int palmtt_panel_init(struct lcd_panel *panel, | 35 | static int palmtt_panel_init(struct lcd_panel *panel, |
36 | struct omapfb_device *fbdev) | 36 | struct omapfb_device *fbdev) |
diff --git a/drivers/video/omap/lcd_palmz71.c b/drivers/video/omap/lcd_palmz71.c index 0697d29b4d3b..5f4b5b2c1f41 100644 --- a/drivers/video/omap/lcd_palmz71.c +++ b/drivers/video/omap/lcd_palmz71.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <linux/platform_device.h> | 24 | #include <linux/platform_device.h> |
25 | #include <linux/io.h> | 25 | #include <linux/io.h> |
26 | 26 | ||
27 | #include <mach/omapfb.h> | 27 | #include <plat/omapfb.h> |
28 | 28 | ||
29 | static int palmz71_panel_init(struct lcd_panel *panel, | 29 | static int palmz71_panel_init(struct lcd_panel *panel, |
30 | struct omapfb_device *fbdev) | 30 | struct omapfb_device *fbdev) |
diff --git a/drivers/video/omap/lcdc.c b/drivers/video/omap/lcdc.c index ab3949256677..5f32cafbf74c 100644 --- a/drivers/video/omap/lcdc.c +++ b/drivers/video/omap/lcdc.c | |||
@@ -29,8 +29,8 @@ | |||
29 | #include <linux/vmalloc.h> | 29 | #include <linux/vmalloc.h> |
30 | #include <linux/clk.h> | 30 | #include <linux/clk.h> |
31 | 31 | ||
32 | #include <mach/dma.h> | 32 | #include <plat/dma.h> |
33 | #include <mach/omapfb.h> | 33 | #include <plat/omapfb.h> |
34 | 34 | ||
35 | #include <asm/mach-types.h> | 35 | #include <asm/mach-types.h> |
36 | 36 | ||
diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c index 0d0c8c8b9b56..f900a43db8d7 100644 --- a/drivers/video/omap/omapfb_main.c +++ b/drivers/video/omap/omapfb_main.c | |||
@@ -28,8 +28,8 @@ | |||
28 | #include <linux/mm.h> | 28 | #include <linux/mm.h> |
29 | #include <linux/uaccess.h> | 29 | #include <linux/uaccess.h> |
30 | 30 | ||
31 | #include <mach/dma.h> | 31 | #include <plat/dma.h> |
32 | #include <mach/omapfb.h> | 32 | #include <plat/omapfb.h> |
33 | 33 | ||
34 | #include "lcdc.h" | 34 | #include "lcdc.h" |
35 | #include "dispc.h" | 35 | #include "dispc.h" |
diff --git a/drivers/video/omap/rfbi.c b/drivers/video/omap/rfbi.c index ee01e84e19c1..c90fa39486b4 100644 --- a/drivers/video/omap/rfbi.c +++ b/drivers/video/omap/rfbi.c | |||
@@ -27,7 +27,7 @@ | |||
27 | #include <linux/clk.h> | 27 | #include <linux/clk.h> |
28 | #include <linux/io.h> | 28 | #include <linux/io.h> |
29 | 29 | ||
30 | #include <mach/omapfb.h> | 30 | #include <plat/omapfb.h> |
31 | 31 | ||
32 | #include "dispc.h" | 32 | #include "dispc.h" |
33 | 33 | ||
diff --git a/drivers/video/omap/sossi.c b/drivers/video/omap/sossi.c index a76946220249..79dc84f09713 100644 --- a/drivers/video/omap/sossi.c +++ b/drivers/video/omap/sossi.c | |||
@@ -24,8 +24,8 @@ | |||
24 | #include <linux/irq.h> | 24 | #include <linux/irq.h> |
25 | #include <linux/io.h> | 25 | #include <linux/io.h> |
26 | 26 | ||
27 | #include <mach/dma.h> | 27 | #include <plat/dma.h> |
28 | #include <mach/omapfb.h> | 28 | #include <plat/omapfb.h> |
29 | 29 | ||
30 | #include "lcdc.h" | 30 | #include "lcdc.h" |
31 | 31 | ||
diff --git a/drivers/video/pxa168fb.c b/drivers/video/pxa168fb.c index 84d8327e47db..75285d3f393c 100644 --- a/drivers/video/pxa168fb.c +++ b/drivers/video/pxa168fb.c | |||
@@ -687,6 +687,7 @@ static int __init pxa168fb_probe(struct platform_device *pdev) | |||
687 | } | 687 | } |
688 | 688 | ||
689 | info->fix.smem_start = (unsigned long)fbi->fb_start_dma; | 689 | info->fix.smem_start = (unsigned long)fbi->fb_start_dma; |
690 | set_graphics_start(info, 0, 0); | ||
690 | 691 | ||
691 | /* | 692 | /* |
692 | * Set video mode according to platform data. | 693 | * Set video mode according to platform data. |
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c index 1820c4a24434..f58a3aae6ea6 100644 --- a/drivers/video/pxafb.c +++ b/drivers/video/pxafb.c | |||
@@ -80,7 +80,8 @@ | |||
80 | static int pxafb_activate_var(struct fb_var_screeninfo *var, | 80 | static int pxafb_activate_var(struct fb_var_screeninfo *var, |
81 | struct pxafb_info *); | 81 | struct pxafb_info *); |
82 | static void set_ctrlr_state(struct pxafb_info *fbi, u_int state); | 82 | static void set_ctrlr_state(struct pxafb_info *fbi, u_int state); |
83 | static void setup_base_frame(struct pxafb_info *fbi, int branch); | 83 | static void setup_base_frame(struct pxafb_info *fbi, |
84 | struct fb_var_screeninfo *var, int branch); | ||
84 | static int setup_frame_dma(struct pxafb_info *fbi, int dma, int pal, | 85 | static int setup_frame_dma(struct pxafb_info *fbi, int dma, int pal, |
85 | unsigned long offset, size_t size); | 86 | unsigned long offset, size_t size); |
86 | 87 | ||
@@ -397,6 +398,7 @@ static void pxafb_setmode(struct fb_var_screeninfo *var, | |||
397 | var->lower_margin = mode->lower_margin; | 398 | var->lower_margin = mode->lower_margin; |
398 | var->sync = mode->sync; | 399 | var->sync = mode->sync; |
399 | var->grayscale = mode->cmap_greyscale; | 400 | var->grayscale = mode->cmap_greyscale; |
401 | var->transp.length = mode->transparency; | ||
400 | 402 | ||
401 | /* set the initial RGBA bitfields */ | 403 | /* set the initial RGBA bitfields */ |
402 | pxafb_set_pixfmt(var, mode->depth); | 404 | pxafb_set_pixfmt(var, mode->depth); |
@@ -531,12 +533,22 @@ static int pxafb_pan_display(struct fb_var_screeninfo *var, | |||
531 | struct fb_info *info) | 533 | struct fb_info *info) |
532 | { | 534 | { |
533 | struct pxafb_info *fbi = (struct pxafb_info *)info; | 535 | struct pxafb_info *fbi = (struct pxafb_info *)info; |
536 | struct fb_var_screeninfo newvar; | ||
534 | int dma = DMA_MAX + DMA_BASE; | 537 | int dma = DMA_MAX + DMA_BASE; |
535 | 538 | ||
536 | if (fbi->state != C_ENABLE) | 539 | if (fbi->state != C_ENABLE) |
537 | return 0; | 540 | return 0; |
538 | 541 | ||
539 | setup_base_frame(fbi, 1); | 542 | /* Only take .xoffset, .yoffset and .vmode & FB_VMODE_YWRAP from what |
543 | * was passed in and copy the rest from the old screeninfo. | ||
544 | */ | ||
545 | memcpy(&newvar, &fbi->fb.var, sizeof(newvar)); | ||
546 | newvar.xoffset = var->xoffset; | ||
547 | newvar.yoffset = var->yoffset; | ||
548 | newvar.vmode &= ~FB_VMODE_YWRAP; | ||
549 | newvar.vmode |= var->vmode & FB_VMODE_YWRAP; | ||
550 | |||
551 | setup_base_frame(fbi, &newvar, 1); | ||
540 | 552 | ||
541 | if (fbi->lccr0 & LCCR0_SDS) | 553 | if (fbi->lccr0 & LCCR0_SDS) |
542 | lcd_writel(fbi, FBR1, fbi->fdadr[dma + 1] | 0x1); | 554 | lcd_writel(fbi, FBR1, fbi->fdadr[dma + 1] | 0x1); |
@@ -1052,9 +1064,10 @@ static int setup_frame_dma(struct pxafb_info *fbi, int dma, int pal, | |||
1052 | return 0; | 1064 | return 0; |
1053 | } | 1065 | } |
1054 | 1066 | ||
1055 | static void setup_base_frame(struct pxafb_info *fbi, int branch) | 1067 | static void setup_base_frame(struct pxafb_info *fbi, |
1068 | struct fb_var_screeninfo *var, | ||
1069 | int branch) | ||
1056 | { | 1070 | { |
1057 | struct fb_var_screeninfo *var = &fbi->fb.var; | ||
1058 | struct fb_fix_screeninfo *fix = &fbi->fb.fix; | 1071 | struct fb_fix_screeninfo *fix = &fbi->fb.fix; |
1059 | int nbytes, dma, pal, bpp = var->bits_per_pixel; | 1072 | int nbytes, dma, pal, bpp = var->bits_per_pixel; |
1060 | unsigned long offset; | 1073 | unsigned long offset; |
@@ -1332,7 +1345,7 @@ static int pxafb_activate_var(struct fb_var_screeninfo *var, | |||
1332 | #endif | 1345 | #endif |
1333 | setup_parallel_timing(fbi, var); | 1346 | setup_parallel_timing(fbi, var); |
1334 | 1347 | ||
1335 | setup_base_frame(fbi, 0); | 1348 | setup_base_frame(fbi, var, 0); |
1336 | 1349 | ||
1337 | fbi->reg_lccr0 = fbi->lccr0 | | 1350 | fbi->reg_lccr0 = fbi->lccr0 | |
1338 | (LCCR0_LDM | LCCR0_SFM | LCCR0_IUM | LCCR0_EFM | | 1351 | (LCCR0_LDM | LCCR0_SFM | LCCR0_IUM | LCCR0_EFM | |
diff --git a/drivers/video/sgivwfb.c b/drivers/video/sgivwfb.c index bba53714a7b1..f86012239bff 100644 --- a/drivers/video/sgivwfb.c +++ b/drivers/video/sgivwfb.c | |||
@@ -260,13 +260,13 @@ static int sgivwfb_check_var(struct fb_var_screeninfo *var, | |||
260 | var->grayscale = 0; /* No grayscale for now */ | 260 | var->grayscale = 0; /* No grayscale for now */ |
261 | 261 | ||
262 | /* determine valid resolution and timing */ | 262 | /* determine valid resolution and timing */ |
263 | for (min_mode = 0; min_mode < DBE_VT_SIZE; min_mode++) { | 263 | for (min_mode = 0; min_mode < ARRAY_SIZE(dbeVTimings); min_mode++) { |
264 | if (dbeVTimings[min_mode].width >= var->xres && | 264 | if (dbeVTimings[min_mode].width >= var->xres && |
265 | dbeVTimings[min_mode].height >= var->yres) | 265 | dbeVTimings[min_mode].height >= var->yres) |
266 | break; | 266 | break; |
267 | } | 267 | } |
268 | 268 | ||
269 | if (min_mode == DBE_VT_SIZE) | 269 | if (min_mode == ARRAY_SIZE(dbeVTimings)) |
270 | return -EINVAL; /* Resolution to high */ | 270 | return -EINVAL; /* Resolution to high */ |
271 | 271 | ||
272 | /* XXX FIXME - should try to pick best refresh rate */ | 272 | /* XXX FIXME - should try to pick best refresh rate */ |
diff --git a/drivers/video/stifb.c b/drivers/video/stifb.c index 6120f0c526fe..876648e15e9d 100644 --- a/drivers/video/stifb.c +++ b/drivers/video/stifb.c | |||
@@ -756,9 +756,9 @@ hyperResetPlanes(struct stifb_info *fb, int enable) | |||
756 | if (fb->info.var.bits_per_pixel == 32) | 756 | if (fb->info.var.bits_per_pixel == 32) |
757 | controlPlaneReg = 0x04000F00; | 757 | controlPlaneReg = 0x04000F00; |
758 | else | 758 | else |
759 | controlPlaneReg = 0x00000F00; /* 0x00000800 should be enought, but lets clear all 4 bits */ | 759 | controlPlaneReg = 0x00000F00; /* 0x00000800 should be enough, but lets clear all 4 bits */ |
760 | else | 760 | else |
761 | controlPlaneReg = 0x00000F00; /* 0x00000100 should be enought, but lets clear all 4 bits */ | 761 | controlPlaneReg = 0x00000F00; /* 0x00000100 should be enough, but lets clear all 4 bits */ |
762 | 762 | ||
763 | switch (enable) { | 763 | switch (enable) { |
764 | case ENABLE: | 764 | case ENABLE: |
diff --git a/drivers/video/tdfxfb.c b/drivers/video/tdfxfb.c index ff43c8885028..980548390048 100644 --- a/drivers/video/tdfxfb.c +++ b/drivers/video/tdfxfb.c | |||
@@ -52,7 +52,7 @@ | |||
52 | * | 52 | * |
53 | * 0.1.3 (released 1999-11-02) added Attila's panning support, code | 53 | * 0.1.3 (released 1999-11-02) added Attila's panning support, code |
54 | * reorg, hwcursor address page size alignment | 54 | * reorg, hwcursor address page size alignment |
55 | * (for mmaping both frame buffer and regs), | 55 | * (for mmapping both frame buffer and regs), |
56 | * and my changes to get rid of hardcoded | 56 | * and my changes to get rid of hardcoded |
57 | * VGA i/o register locations (uses PCI | 57 | * VGA i/o register locations (uses PCI |
58 | * configuration info now) | 58 | * configuration info now) |
diff --git a/drivers/video/via/dvi.c b/drivers/video/via/dvi.c index c5c32b6b6e6c..67b36932212b 100644 --- a/drivers/video/via/dvi.c +++ b/drivers/video/via/dvi.c | |||
@@ -467,7 +467,7 @@ static int dvi_get_panel_size_from_DDCv1(void) | |||
467 | default: | 467 | default: |
468 | viaparinfo->tmds_setting_info->dvi_panel_size = | 468 | viaparinfo->tmds_setting_info->dvi_panel_size = |
469 | VIA_RES_1024X768; | 469 | VIA_RES_1024X768; |
470 | DEBUG_MSG(KERN_INFO "Unknow panel size max resolution = %d !\ | 470 | DEBUG_MSG(KERN_INFO "Unknown panel size max resolution = %d !\ |
471 | set default panel size.\n", max_h); | 471 | set default panel size.\n", max_h); |
472 | break; | 472 | break; |
473 | } | 473 | } |
@@ -534,7 +534,7 @@ static int dvi_get_panel_size_from_DDCv2(void) | |||
534 | default: | 534 | default: |
535 | viaparinfo->tmds_setting_info->dvi_panel_size = | 535 | viaparinfo->tmds_setting_info->dvi_panel_size = |
536 | VIA_RES_1024X768; | 536 | VIA_RES_1024X768; |
537 | DEBUG_MSG(KERN_INFO "Unknow panel size max resolution = %d!\ | 537 | DEBUG_MSG(KERN_INFO "Unknown panel size max resolution = %d!\ |
538 | set default panel size.\n", HSize); | 538 | set default panel size.\n", HSize); |
539 | break; | 539 | break; |
540 | } | 540 | } |
diff --git a/drivers/video/vt8623fb.c b/drivers/video/vt8623fb.c index 3df17dc8c3d7..65ccd215d496 100644 --- a/drivers/video/vt8623fb.c +++ b/drivers/video/vt8623fb.c | |||
@@ -446,7 +446,7 @@ static int vt8623fb_set_par(struct fb_info *info) | |||
446 | 446 | ||
447 | svga_wseq_mask(0x1E, 0xF0, 0xF0); // DI/DVP bus | 447 | svga_wseq_mask(0x1E, 0xF0, 0xF0); // DI/DVP bus |
448 | svga_wseq_mask(0x2A, 0x0F, 0x0F); // DI/DVP bus | 448 | svga_wseq_mask(0x2A, 0x0F, 0x0F); // DI/DVP bus |
449 | svga_wseq_mask(0x16, 0x08, 0xBF); // FIFO read treshold | 449 | svga_wseq_mask(0x16, 0x08, 0xBF); // FIFO read threshold |
450 | vga_wseq(NULL, 0x17, 0x1F); // FIFO depth | 450 | vga_wseq(NULL, 0x17, 0x1F); // FIFO depth |
451 | vga_wseq(NULL, 0x18, 0x4E); | 451 | vga_wseq(NULL, 0x18, 0x4E); |
452 | svga_wseq_mask(0x1A, 0x08, 0x08); // enable MMIO ? | 452 | svga_wseq_mask(0x1A, 0x08, 0x08); // enable MMIO ? |