diff options
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/Kconfig | 23 | ||||
-rw-r--r-- | drivers/video/amba-clcd.c | 2 | ||||
-rw-r--r-- | drivers/video/atmel_lcdfb.c | 10 | ||||
-rw-r--r-- | drivers/video/gbefb.c | 14 | ||||
-rw-r--r-- | drivers/video/omap/dispc.c | 14 | ||||
-rw-r--r-- | drivers/video/omap/rfbi.c | 8 | ||||
-rw-r--r-- | drivers/video/s3c-fb.c | 12 | ||||
-rw-r--r-- | drivers/video/sh_mobile_lcdcfb.c | 7 | ||||
-rw-r--r-- | drivers/video/via/viafbdev.c | 6 |
9 files changed, 47 insertions, 49 deletions
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 7826bdce4bbe..0048f1185a60 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig | |||
@@ -1128,13 +1128,6 @@ config FB_INTEL | |||
1128 | 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets. | 1128 | 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets. |
1129 | Say Y if you have and plan to use such a board. | 1129 | Say Y if you have and plan to use such a board. |
1130 | 1130 | ||
1131 | If you say Y here and want DDC/I2C support you must first say Y to | ||
1132 | "I2C support" and "I2C bit-banging support" in the character devices | ||
1133 | section. | ||
1134 | |||
1135 | If you say M here then "I2C support" and "I2C bit-banging support" | ||
1136 | can be build either as modules or built-in. | ||
1137 | |||
1138 | To compile this driver as a module, choose M here: the | 1131 | To compile this driver as a module, choose M here: the |
1139 | module will be called intelfb. | 1132 | module will be called intelfb. |
1140 | 1133 | ||
@@ -1207,11 +1200,10 @@ config FB_MATROX_G | |||
1207 | pixel and 32 bpp packed pixel. You can also use font widths | 1200 | pixel and 32 bpp packed pixel. You can also use font widths |
1208 | different from 8. | 1201 | different from 8. |
1209 | 1202 | ||
1210 | If you need support for G400 secondary head, you must first say Y to | 1203 | If you need support for G400 secondary head, you must say Y to |
1211 | "I2C support" in the character devices section, and then to | 1204 | "Matrox I2C support" and "G400 second head support" right below. |
1212 | "Matrox I2C support" and "G400 second head support" here in the | 1205 | G450/G550 secondary head and digital output are supported without |
1213 | framebuffer section. G450/G550 secondary head and digital output | 1206 | additional modules. |
1214 | are supported without additional modules. | ||
1215 | 1207 | ||
1216 | The driver starts in monitor mode. You must use the matroxset tool | 1208 | The driver starts in monitor mode. You must use the matroxset tool |
1217 | (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to | 1209 | (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to |
@@ -1310,13 +1302,6 @@ config FB_RADEON | |||
1310 | a framebuffer device. There are both PCI and AGP versions. You | 1302 | a framebuffer device. There are both PCI and AGP versions. You |
1311 | don't need to choose this to run the Radeon in plain VGA mode. | 1303 | don't need to choose this to run the Radeon in plain VGA mode. |
1312 | 1304 | ||
1313 | If you say Y here and want DDC/I2C support you must first say Y to | ||
1314 | "I2C support" and "I2C bit-banging support" in the character devices | ||
1315 | section. | ||
1316 | |||
1317 | If you say M here then "I2C support" and "I2C bit-banging support" | ||
1318 | can be build either as modules or built-in. | ||
1319 | |||
1320 | There is a product page at | 1305 | There is a product page at |
1321 | http://apps.ati.com/ATIcompare/ | 1306 | http://apps.ati.com/ATIcompare/ |
1322 | 1307 | ||
diff --git a/drivers/video/amba-clcd.c b/drivers/video/amba-clcd.c index 61050ab14128..d1f80bac54f0 100644 --- a/drivers/video/amba-clcd.c +++ b/drivers/video/amba-clcd.c | |||
@@ -437,7 +437,7 @@ static int clcdfb_register(struct clcd_fb *fb) | |||
437 | return ret; | 437 | return ret; |
438 | } | 438 | } |
439 | 439 | ||
440 | static int clcdfb_probe(struct amba_device *dev, void *id) | 440 | static int clcdfb_probe(struct amba_device *dev, struct amba_id *id) |
441 | { | 441 | { |
442 | struct clcd_board *board = dev->dev.platform_data; | 442 | struct clcd_board *board = dev->dev.platform_data; |
443 | struct clcd_fb *fb; | 443 | struct clcd_fb *fb; |
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c index 9a577a800db5..2fb63f6ea2f1 100644 --- a/drivers/video/atmel_lcdfb.c +++ b/drivers/video/atmel_lcdfb.c | |||
@@ -29,14 +29,8 @@ | |||
29 | 29 | ||
30 | /* configurable parameters */ | 30 | /* configurable parameters */ |
31 | #define ATMEL_LCDC_CVAL_DEFAULT 0xc8 | 31 | #define ATMEL_LCDC_CVAL_DEFAULT 0xc8 |
32 | #define ATMEL_LCDC_DMA_BURST_LEN 8 | 32 | #define ATMEL_LCDC_DMA_BURST_LEN 8 /* words */ |
33 | 33 | #define ATMEL_LCDC_FIFO_SIZE 512 /* words */ | |
34 | #if defined(CONFIG_ARCH_AT91SAM9263) || defined(CONFIG_ARCH_AT91CAP9) || \ | ||
35 | defined(CONFIG_ARCH_AT91SAM9RL) | ||
36 | #define ATMEL_LCDC_FIFO_SIZE 2048 | ||
37 | #else | ||
38 | #define ATMEL_LCDC_FIFO_SIZE 512 | ||
39 | #endif | ||
40 | 34 | ||
41 | #if defined(CONFIG_ARCH_AT91) | 35 | #if defined(CONFIG_ARCH_AT91) |
42 | #define ATMEL_LCDFB_FBINFO_DEFAULT (FBINFO_DEFAULT \ | 36 | #define ATMEL_LCDFB_FBINFO_DEFAULT (FBINFO_DEFAULT \ |
diff --git a/drivers/video/gbefb.c b/drivers/video/gbefb.c index fe5b519860b1..1a83709f9611 100644 --- a/drivers/video/gbefb.c +++ b/drivers/video/gbefb.c | |||
@@ -75,7 +75,7 @@ struct gbefb_par { | |||
75 | static unsigned int gbe_mem_size = CONFIG_FB_GBE_MEM * 1024*1024; | 75 | static unsigned int gbe_mem_size = CONFIG_FB_GBE_MEM * 1024*1024; |
76 | static void *gbe_mem; | 76 | static void *gbe_mem; |
77 | static dma_addr_t gbe_dma_addr; | 77 | static dma_addr_t gbe_dma_addr; |
78 | unsigned long gbe_mem_phys; | 78 | static unsigned long gbe_mem_phys; |
79 | 79 | ||
80 | static struct { | 80 | static struct { |
81 | uint16_t *cpu; | 81 | uint16_t *cpu; |
@@ -185,8 +185,8 @@ static struct fb_videomode default_mode_LCD __initdata = { | |||
185 | .vmode = FB_VMODE_NONINTERLACED, | 185 | .vmode = FB_VMODE_NONINTERLACED, |
186 | }; | 186 | }; |
187 | 187 | ||
188 | struct fb_videomode *default_mode __initdata = &default_mode_CRT; | 188 | static struct fb_videomode *default_mode __initdata = &default_mode_CRT; |
189 | struct fb_var_screeninfo *default_var __initdata = &default_var_CRT; | 189 | static struct fb_var_screeninfo *default_var __initdata = &default_var_CRT; |
190 | 190 | ||
191 | static int flat_panel_enabled = 0; | 191 | static int flat_panel_enabled = 0; |
192 | 192 | ||
@@ -205,7 +205,7 @@ static void gbe_reset(void) | |||
205 | * console. | 205 | * console. |
206 | */ | 206 | */ |
207 | 207 | ||
208 | void gbe_turn_off(void) | 208 | static void gbe_turn_off(void) |
209 | { | 209 | { |
210 | int i; | 210 | int i; |
211 | unsigned int val, x, y, vpixen_off; | 211 | unsigned int val, x, y, vpixen_off; |
@@ -1097,7 +1097,7 @@ static void gbefb_create_sysfs(struct device *dev) | |||
1097 | * Initialization | 1097 | * Initialization |
1098 | */ | 1098 | */ |
1099 | 1099 | ||
1100 | int __init gbefb_setup(char *options) | 1100 | static int __init gbefb_setup(char *options) |
1101 | { | 1101 | { |
1102 | char *this_opt; | 1102 | char *this_opt; |
1103 | 1103 | ||
@@ -1283,7 +1283,7 @@ static struct platform_driver gbefb_driver = { | |||
1283 | 1283 | ||
1284 | static struct platform_device *gbefb_device; | 1284 | static struct platform_device *gbefb_device; |
1285 | 1285 | ||
1286 | int __init gbefb_init(void) | 1286 | static int __init gbefb_init(void) |
1287 | { | 1287 | { |
1288 | int ret = platform_driver_register(&gbefb_driver); | 1288 | int ret = platform_driver_register(&gbefb_driver); |
1289 | if (!ret) { | 1289 | if (!ret) { |
@@ -1301,7 +1301,7 @@ int __init gbefb_init(void) | |||
1301 | return ret; | 1301 | return ret; |
1302 | } | 1302 | } |
1303 | 1303 | ||
1304 | void __exit gbefb_exit(void) | 1304 | static void __exit gbefb_exit(void) |
1305 | { | 1305 | { |
1306 | platform_device_unregister(gbefb_device); | 1306 | platform_device_unregister(gbefb_device); |
1307 | platform_driver_unregister(&gbefb_driver); | 1307 | platform_driver_unregister(&gbefb_driver); |
diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c index dfb72f5e4c96..148cbcc39602 100644 --- a/drivers/video/omap/dispc.c +++ b/drivers/video/omap/dispc.c | |||
@@ -880,20 +880,22 @@ static irqreturn_t omap_dispc_irq_handler(int irq, void *dev) | |||
880 | 880 | ||
881 | static int get_dss_clocks(void) | 881 | static int get_dss_clocks(void) |
882 | { | 882 | { |
883 | if (IS_ERR((dispc.dss_ick = clk_get(dispc.fbdev->dev, "dss_ick")))) { | 883 | dispc.dss_ick = clk_get(dispc.fbdev->dev, "ick"); |
884 | dev_err(dispc.fbdev->dev, "can't get dss_ick\n"); | 884 | if (IS_ERR(dispc.dss_ick)) { |
885 | dev_err(dispc.fbdev->dev, "can't get ick\n"); | ||
885 | return PTR_ERR(dispc.dss_ick); | 886 | return PTR_ERR(dispc.dss_ick); |
886 | } | 887 | } |
887 | 888 | ||
888 | if (IS_ERR((dispc.dss1_fck = clk_get(dispc.fbdev->dev, "dss1_fck")))) { | 889 | dispc.dss1_fck = clk_get(dispc.fbdev->dev, "dss1_fck"); |
890 | if (IS_ERR(dispc.dss1_fck)) { | ||
889 | dev_err(dispc.fbdev->dev, "can't get dss1_fck\n"); | 891 | dev_err(dispc.fbdev->dev, "can't get dss1_fck\n"); |
890 | clk_put(dispc.dss_ick); | 892 | clk_put(dispc.dss_ick); |
891 | return PTR_ERR(dispc.dss1_fck); | 893 | return PTR_ERR(dispc.dss1_fck); |
892 | } | 894 | } |
893 | 895 | ||
894 | if (IS_ERR((dispc.dss_54m_fck = | 896 | dispc.dss_54m_fck = clk_get(dispc.fbdev->dev, "tv_fck"); |
895 | clk_get(dispc.fbdev->dev, "dss_54m_fck")))) { | 897 | if (IS_ERR(dispc.dss_54m_fck)) { |
896 | dev_err(dispc.fbdev->dev, "can't get dss_54m_fck\n"); | 898 | dev_err(dispc.fbdev->dev, "can't get tv_fck\n"); |
897 | clk_put(dispc.dss_ick); | 899 | clk_put(dispc.dss_ick); |
898 | clk_put(dispc.dss1_fck); | 900 | clk_put(dispc.dss1_fck); |
899 | return PTR_ERR(dispc.dss_54m_fck); | 901 | return PTR_ERR(dispc.dss_54m_fck); |
diff --git a/drivers/video/omap/rfbi.c b/drivers/video/omap/rfbi.c index a13c8dcad2a8..9332d6ca6456 100644 --- a/drivers/video/omap/rfbi.c +++ b/drivers/video/omap/rfbi.c | |||
@@ -83,12 +83,14 @@ static inline u32 rfbi_read_reg(int idx) | |||
83 | 83 | ||
84 | static int rfbi_get_clocks(void) | 84 | static int rfbi_get_clocks(void) |
85 | { | 85 | { |
86 | if (IS_ERR((rfbi.dss_ick = clk_get(rfbi.fbdev->dev, "dss_ick")))) { | 86 | rfbi.dss_ick = clk_get(rfbi.fbdev->dev, "ick"); |
87 | dev_err(rfbi.fbdev->dev, "can't get dss_ick\n"); | 87 | if (IS_ERR(rfbi.dss_ick)) { |
88 | dev_err(rfbi.fbdev->dev, "can't get ick\n"); | ||
88 | return PTR_ERR(rfbi.dss_ick); | 89 | return PTR_ERR(rfbi.dss_ick); |
89 | } | 90 | } |
90 | 91 | ||
91 | if (IS_ERR((rfbi.dss1_fck = clk_get(rfbi.fbdev->dev, "dss1_fck")))) { | 92 | rfbi.dss1_fck = clk_get(rfbi.fbdev->dev, "dss1_fck"); |
93 | if (IS_ERR(rfbi.dss1_fck)) { | ||
92 | dev_err(rfbi.fbdev->dev, "can't get dss1_fck\n"); | 94 | dev_err(rfbi.fbdev->dev, "can't get dss1_fck\n"); |
93 | clk_put(rfbi.dss_ick); | 95 | clk_put(rfbi.dss_ick); |
94 | return PTR_ERR(rfbi.dss1_fck); | 96 | return PTR_ERR(rfbi.dss1_fck); |
diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c index 5e9c6302433b..d3a568e6b169 100644 --- a/drivers/video/s3c-fb.c +++ b/drivers/video/s3c-fb.c | |||
@@ -947,7 +947,8 @@ static int __devexit s3c_fb_remove(struct platform_device *pdev) | |||
947 | int win; | 947 | int win; |
948 | 948 | ||
949 | for (win = 0; win <= S3C_FB_MAX_WIN; win++) | 949 | for (win = 0; win <= S3C_FB_MAX_WIN; win++) |
950 | s3c_fb_release_win(sfb, sfb->windows[win]); | 950 | if (sfb->windows[win]) |
951 | s3c_fb_release_win(sfb, sfb->windows[win]); | ||
951 | 952 | ||
952 | iounmap(sfb->regs); | 953 | iounmap(sfb->regs); |
953 | 954 | ||
@@ -985,11 +986,20 @@ static int s3c_fb_suspend(struct platform_device *pdev, pm_message_t state) | |||
985 | static int s3c_fb_resume(struct platform_device *pdev) | 986 | static int s3c_fb_resume(struct platform_device *pdev) |
986 | { | 987 | { |
987 | struct s3c_fb *sfb = platform_get_drvdata(pdev); | 988 | struct s3c_fb *sfb = platform_get_drvdata(pdev); |
989 | struct s3c_fb_platdata *pd = sfb->pdata; | ||
988 | struct s3c_fb_win *win; | 990 | struct s3c_fb_win *win; |
989 | int win_no; | 991 | int win_no; |
990 | 992 | ||
991 | clk_enable(sfb->bus_clk); | 993 | clk_enable(sfb->bus_clk); |
992 | 994 | ||
995 | /* setup registers */ | ||
996 | writel(pd->vidcon1, sfb->regs + VIDCON1); | ||
997 | |||
998 | /* zero all windows before we do anything */ | ||
999 | for (win_no = 0; win_no < S3C_FB_MAX_WIN; win_no++) | ||
1000 | s3c_fb_clear_win(sfb, win_no); | ||
1001 | |||
1002 | /* restore framebuffers */ | ||
993 | for (win_no = 0; win_no < S3C_FB_MAX_WIN; win_no++) { | 1003 | for (win_no = 0; win_no < S3C_FB_MAX_WIN; win_no++) { |
994 | win = sfb->windows[win_no]; | 1004 | win = sfb->windows[win_no]; |
995 | if (!win) | 1005 | if (!win) |
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c index 92ea0ab44ce2..f10d2fbeda06 100644 --- a/drivers/video/sh_mobile_lcdcfb.c +++ b/drivers/video/sh_mobile_lcdcfb.c | |||
@@ -47,6 +47,7 @@ struct sh_mobile_lcdc_priv { | |||
47 | #endif | 47 | #endif |
48 | unsigned long lddckr; | 48 | unsigned long lddckr; |
49 | struct sh_mobile_lcdc_chan ch[2]; | 49 | struct sh_mobile_lcdc_chan ch[2]; |
50 | int started; | ||
50 | }; | 51 | }; |
51 | 52 | ||
52 | /* shared registers */ | 53 | /* shared registers */ |
@@ -451,6 +452,7 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv) | |||
451 | 452 | ||
452 | /* start the lcdc */ | 453 | /* start the lcdc */ |
453 | sh_mobile_lcdc_start_stop(priv, 1); | 454 | sh_mobile_lcdc_start_stop(priv, 1); |
455 | priv->started = 1; | ||
454 | 456 | ||
455 | /* tell the board code to enable the panel */ | 457 | /* tell the board code to enable the panel */ |
456 | for (k = 0; k < ARRAY_SIZE(priv->ch); k++) { | 458 | for (k = 0; k < ARRAY_SIZE(priv->ch); k++) { |
@@ -493,7 +495,10 @@ static void sh_mobile_lcdc_stop(struct sh_mobile_lcdc_priv *priv) | |||
493 | } | 495 | } |
494 | 496 | ||
495 | /* stop the lcdc */ | 497 | /* stop the lcdc */ |
496 | sh_mobile_lcdc_start_stop(priv, 0); | 498 | if (priv->started) { |
499 | sh_mobile_lcdc_start_stop(priv, 0); | ||
500 | priv->started = 0; | ||
501 | } | ||
497 | 502 | ||
498 | /* stop clocks */ | 503 | /* stop clocks */ |
499 | for (k = 0; k < ARRAY_SIZE(priv->ch); k++) | 504 | for (k = 0; k < ARRAY_SIZE(priv->ch); k++) |
diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c index e327b84820d2..a0fec298216e 100644 --- a/drivers/video/via/viafbdev.c +++ b/drivers/video/via/viafbdev.c | |||
@@ -2103,7 +2103,7 @@ static void viafb_remove_proc(struct proc_dir_entry *viafb_entry) | |||
2103 | 2103 | ||
2104 | static int __devinit via_pci_probe(void) | 2104 | static int __devinit via_pci_probe(void) |
2105 | { | 2105 | { |
2106 | unsigned int default_xres, default_yres; | 2106 | unsigned long default_xres, default_yres; |
2107 | char *tmpc, *tmpm; | 2107 | char *tmpc, *tmpm; |
2108 | char *tmpc_sec, *tmpm_sec; | 2108 | char *tmpc_sec, *tmpm_sec; |
2109 | int vmode_index; | 2109 | int vmode_index; |
@@ -2196,8 +2196,8 @@ static int __devinit via_pci_probe(void) | |||
2196 | viafb_FB_MM = viaparinfo->fbmem_virt; | 2196 | viafb_FB_MM = viaparinfo->fbmem_virt; |
2197 | tmpm = viafb_mode; | 2197 | tmpm = viafb_mode; |
2198 | tmpc = strsep(&tmpm, "x"); | 2198 | tmpc = strsep(&tmpm, "x"); |
2199 | strict_strtoul(tmpc, 0, (unsigned long *)&default_xres); | 2199 | strict_strtoul(tmpc, 0, &default_xres); |
2200 | strict_strtoul(tmpm, 0, (unsigned long *)&default_yres); | 2200 | strict_strtoul(tmpm, 0, &default_yres); |
2201 | 2201 | ||
2202 | vmode_index = viafb_get_mode_index(default_xres, default_yres, 0); | 2202 | vmode_index = viafb_get_mode_index(default_xres, default_yres, 0); |
2203 | DEBUG_MSG(KERN_INFO "0->index=%d\n", vmode_index); | 2203 | DEBUG_MSG(KERN_INFO "0->index=%d\n", vmode_index); |