Permalink
Browse files

Merge branch 'fbdev-next' of git://github.com/schandinat/linux-2.6

* 'fbdev-next' of git://github.com/schandinat/linux-2.6: (270 commits)
  video: platinumfb: Add __devexit_p at necessary place
  drivers/video: fsl-diu-fb: merge diu_pool into fsl_diu_data
  drivers/video: fsl-diu-fb: merge diu_hw into fsl_diu_data
  drivers/video: fsl-diu-fb: only DIU modes 0 and 1 are supported
  drivers/video: fsl-diu-fb: remove unused panel operating mode support
  drivers/video: fsl-diu-fb: use an enum for the AOI index
  drivers/video: fsl-diu-fb: add several new video modes
  drivers/video: fsl-diu-fb: remove broken screen blanking support
  drivers/video: fsl-diu-fb: move some definitions out of the header file
  drivers/video: fsl-diu-fb: fix some ioctls
  video: da8xx-fb: Increased resolution configuration of revised LCDC IP
  OMAPDSS: picodlp: add missing #include <linux/module.h>
  fb: fix au1100fb bitrot.
  mx3fb: fix NULL pointer dereference in screen blanking.
  video: irq: Remove IRQF_DISABLED
  smscufx: change edid data to u8 instead of char
  OMAPDSS: DISPC: zorder support for DSS overlays
  OMAPDSS: DISPC: VIDEO3 pipeline support
  OMAPDSS/OMAP_VOUT: Fix incorrect OMAP3-alpha compatibility setting
  video/omap: fix build dependencies
  ...

Fix up conflicts in:
 - drivers/staging/xgifb/XGI_main_26.c
	Changes to XGIfb_pan_var()
 - drivers/video/omap/{lcd_apollon.c,lcd_ldp.c,lcd_overo.c}
	Removed (or in the case of apollon.c, merged into the generic
	DSS panel in drivers/video/omap2/displays/panel-generic-dpi.c)
  • Loading branch information...
