frame buffer EDID always included (was [FBDEV UPDATE] Newer patch.)
PATCH 1/1 frame buffer EDID always included (was [FBDEV UPDATE] Newer patch.)
Quoted 2 lines · James Simmons
This patch is a few fixes and I added back in functionality for switching the video mode for fbcon via fbset again.
Hi James !
I'm using Linux on an embedded device with the PXA 250 processor. Those embedded devices (Sharp Zaurus, Compaq IPaq, M&N Ramses, whatever) usually use an LCD display, the CPU-built-in LCD controller and some fixed LCD with 320x240 or so.
So, no one would ever use fbset to change resolutions. And no monitor would answer EDID requests. On Linux 2.6-test I found that the framebuffer code includes lots of display settings and the EDID query code. Does this patch look fine to you? Or did I miss something important for other architectures?
Quoted 1 line
From Holger Schurig: some embedded devices don't drive a normal CRT, but an
digitally connected LCD panel. In this case, we don't need the EDID code and no mode line database.
This disables the feature if CONFIG_PXA_FB or CONFIG_SA1100_FB is defined.
#
# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
#
drivers/video/Kconfig renamed from drivers/video/Kconfig~small-nomodedb +8 -0
@@ -38,6 +38,14 @@ (e.g. an accelerated X server) and that are not frame buffer device-aware may cause unexpected results. If unsure, say N. +config FB_MODES + bool + default y if FB && (!(FB_PXA || FB_SA1110)) + ---help--- + Some embedded devices don't drive a normal CRT, but an digitally + connected LCD panel. In this case, we don't need the EDID code and + no mode line database. + config FB_CIRRUS tristate "Cirrus Logic support" depends on FB && (AMIGA || PCI) && BROKEN
drivers/video/Makefile renamed from drivers/video/Makefile~small-nomodedb +2 -1
@@ -7,7 +7,8 @@ obj-$(CONFIG_VT) += console/ obj-$(CONFIG_LOGO) += logo/ -obj-$(CONFIG_FB) += fbmem.o fbmon.o fbcmap.o modedb.o softcursor.o +obj-$(CONFIG_FB) += fbmem.o fbcmap.o softcursor.o +obj-$(CONFIG_FB_MODES) += fbmon.o modedb.o # Only include macmodes.o if we have FB support and are PPC ifeq ($(CONFIG_FB),y) obj-$(CONFIG_PPC) += macmodes.o
drivers/video/fbmem.c renamed from drivers/video/fbmem.c~small-nomodedb +4 -0
@@ -385,7 +385,9 @@#define NUM_FB_DRIVERS (sizeof(fb_drivers)/sizeof(*fb_drivers))#define FBPIXMAPSIZE 8192 +#ifdef CONFIG_FB_MODES extern const char *global_mode_option; +#endif static initcall_t pref_init_funcs[FB_MAX ];static int num_pref_init_funcs__initdata =0 ;
@@ -1365,7 +1367,9 @@* If we get here no fb was specified. * We consider the argument to be a global video mode option. */ +#ifdef CONFIG_FB_MODES global_mode_option = options; +#endif return 0 ; }