aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-11-14 00:44:20 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-14 00:44:20 -0500
commitf0d55cc1a65852e6647d4f5d707c1c9b5471ce3c (patch)
treee96d6a88590f656d86c1f58cb0b34d40d6091b63 /arch/arm
parent549608eadb31eac5d579ed70a21ac722bdf72861 (diff)
parent3a41c5dbe8bc396a7fb16ca8739e945bb003342e (diff)
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 'arch/arm')
-rw-r--r--arch/arm/mach-at91/at91sam9261_devices.c6
-rw-r--r--arch/arm/mach-at91/at91sam9263_devices.c6
-rw-r--r--arch/arm/mach-at91/at91sam9g45_devices.c6
-rw-r--r--arch/arm/mach-at91/at91sam9rl_devices.c6
-rw-r--r--arch/arm/mach-at91/board-sam9261ek.c10
-rw-r--r--arch/arm/mach-at91/board-sam9263ek.c6
-rw-r--r--arch/arm/mach-at91/board-sam9m10g45ek.c4
-rw-r--r--arch/arm/mach-at91/board-sam9rlek.c6
-rw-r--r--arch/arm/mach-at91/board.h4
-rw-r--r--arch/arm/mach-mmp/ttc_dkb.c4
10 files changed, 28 insertions, 30 deletions
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c
index 629ea5fc95cf..b2a34740146a 100644
--- a/arch/arm/mach-at91/at91sam9261_devices.c
+++ b/arch/arm/mach-at91/at91sam9261_devices.c
@@ -465,7 +465,7 @@ void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices)
465 465
466#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE) 466#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
467static u64 lcdc_dmamask = DMA_BIT_MASK(32); 467static u64 lcdc_dmamask = DMA_BIT_MASK(32);
468static struct atmel_lcdfb_info lcdc_data; 468static struct atmel_lcdfb_pdata lcdc_data;
469 469
470static struct resource lcdc_resources[] = { 470static struct resource lcdc_resources[] = {
471 [0] = { 471 [0] = {
@@ -498,7 +498,7 @@ static struct platform_device at91_lcdc_device = {
498 .num_resources = ARRAY_SIZE(lcdc_resources), 498 .num_resources = ARRAY_SIZE(lcdc_resources),
499}; 499};
500 500
501void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) 501void __init at91_add_device_lcdc(struct atmel_lcdfb_pdata *data)
502{ 502{
503 if (!data) { 503 if (!data) {
504 return; 504 return;
@@ -559,7 +559,7 @@ void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data)
559 platform_device_register(&at91_lcdc_device); 559 platform_device_register(&at91_lcdc_device);
560} 560}
561#else 561#else
562void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) {} 562void __init at91_add_device_lcdc(struct atmel_lcdfb_pdata *data) {}
563#endif 563#endif
564 564
565 565
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
index 858c8aac2daf..4aeadddbc181 100644
--- a/arch/arm/mach-at91/at91sam9263_devices.c
+++ b/arch/arm/mach-at91/at91sam9263_devices.c
@@ -832,7 +832,7 @@ void __init at91_add_device_can(struct at91_can_data *data) {}
832 832
833#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE) 833#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
834static u64 lcdc_dmamask = DMA_BIT_MASK(32); 834static u64 lcdc_dmamask = DMA_BIT_MASK(32);
835static struct atmel_lcdfb_info lcdc_data; 835static struct atmel_lcdfb_pdata lcdc_data;
836 836
837static struct resource lcdc_resources[] = { 837static struct resource lcdc_resources[] = {
838 [0] = { 838 [0] = {
@@ -859,7 +859,7 @@ static struct platform_device at91_lcdc_device = {
859 .num_resources = ARRAY_SIZE(lcdc_resources), 859 .num_resources = ARRAY_SIZE(lcdc_resources),
860}; 860};
861 861
862void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) 862void __init at91_add_device_lcdc(struct atmel_lcdfb_pdata *data)
863{ 863{
864 if (!data) 864 if (!data)
865 return; 865 return;
@@ -891,7 +891,7 @@ void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data)
891 platform_device_register(&at91_lcdc_device); 891 platform_device_register(&at91_lcdc_device);
892} 892}
893#else 893#else
894void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) {} 894void __init at91_add_device_lcdc(struct atmel_lcdfb_pdata *data) {}
895#endif 895#endif
896 896
897 897
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
index acb703e13331..cb36fa872d30 100644
--- a/arch/arm/mach-at91/at91sam9g45_devices.c
+++ b/arch/arm/mach-at91/at91sam9g45_devices.c
@@ -965,7 +965,7 @@ void __init at91_add_device_isi(struct isi_platform_data *data,
965 965
966#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE) 966#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
967static u64 lcdc_dmamask = DMA_BIT_MASK(32); 967static u64 lcdc_dmamask = DMA_BIT_MASK(32);
968static struct atmel_lcdfb_info lcdc_data; 968static struct atmel_lcdfb_pdata lcdc_data;
969 969
970static struct resource lcdc_resources[] = { 970static struct resource lcdc_resources[] = {
971 [0] = { 971 [0] = {
@@ -991,7 +991,7 @@ static struct platform_device at91_lcdc_device = {
991 .num_resources = ARRAY_SIZE(lcdc_resources), 991 .num_resources = ARRAY_SIZE(lcdc_resources),
992}; 992};
993 993
994void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) 994void __init at91_add_device_lcdc(struct atmel_lcdfb_pdata *data)
995{ 995{
996 if (!data) 996 if (!data)
997 return; 997 return;
@@ -1037,7 +1037,7 @@ void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data)
1037 platform_device_register(&at91_lcdc_device); 1037 platform_device_register(&at91_lcdc_device);
1038} 1038}
1039#else 1039#else
1040void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) {} 1040void __init at91_add_device_lcdc(struct atmel_lcdfb_pdata *data) {}
1041#endif 1041#endif
1042 1042
1043 1043
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c
index 352468f265a9..a698bdab2cce 100644
--- a/arch/arm/mach-at91/at91sam9rl_devices.c
+++ b/arch/arm/mach-at91/at91sam9rl_devices.c
@@ -498,7 +498,7 @@ void __init at91_add_device_ac97(struct ac97c_platform_data *data) {}
498 498
499#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE) 499#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
500static u64 lcdc_dmamask = DMA_BIT_MASK(32); 500static u64 lcdc_dmamask = DMA_BIT_MASK(32);
501static struct atmel_lcdfb_info lcdc_data; 501static struct atmel_lcdfb_pdata lcdc_data;
502 502
503static struct resource lcdc_resources[] = { 503static struct resource lcdc_resources[] = {
504 [0] = { 504 [0] = {
@@ -525,7 +525,7 @@ static struct platform_device at91_lcdc_device = {
525 .num_resources = ARRAY_SIZE(lcdc_resources), 525 .num_resources = ARRAY_SIZE(lcdc_resources),
526}; 526};
527 527
528void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) 528void __init at91_add_device_lcdc(struct atmel_lcdfb_pdata *data)
529{ 529{
530 if (!data) { 530 if (!data) {
531 return; 531 return;
@@ -557,7 +557,7 @@ void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data)
557 platform_device_register(&at91_lcdc_device); 557 platform_device_register(&at91_lcdc_device);
558} 558}
559#else 559#else
560void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) {} 560void __init at91_add_device_lcdc(struct atmel_lcdfb_pdata *data) {}
561#endif 561#endif
562 562
563 563
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c
index d3437624ca4e..473546b9408b 100644
--- a/arch/arm/mach-at91/board-sam9261ek.c
+++ b/arch/arm/mach-at91/board-sam9261ek.c
@@ -389,7 +389,7 @@ static struct fb_monspecs at91fb_default_stn_monspecs = {
389 | ATMEL_LCDC_IFWIDTH_4 \ 389 | ATMEL_LCDC_IFWIDTH_4 \
390 | ATMEL_LCDC_SCANMOD_SINGLE) 390 | ATMEL_LCDC_SCANMOD_SINGLE)
391 391
392static void at91_lcdc_stn_power_control(int on) 392static void at91_lcdc_stn_power_control(struct atmel_lcdfb_pdata *pdata, int on)
393{ 393{
394 /* backlight */ 394 /* backlight */
395 if (on) { /* power up */ 395 if (on) { /* power up */
@@ -401,7 +401,7 @@ static void at91_lcdc_stn_power_control(int on)
401 } 401 }
402} 402}
403 403
404static struct atmel_lcdfb_info __initdata ek_lcdc_data = { 404static struct atmel_lcdfb_pdata __initdata ek_lcdc_data = {
405 .default_bpp = 1, 405 .default_bpp = 1,
406 .default_dmacon = ATMEL_LCDC_DMAEN, 406 .default_dmacon = ATMEL_LCDC_DMAEN,
407 .default_lcdcon2 = AT91SAM9261_DEFAULT_STN_LCDCON2, 407 .default_lcdcon2 = AT91SAM9261_DEFAULT_STN_LCDCON2,
@@ -445,7 +445,7 @@ static struct fb_monspecs at91fb_default_tft_monspecs = {
445 | ATMEL_LCDC_DISTYPE_TFT \ 445 | ATMEL_LCDC_DISTYPE_TFT \
446 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE) 446 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE)
447 447
448static void at91_lcdc_tft_power_control(int on) 448static void at91_lcdc_tft_power_control(struct atmel_lcdfb_pdata *pdata, int on)
449{ 449{
450 if (on) 450 if (on)
451 at91_set_gpio_value(AT91_PIN_PA12, 0); /* power up */ 451 at91_set_gpio_value(AT91_PIN_PA12, 0); /* power up */
@@ -453,7 +453,7 @@ static void at91_lcdc_tft_power_control(int on)
453 at91_set_gpio_value(AT91_PIN_PA12, 1); /* power down */ 453 at91_set_gpio_value(AT91_PIN_PA12, 1); /* power down */
454} 454}
455 455
456static struct atmel_lcdfb_info __initdata ek_lcdc_data = { 456static struct atmel_lcdfb_pdata __initdata ek_lcdc_data = {
457 .lcdcon_is_backlight = true, 457 .lcdcon_is_backlight = true,
458 .default_bpp = 16, 458 .default_bpp = 16,
459 .default_dmacon = ATMEL_LCDC_DMAEN, 459 .default_dmacon = ATMEL_LCDC_DMAEN,
@@ -465,7 +465,7 @@ static struct atmel_lcdfb_info __initdata ek_lcdc_data = {
465#endif 465#endif
466 466
467#else 467#else
468static struct atmel_lcdfb_info __initdata ek_lcdc_data; 468static struct atmel_lcdfb_pdata __initdata ek_lcdc_data;
469#endif 469#endif
470 470
471 471
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c
index 3284df05df14..8b4942cbb6d9 100644
--- a/arch/arm/mach-at91/board-sam9263ek.c
+++ b/arch/arm/mach-at91/board-sam9263ek.c
@@ -275,13 +275,13 @@ static struct fb_monspecs at91fb_default_monspecs = {
275 | ATMEL_LCDC_DISTYPE_TFT \ 275 | ATMEL_LCDC_DISTYPE_TFT \
276 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE) 276 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE)
277 277
278static void at91_lcdc_power_control(int on) 278static void at91_lcdc_power_control(struct atmel_lcdfb_pdata *pdata, int on)
279{ 279{
280 at91_set_gpio_value(AT91_PIN_PA30, on); 280 at91_set_gpio_value(AT91_PIN_PA30, on);
281} 281}
282 282
283/* Driver datas */ 283/* Driver datas */
284static struct atmel_lcdfb_info __initdata ek_lcdc_data = { 284static struct atmel_lcdfb_pdata __initdata ek_lcdc_data = {
285 .lcdcon_is_backlight = true, 285 .lcdcon_is_backlight = true,
286 .default_bpp = 16, 286 .default_bpp = 16,
287 .default_dmacon = ATMEL_LCDC_DMAEN, 287 .default_dmacon = ATMEL_LCDC_DMAEN,
@@ -292,7 +292,7 @@ static struct atmel_lcdfb_info __initdata ek_lcdc_data = {
292}; 292};
293 293
294#else 294#else
295static struct atmel_lcdfb_info __initdata ek_lcdc_data; 295static struct atmel_lcdfb_pdata __initdata ek_lcdc_data;
296#endif 296#endif
297 297
298 298
diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c
index 2a94896a1375..ef39078c8ce2 100644
--- a/arch/arm/mach-at91/board-sam9m10g45ek.c
+++ b/arch/arm/mach-at91/board-sam9m10g45ek.c
@@ -284,7 +284,7 @@ static struct fb_monspecs at91fb_default_monspecs = {
284 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE) 284 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE)
285 285
286/* Driver datas */ 286/* Driver datas */
287static struct atmel_lcdfb_info __initdata ek_lcdc_data = { 287static struct atmel_lcdfb_pdata __initdata ek_lcdc_data = {
288 .lcdcon_is_backlight = true, 288 .lcdcon_is_backlight = true,
289 .default_bpp = 32, 289 .default_bpp = 32,
290 .default_dmacon = ATMEL_LCDC_DMAEN, 290 .default_dmacon = ATMEL_LCDC_DMAEN,
@@ -295,7 +295,7 @@ static struct atmel_lcdfb_info __initdata ek_lcdc_data = {
295}; 295};
296 296
297#else 297#else
298static struct atmel_lcdfb_info __initdata ek_lcdc_data; 298static struct atmel_lcdfb_pdata __initdata ek_lcdc_data;
299#endif 299#endif
300 300
301 301
diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c
index aa265dcf2128..604eecf6cd70 100644
--- a/arch/arm/mach-at91/board-sam9rlek.c
+++ b/arch/arm/mach-at91/board-sam9rlek.c
@@ -170,7 +170,7 @@ static struct fb_monspecs at91fb_default_monspecs = {
170 | ATMEL_LCDC_DISTYPE_TFT \ 170 | ATMEL_LCDC_DISTYPE_TFT \
171 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE) 171 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE)
172 172
173static void at91_lcdc_power_control(int on) 173static void at91_lcdc_power_control(struct atmel_lcdfb_pdata *pdata, int on)
174{ 174{
175 if (on) 175 if (on)
176 at91_set_gpio_value(AT91_PIN_PC1, 0); /* power up */ 176 at91_set_gpio_value(AT91_PIN_PC1, 0); /* power up */
@@ -179,7 +179,7 @@ static void at91_lcdc_power_control(int on)
179} 179}
180 180
181/* Driver datas */ 181/* Driver datas */
182static struct atmel_lcdfb_info __initdata ek_lcdc_data = { 182static struct atmel_lcdfb_pdata __initdata ek_lcdc_data = {
183 .lcdcon_is_backlight = true, 183 .lcdcon_is_backlight = true,
184 .default_bpp = 16, 184 .default_bpp = 16,
185 .default_dmacon = ATMEL_LCDC_DMAEN, 185 .default_dmacon = ATMEL_LCDC_DMAEN,
@@ -191,7 +191,7 @@ static struct atmel_lcdfb_info __initdata ek_lcdc_data = {
191}; 191};
192 192
193#else 193#else
194static struct atmel_lcdfb_info __initdata ek_lcdc_data; 194static struct atmel_lcdfb_pdata __initdata ek_lcdc_data;
195#endif 195#endif
196 196
197 197
diff --git a/arch/arm/mach-at91/board.h b/arch/arm/mach-at91/board.h
index 4a234fb2ab3b..6c08b341167d 100644
--- a/arch/arm/mach-at91/board.h
+++ b/arch/arm/mach-at91/board.h
@@ -107,8 +107,8 @@ extern void __init at91_add_device_pwm(u32 mask);
107extern void __init at91_add_device_ssc(unsigned id, unsigned pins); 107extern void __init at91_add_device_ssc(unsigned id, unsigned pins);
108 108
109 /* LCD Controller */ 109 /* LCD Controller */
110struct atmel_lcdfb_info; 110struct atmel_lcdfb_pdata;
111extern void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data); 111extern void __init at91_add_device_lcdc(struct atmel_lcdfb_pdata *data);
112 112
113 /* AC97 */ 113 /* AC97 */
114extern void __init at91_add_device_ac97(struct ac97c_platform_data *data); 114extern void __init at91_add_device_ac97(struct ac97c_platform_data *data);
diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c
index 702232996c8c..cfadd974f5ce 100644
--- a/arch/arm/mach-mmp/ttc_dkb.c
+++ b/arch/arm/mach-mmp/ttc_dkb.c
@@ -191,7 +191,6 @@ static struct pxa3xx_nand_platform_data dkb_nand_info = {
191#define SCLK_SOURCE_SELECT(x) (x << 30) /* 0x0 ~ 0x3 */ 191#define SCLK_SOURCE_SELECT(x) (x << 30) /* 0x0 ~ 0x3 */
192/* link config */ 192/* link config */
193#define CFG_DUMBMODE(mode) (mode << 28) /* 0x0 ~ 0x6*/ 193#define CFG_DUMBMODE(mode) (mode << 28) /* 0x0 ~ 0x6*/
194#define CFG_GRA_SWAPRB(x) (x << 0) /* 1: rbswap enabled */
195static struct mmp_mach_path_config dkb_disp_config[] = { 194static struct mmp_mach_path_config dkb_disp_config[] = {
196 [0] = { 195 [0] = {
197 .name = "mmp-parallel", 196 .name = "mmp-parallel",
@@ -199,8 +198,7 @@ static struct mmp_mach_path_config dkb_disp_config[] = {
199 .output_type = PATH_OUT_PARALLEL, 198 .output_type = PATH_OUT_PARALLEL,
200 .path_config = CFG_IOPADMODE(0x1) 199 .path_config = CFG_IOPADMODE(0x1)
201 | SCLK_SOURCE_SELECT(0x1), 200 | SCLK_SOURCE_SELECT(0x1),
202 .link_config = CFG_DUMBMODE(0x2) 201 .link_config = CFG_DUMBMODE(0x2),
203 | CFG_GRA_SWAPRB(0x1),
204 }, 202 },
205}; 203};
206 204