2 parents ce94971 + b57287b commit acff987d94cbdb4049f3706bed1f1792f8ef6837 @torvalds torvalds committed Oct 30, 2011
Showing with 12,023 additions and 7,620 deletions.
  1. +27 −12 Documentation/fb/udlfb.txt
  2. +6 −0 MAINTAINERS
  3. +64 −14 arch/arm/mach-omap2/board-2430sdp.c
  4. +3 −4 arch/arm/mach-omap2/board-3430sdp.c
  5. +180 −28 arch/arm/mach-omap2/board-4430sdp.c
  6. +3 −3 arch/arm/mach-omap2/board-am3517evm.c
  7. +23 −12 arch/arm/mach-omap2/board-apollon.c
  8. +3 −3 arch/arm/mach-omap2/board-cm-t35.c
  9. +5 −5 arch/arm/mach-omap2/board-devkit8000.c
  10. +26 −16 arch/arm/mach-omap2/board-h4.c
  11. +4 −4 arch/arm/mach-omap2/board-igep0020.c
  12. +112 −10 arch/arm/mach-omap2/board-ldp.c
  13. +4 −4 arch/arm/mach-omap2/board-omap3beagle.c
  14. +3 −4 arch/arm/mach-omap2/board-omap3evm.c
  15. +1 −1 arch/arm/mach-omap2/board-omap3pandora.c
  16. +3 −37 arch/arm/mach-omap2/board-omap3stalker.c
  17. +0 −18 arch/arm/mach-omap2/board-omap3touchbook.c
  18. +4 −4 arch/arm/mach-omap2/board-omap4panda.c
  19. +4 −3 arch/arm/mach-omap2/board-overo.c
  20. +0 −25 arch/arm/mach-omap2/board-rx51.c
  21. +57 −3 arch/arm/mach-omap2/display.c
  22. +10 −1 arch/arm/mach-omap2/twl-common.c
  23. +1 −0 arch/arm/mach-shmobile/board-mackerel.c
  24. +10 −14 arch/powerpc/platforms/512x/mpc512x_shared.c
  25. +22 −25 arch/powerpc/platforms/85xx/p1022_ds.c
  26. +25 −30 arch/powerpc/platforms/86xx/mpc8610_hpcd.c
  27. +17 −8 arch/powerpc/sysdev/fsl_soc.h
  28. +12 −6 drivers/media/video/omap/omap_vout.c
  29. +7 −18 drivers/staging/xgifb/XGI_main_26.c
  30. +2 −2 drivers/video/68328fb.c
  31. +30 −4 drivers/video/Kconfig
  32. +2 −0 drivers/video/Makefile
  33. +3 −2 drivers/video/acornfb.c
  34. +5 −4 drivers/video/arkfb.c
  35. +9 −6 drivers/video/atmel_lcdfb.c
  36. +5 −5 drivers/video/aty/radeon_base.c
  37. +60 −121 drivers/video/au1100fb.c
  38. +1 −5 drivers/video/au1100fb.h
  39. +132 −167 drivers/video/au1200fb.c
  40. +0 −1 drivers/video/backlight/adp8860_bl.c
  41. +0 −1 drivers/video/backlight/adp8870_bl.c
  42. +1 −1 drivers/video/bf54x-lq043fb.c
  43. +1 −1 drivers/video/bfin-lq035q1-fb.c
  44. +1 −1 drivers/video/bfin-t350mcqb-fb.c
  45. +1 −1 drivers/video/bfin_adv7393fb.c
  46. +3 −3 drivers/video/carminefb.c
  47. +1 −1 drivers/video/controlfb.c
  48. +172 −14 drivers/video/da8xx-fb.c
  49. +2 −2 drivers/video/fb-puv3.c
  50. +1 −2 drivers/video/fb_defio.c
  51. +0 −3 drivers/video/fbmem.c
  52. +15 −6 drivers/video/fbmon.c
  53. +3 −0 drivers/video/fbsysfs.c
  54. +504 −488 drivers/video/fsl-diu-fb.c
  55. +3 −2 drivers/video/g364fb.c
  56. +579 −0 drivers/video/grvga.c
  57. +2 −2 drivers/video/gxt4500.c
  58. +2 −2 drivers/video/hgafb.c
  59. +1 −1 drivers/video/imsttfb.c
  60. +3 −3 drivers/video/intelfb/intelfbhw.c
  61. +1 −1 drivers/video/mb862xx/mb862xx-i2c.c
  62. +3 −3 drivers/video/mb862xx/mb862xxfbdrv.c
  63. +225 −219 drivers/video/modedb.c
  64. +1 −1 drivers/video/msm/mddi.c
  65. +4 −2 drivers/video/msm/mdp.c
  66. +16 −3 drivers/video/mx3fb.c
  67. +1 −0 drivers/video/mxsfb.c
  68. +2 −2 drivers/video/neofb.c
  69. +1 −2 drivers/video/nuc900fb.c
  70. +0 −29 drivers/video/omap/Kconfig
  71. +0 −8 drivers/video/omap/Makefile
  72. +0 −203 drivers/video/omap/lcd_2430sdp.c
  73. +0 −136 drivers/video/omap/lcd_apollon.c
  74. +0 −117 drivers/video/omap/lcd_h4.c
  75. +0 −201 drivers/video/omap/lcd_ldp.c
  76. +0 −130 drivers/video/omap/lcd_omap3beagle.c
  77. +0 −193 drivers/video/omap/lcd_omap3evm.c
  78. +0 −180 drivers/video/omap/lcd_overo.c
  79. +26 −2 drivers/video/omap2/displays/Kconfig
  80. +3 −0 drivers/video/omap2/displays/Makefile
  81. +363 −0 drivers/video/omap2/displays/panel-dvi.c
  82. +89 −24 drivers/video/omap2/displays/panel-generic-dpi.c
  83. +747 −0 drivers/video/omap2/displays/panel-n8x0.c
  84. +594 −0 drivers/video/omap2/displays/panel-picodlp.c
  85. +288 −0 drivers/video/omap2/displays/panel-picodlp.h
  86. +48 −77 drivers/video/omap2/displays/panel-taal.c
  87. +1 −1 drivers/video/omap2/dss/Kconfig
  88. +1 −1 drivers/video/omap2/dss/Makefile
  89. +4 −0 drivers/video/omap2/dss/core.c
  90. +702 −998 drivers/video/omap2/dss/dispc.c
  91. +57 −0 drivers/video/omap2/dss/dispc.h
  92. +17 −14 drivers/video/omap2/dss/display.c
  93. +18 −10 drivers/video/omap2/dss/dpi.c
  94. +569 −360 drivers/video/omap2/dss/dsi.c
  95. +11 −7 drivers/video/omap2/dss/dss.c
  96. +76 −80 drivers/video/omap2/dss/dss.h
  97. +117 −13 drivers/video/omap2/dss/dss_features.c
  98. +13 −4 drivers/video/omap2/dss/dss_features.h
  99. +144 −1,116 drivers/video/omap2/dss/hdmi.c
  100. +51 −17 drivers/video/omap2/dss/{hdmi_omap4_panel.c → hdmi_panel.c}
  101. +81 −110 drivers/video/omap2/dss/manager.c
  102. +90 −32 drivers/video/omap2/dss/overlay.c
  103. +15 −30 drivers/video/omap2/dss/rfbi.c
  104. +12 −7 drivers/video/omap2/dss/sdi.c
  105. +138 −0 drivers/video/omap2/dss/ti_hdmi.h
  106. +1,239 −0 drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c
  107. +181 −219 drivers/video/omap2/dss/{hdmi.h → ti_hdmi_4xxx_ip.h}
  108. +6 −21 drivers/video/omap2/dss/venc.c
  109. +1 −1 drivers/video/omap2/omapfb/Kconfig
  110. +108 −26 drivers/video/omap2/omapfb/omapfb-main.c
  111. +2 −4 drivers/video/omap2/omapfb/omapfb-sysfs.c
  112. +2 −2 drivers/video/platinumfb.c
  113. +3 −3 drivers/video/pm2fb.c
  114. +3 −3 drivers/video/pm3fb.c
  115. +1 −1 drivers/video/ps3fb.c
  116. +1 −3 drivers/video/pxa3xx-gcu.c
  117. +1 −1 drivers/video/pxafb.c
  118. +112 −5 drivers/video/s3c-fb.c
  119. +1 −2 drivers/video/s3c2410fb.c
  120. +5 −4 drivers/video/s3fb.c
  121. +1 −2 drivers/video/sa1100fb.c
  122. +7 −9 drivers/video/savage/savagefb_driver.c
  123. +26 −21 drivers/video/sh_mobile_hdmi.c
  124. +572 −590 drivers/video/sh_mobile_lcdcfb.c
  125. +11 −1 drivers/video/sh_mobile_lcdcfb.h
  126. +169 −39 drivers/video/sh_mobile_meram.c
  127. +0 −41 drivers/video/sh_mobile_meram.h
  128. +10 −20 drivers/video/sis/sis_main.c
  129. +1 −1 drivers/video/skeletonfb.c
  130. +3 −3 drivers/video/sm501fb.c
  131. +1,994 −0 drivers/video/smscufx.c
  132. +1 −1 drivers/video/tmiofb.c
  133. +2 −2 drivers/video/tridentfb.c
  134. +132 −55 drivers/video/udlfb.c
  135. +1 −1 drivers/video/valkyriefb.c
  136. +2 −2 drivers/video/vfb.c
  137. +1 −1 drivers/video/vga16fb.c
  138. +12 −22 drivers/video/via/dvi.c
  139. +1 −2 drivers/video/via/dvi.h
  140. +2 −0 drivers/video/via/global.c
  141. +2 −0 drivers/video/via/global.h
  142. +89 −455 drivers/video/via/hw.c
  143. +4 −281 drivers/video/via/hw.h
  144. +24 −29 drivers/video/via/lcd.c
  145. +2 −5 drivers/video/via/lcd.h
  146. +2 −21 drivers/video/via/share.h
  147. +1 −1 drivers/video/via/via-core.c
  148. +104 −0 drivers/video/via/via_modesetting.c
  149. +23 −0 drivers/video/via/via_modesetting.h
  150. +94 −88 drivers/video/via/viafbdev.c
  151. +45 −15 drivers/video/via/viamode.c
  152. +2 −2 drivers/video/via/viamode.h
  153. +3 −3 drivers/video/vt8500lcdfb.c
  154. +5 −4 drivers/video/vt8623fb.c
  155. +0 −1 drivers/video/xilinxfb.c
  156. +20 −72 include/linux/fsl-diu-fb.h
  157. +37 −0 include/video/omap-panel-dvi.h
  158. +15 −0 include/video/omap-panel-n8x0.h
  159. +2 −6 include/video/omap-panel-nokia-dsi.h
  160. +23 −0 include/video/omap-panel-picodlp.h
  161. +86 −14 include/video/omapdss.h
  162. +116 −19 include/video/sh_mobile_lcdc.h
  163. +1 −0 include/video/udlfb.h
View
@@ -87,23 +87,38 @@ Special configuration for udlfb is usually unnecessary. There are a few
options, however.
From the command line, pass options to modprobe
-modprobe udlfb defio=1 console=1
+modprobe udlfb fb_defio=0 console=1 shadow=1
-Or for permanent option, create file like /etc/modprobe.d/options with text
-options udlfb defio=1 console=1
+Or modify options on the fly at /sys/module/udlfb/parameters directory via
+sudo nano fb_defio
+change the parameter in place, and save the file.
-Accepted options:
+Unplug/replug USB device to apply with new settings
+
+Or for permanent option, create file like /etc/modprobe.d/udlfb.conf with text
+options udlfb fb_defio=0 console=1 shadow=1
+
+Accepted boolean options:
fb_defio Make use of the fb_defio (CONFIG_FB_DEFERRED_IO) kernel
module to track changed areas of the framebuffer by page faults.
- Standard fbdev applications that use mmap but that do not
- report damage, may be able to work with this enabled.
- Disabled by default because of overhead and other issues.
-
-console Allow fbcon to attach to udlfb provided framebuffers. This
- is disabled by default because fbcon will aggressively consume
- the first framebuffer it finds, which isn't usually what the
- user wants in the case of USB displays.
+ Standard fbdev applications that use mmap but that do not
+ report damage, should be able to work with this enabled.
+ Disable when running with X server that supports reporting
+ changed regions via ioctl, as this method is simpler,
+ more stable, and higher performance.
+ default: fb_defio=1
+
+console Allow fbcon to attach to udlfb provided framebuffers.
+ Can be disabled if fbcon and other clients
+ (e.g. X with --shared-vt) are in conflict.
+ default: console=1
+
+shadow Allocate a 2nd framebuffer to shadow what's currently across
+ the USB bus in device memory. If any pixels are unchanged,
+ do not transmit. Spends host memory to save USB transfers.
+ Enabled by default. Only disable on very low memory systems.
+ default: shadow=1
Sysfs Attributes
================
View
@@ -5970,6 +5970,12 @@ L: netdev@vger.kernel.org
S: Supported
F: drivers/net/ethernet/smsc/smsc9420.*
+SMSC UFX6000 and UFX7000 USB to VGA DRIVER
+M: Steve Glendinning <steve.glendinning@smsc.com>
+L: linux-fbdev@vger.kernel.org
+S: Supported
+F: drivers/video/smscufx.c
+
SN-IA64 (Itanium) SUB-PLATFORM
M: Jes Sorensen <jes@sgi.com>
L: linux-altix@sgi.com
@@ -39,6 +39,9 @@
#include <plat/usb.h>
#include <plat/gpmc-smc91x.h>
+#include <video/omapdss.h>
+#include <video/omap-panel-generic-dpi.h>
+
#include "mux.h"
#include "hsmmc.h"
#include "common-board-devices.h"
@@ -99,20 +102,72 @@ static struct platform_device sdp2430_flash_device = {
.resource = &sdp2430_flash_resource,
};
-static struct platform_device sdp2430_lcd_device = {
- .name = "sdp2430_lcd",
- .id = -1,
-};
-
static struct platform_device *sdp2430_devices[] __initdata = {
&sdp2430_flash_device,
+};
+
+/* LCD */
+#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91
+#define SDP2430_LCD_PANEL_ENABLE_GPIO 154
+
+static int sdp2430_panel_enable_lcd(struct omap_dss_device *dssdev)
+{
+ gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 1);
+ gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 1);
+
+ return 0;
+}
+
+static void sdp2430_panel_disable_lcd(struct omap_dss_device *dssdev)
+{
+ gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 0);
+ gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 0);
+}
+
+static struct panel_generic_dpi_data sdp2430_panel_data = {
+ .name = "nec_nl2432dr22-11b",
+ .platform_enable = sdp2430_panel_enable_lcd,
+ .platform_disable = sdp2430_panel_disable_lcd,
+};
+
+static struct omap_dss_device sdp2430_lcd_device = {
+ .name = "lcd",
+ .driver_name = "generic_dpi_panel",
+ .type = OMAP_DISPLAY_TYPE_DPI,
+ .phy.dpi.data_lines = 16,
+ .data = &sdp2430_panel_data,
+};
+
+static struct omap_dss_device *sdp2430_dss_devices[] = {
&sdp2430_lcd_device,
};
-static struct omap_lcd_config sdp2430_lcd_config __initdata = {
- .ctrl_name = "internal",
+static struct omap_dss_board_info sdp2430_dss_data = {
+ .num_devices = ARRAY_SIZE(sdp2430_dss_devices),
+ .devices = sdp2430_dss_devices,
+ .default_device = &sdp2430_lcd_device,
};
+static void __init sdp2430_display_init(void)
+{
+ int r;
+
+ static struct gpio gpios[] __initdata = {
+ { SDP2430_LCD_PANEL_ENABLE_GPIO, GPIOF_OUT_INIT_LOW,
+ "LCD reset" },
+ { SDP2430_LCD_PANEL_BACKLIGHT_GPIO, GPIOF_OUT_INIT_LOW,
+ "LCD Backlight" },
+ };
+
+ r = gpio_request_array(gpios, ARRAY_SIZE(gpios));
+ if (r) {
+ pr_err("Cannot request LCD GPIOs, error %d\n", r);
+ return;
+ }
+
+ omap_display_init(&sdp2430_dss_data);
+}
+
#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91x_MODULE)
static struct omap_smc91x_platform_data board_smc91x_data = {
@@ -137,10 +192,6 @@ static inline void board_smc91x_init(void)
#endif
-static struct omap_board_config_kernel sdp2430_config[] __initdata = {
- {OMAP_TAG_LCD, &sdp2430_lcd_config},
-};
-
static void __init omap_2430sdp_init_early(void)
{
omap2_init_common_infrastructure();
@@ -229,9 +280,6 @@ static void __init omap_2430sdp_init(void)
{
omap2430_mux_init(board_mux, OMAP_PACKAGE_ZAC);
- omap_board_config = sdp2430_config;
- omap_board_config_size = ARRAY_SIZE(sdp2430_config);
-
omap2430_i2c_init();
platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices));
@@ -247,6 +295,8 @@ static void __init omap_2430sdp_init(void)
/* Turn off secondary LCD backlight */
gpio_request_one(SECONDARY_LCD_GPIO, GPIOF_OUT_INIT_LOW,
"Secondary LCD backlight");
+
+ sdp2430_display_init();
}
static void __init omap_2430sdp_map_io(void)
@@ -37,7 +37,7 @@
#include <plat/dma.h>
#include <plat/gpmc.h>
#include <video/omapdss.h>
-#include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
#include <plat/gpmc-smc91x.h>
@@ -186,16 +186,15 @@ static struct omap_dss_device sdp3430_lcd_device = {
.platform_disable = sdp3430_panel_disable_lcd,
};
-static struct panel_generic_dpi_data dvi_panel = {
- .name = "generic",
+static struct panel_dvi_platform_data dvi_panel = {
.platform_enable = sdp3430_panel_enable_dvi,
.platform_disable = sdp3430_panel_disable_dvi,
};
static struct omap_dss_device sdp3430_dvi_device = {
.name = "dvi",
.type = OMAP_DISPLAY_TYPE_DPI,
- .driver_name = "generic_dpi_panel",
+ .driver_name = "dvi",
.data = &dvi_panel,
.phy.dpi.data_lines = 24,
};
Oops, something went wrong.

0 comments on commit acff987

Please sign in to comment.