r1024 - trunk/src/target/kernel/patches

laforge at sita.openmoko.org laforge at sita.openmoko.org
Sat Feb 17 00:51:17 CET 2007


Author: laforge
Date: 2007-02-17 00:51:16 +0100 (Sat, 17 Feb 2007)
New Revision: 1024

Added:
   trunk/src/target/kernel/patches/2.6.20-s3c2410fb_uninitialized.patch
Removed:
   trunk/src/target/kernel/patches/s3c2410fb_2617_backport.patch
Modified:
   trunk/src/target/kernel/patches/gta01-core.patch
   trunk/src/target/kernel/patches/qt2410-base.patch
   trunk/src/target/kernel/patches/qt2410-biglcd.patch
   trunk/src/target/kernel/patches/series
Log:
Get rid of the 2617-backport-to-2620 for s3c2410fb (thanks to Ben Dooks and Arnaud Patard)


Added: trunk/src/target/kernel/patches/2.6.20-s3c2410fb_uninitialized.patch
===================================================================
--- trunk/src/target/kernel/patches/2.6.20-s3c2410fb_uninitialized.patch	2007-02-16 23:10:34 UTC (rev 1023)
+++ trunk/src/target/kernel/patches/2.6.20-s3c2410fb_uninitialized.patch	2007-02-16 23:51:16 UTC (rev 1024)
@@ -0,0 +1,18 @@
+The current driver is not setting the dev field in the private data structure,
+which can lead to an OOPS if the driver tries to report an error.
+
+Signed-off-by: Ben Dooks <ben-linux at fluff.org>
+
+--- linux-2.6.20/drivers/video/s3c2410fb.c	2007-02-04 18:44:54.000000000 +0000
++++ linux-2.6.20-fbfix1/drivers/video/s3c2410fb.c	2007-02-15 22:42:51.000000000 +0000
+@@ -791,6 +791,8 @@ static int __init s3c2410fb_probe(struct
+ 
+ 	info = fbinfo->par;
+ 	info->fb = fbinfo;
++	info->dev = &pdev->dev;
++
+ 	platform_set_drvdata(pdev, fbinfo);
+ 
+ 	dprintk("devinit\n");
+
+

Modified: trunk/src/target/kernel/patches/gta01-core.patch
===================================================================
--- trunk/src/target/kernel/patches/gta01-core.patch	2007-02-16 23:10:34 UTC (rev 1023)
+++ trunk/src/target/kernel/patches/gta01-core.patch	2007-02-16 23:51:16 UTC (rev 1024)
@@ -3,8 +3,8 @@
 
 Index: linux-2.6.20/arch/arm/mach-s3c2410/Kconfig
 ===================================================================
---- linux-2.6.20.orig/arch/arm/mach-s3c2410/Kconfig	2007-02-15 17:08:30.000000000 +0100
-+++ linux-2.6.20/arch/arm/mach-s3c2410/Kconfig	2007-02-15 17:08:32.000000000 +0100
+--- linux-2.6.20.orig/arch/arm/mach-s3c2410/Kconfig	2007-02-17 00:43:54.000000000 +0100
++++ linux-2.6.20/arch/arm/mach-s3c2410/Kconfig	2007-02-17 00:44:17.000000000 +0100
 @@ -86,6 +86,13 @@
  	help
  	   Say Y here if you are using the Armzone QT2410
@@ -21,8 +21,8 @@
  	select CPU_S3C2440
 Index: linux-2.6.20/arch/arm/mach-s3c2410/Makefile
 ===================================================================
---- linux-2.6.20.orig/arch/arm/mach-s3c2410/Makefile	2007-02-15 17:08:30.000000000 +0100
-+++ linux-2.6.20/arch/arm/mach-s3c2410/Makefile	2007-02-15 17:08:32.000000000 +0100
+--- linux-2.6.20.orig/arch/arm/mach-s3c2410/Makefile	2007-02-17 00:43:54.000000000 +0100
++++ linux-2.6.20/arch/arm/mach-s3c2410/Makefile	2007-02-17 00:44:17.000000000 +0100
 @@ -89,5 +89,6 @@
  obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o
  obj-$(CONFIG_MACH_VSTMS)	+= mach-vstms.o
@@ -33,8 +33,8 @@
 Index: linux-2.6.20/arch/arm/mach-s3c2410/mach-gta01.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.20/arch/arm/mach-s3c2410/mach-gta01.c	2007-02-15 17:08:46.000000000 +0100
-@@ -0,0 +1,507 @@
++++ linux-2.6.20/arch/arm/mach-s3c2410/mach-gta01.c	2007-02-17 00:45:51.000000000 +0100
+@@ -0,0 +1,495 @@
 +/*
 + * linux/arch/arm/mach-s3c2410/mach-gta01.c
 + *
@@ -145,7 +145,6 @@
 +/* Configuration for 480x640 toppoly TD028TTEC1 */
 +static struct s3c2410fb_mach_info gta01_lcd_cfg __initdata = {
 +	.regs	= {
-+
 +		.lcdcon1	= S3C2410_LCDCON1_TFT16BPP |
 +				  S3C2410_LCDCON1_TFT |
 +				  S3C2410_LCDCON1_CLKVAL(0x01),	/* HCLK/4 */
@@ -169,19 +168,8 @@
 +				  S3C2410_LCDCON5_HWSWP,
 +	},
 +
-+#if 0
-+	/* currently setup by downloader */
-+	.gpccon		= 0xaa940659,
-+	.gpccon_mask	= 0xffffffff,
-+	.gpcup		= 0x0000ffff,
-+	.gpcup_mask	= 0xffffffff,
-+	.gpdcon		= 0xaa84aaa0,
-+	.gpdcon_mask	= 0xffffffff,
-+	.gpdup		= 0x0000faff,
-+	.gpdup_mask	= 0xffffffff,
-+#endif
-+
 +	.lpcsel		= ((0xCE6) & ~7) | 1<<4,
++	.type		= S3C2410_LCDCON1_TFT,
 +
 +	.width		= 480,
 +	.height		= 640,
@@ -545,7 +533,7 @@
 Index: linux-2.6.20/include/asm-arm/arch-s3c2410/gta01.h
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.20/include/asm-arm/arch-s3c2410/gta01.h	2007-02-15 17:08:32.000000000 +0100
++++ linux-2.6.20/include/asm-arm/arch-s3c2410/gta01.h	2007-02-17 00:44:17.000000000 +0100
 @@ -0,0 +1,60 @@
 +#ifndef _GTA01_H
 +#define _GTA01_H

Modified: trunk/src/target/kernel/patches/qt2410-base.patch
===================================================================
--- trunk/src/target/kernel/patches/qt2410-base.patch	2007-02-16 23:10:34 UTC (rev 1023)
+++ trunk/src/target/kernel/patches/qt2410-base.patch	2007-02-16 23:51:16 UTC (rev 1024)
@@ -1,7 +1,7 @@
 Index: linux-2.6.20/arch/arm/mach-s3c2410/Kconfig
 ===================================================================
---- linux-2.6.20.orig/arch/arm/mach-s3c2410/Kconfig	2007-02-15 16:26:54.000000000 +0100
-+++ linux-2.6.20/arch/arm/mach-s3c2410/Kconfig	2007-02-15 17:05:08.000000000 +0100
+--- linux-2.6.20.orig/arch/arm/mach-s3c2410/Kconfig	2007-02-17 00:43:51.000000000 +0100
++++ linux-2.6.20/arch/arm/mach-s3c2410/Kconfig	2007-02-17 00:43:54.000000000 +0100
 @@ -80,6 +80,12 @@
  	   Say Y here if you are using the SMDK2410 or the derived module A9M2410
             <http://www.fsforth.de>
@@ -17,8 +17,8 @@
  	select CPU_S3C2440
 Index: linux-2.6.20/arch/arm/mach-s3c2410/Makefile
 ===================================================================
---- linux-2.6.20.orig/arch/arm/mach-s3c2410/Makefile	2007-02-15 16:26:54.000000000 +0100
-+++ linux-2.6.20/arch/arm/mach-s3c2410/Makefile	2007-02-15 17:05:08.000000000 +0100
+--- linux-2.6.20.orig/arch/arm/mach-s3c2410/Makefile	2007-02-17 00:43:51.000000000 +0100
++++ linux-2.6.20/arch/arm/mach-s3c2410/Makefile	2007-02-17 00:43:54.000000000 +0100
 @@ -88,5 +88,6 @@
  obj-$(CONFIG_MACH_OTOM)		+= mach-otom.o
  obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o
@@ -31,8 +31,8 @@
 Index: linux-2.6.20/arch/arm/mach-s3c2410/mach-qt2410.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.20/arch/arm/mach-s3c2410/mach-qt2410.c	2007-02-15 17:07:34.000000000 +0100
-@@ -0,0 +1,385 @@
++++ linux-2.6.20/arch/arm/mach-s3c2410/mach-qt2410.c	2007-02-17 00:44:07.000000000 +0100
+@@ -0,0 +1,386 @@
 +/*
 + *
 + * linux/arch/arm/mach-s3c2410/mach-qt2410.c
@@ -132,6 +132,7 @@
 +/* LCD driver info */
 +
 +static struct s3c2410fb_mach_info qt2410_lcd_cfg __initdata = {
++	.type = S3C2410_LCDCON1_TFT,
 +	.regs	= {
 +
 +		.lcdcon1	= S3C2410_LCDCON1_TFT16BPP |

Modified: trunk/src/target/kernel/patches/qt2410-biglcd.patch
===================================================================
--- trunk/src/target/kernel/patches/qt2410-biglcd.patch	2007-02-16 23:10:34 UTC (rev 1023)
+++ trunk/src/target/kernel/patches/qt2410-biglcd.patch	2007-02-16 23:51:16 UTC (rev 1024)
@@ -1,13 +1,14 @@
-Index: linux-2.6.17.14-fic4.test/arch/arm/mach-s3c2410/mach-qt2410.c
+Index: linux-2.6.20/arch/arm/mach-s3c2410/mach-qt2410.c
 ===================================================================
---- linux-2.6.17.14-fic4.test.orig/arch/arm/mach-s3c2410/mach-qt2410.c	2007-01-24 12:18:05.000000000 +0100
-+++ linux-2.6.17.14-fic4.test/arch/arm/mach-s3c2410/mach-qt2410.c	2007-01-24 12:18:07.000000000 +0100
-@@ -96,6 +96,133 @@
+--- linux-2.6.20.orig/arch/arm/mach-s3c2410/mach-qt2410.c	2007-02-17 00:41:38.000000000 +0100
++++ linux-2.6.20/arch/arm/mach-s3c2410/mach-qt2410.c	2007-02-17 00:43:47.000000000 +0100
+@@ -96,6 +96,135 @@
  
  /* LCD driver info */
  
 +/* Configuration for 640x480 SHARP LQ080V3DG01 */
 +static struct s3c2410fb_mach_info qt2410_biglcd_cfg __initdata = {
++	.type	=  S3C2410_LCDCON1_TFT,
 +	.regs	= {
 +
 +		.lcdcon1	= S3C2410_LCDCON1_TFT16BPP |
@@ -71,6 +72,7 @@
 +
 +/* Configuration for 480x640 toppoly TD028TTEC1 */
 +static struct s3c2410fb_mach_info qt2410_prodlcd_cfg __initdata = {
++	.type	= S3C2410_LCDCON1_TFT,
 +	.regs	= {
 +
 +		.lcdcon1	= S3C2410_LCDCON1_TFT16BPP |
@@ -134,10 +136,10 @@
 +
 +/* Config for 240x320 LCD */
  static struct s3c2410fb_mach_info qt2410_lcd_cfg __initdata = {
+ 	.type = S3C2410_LCDCON1_TFT,
  	.regs	= {
- 
-@@ -330,6 +457,17 @@
- 	.udc_command	= qt2410_udc_pullup,
+@@ -337,6 +466,17 @@
+ 	.oversampling_shift = 2,
  };
  
 +static char tft_type = 's';
@@ -154,7 +156,7 @@
  static void __init qt2410_map_io(void)
  {
  	s3c24xx_init_io(qt2410_iodesc, ARRAY_SIZE(qt2410_iodesc));
-@@ -353,7 +491,20 @@
+@@ -360,7 +500,20 @@
  	s3c2410_gpio_setpin(S3C2410_GPF7, 1);
  
  	s3c_device_nand.dev.platform_data = &qt2410_nand_info;
@@ -174,5 +176,5 @@
 +	}
 +
  	s3c24xx_udc_set_platdata(&qt2410_udc_cfg);
+ 	set_s3c2410ts_info(&qt2410_ts_cfg);
  
- 	s3c2410_gpio_cfgpin(S3C2410_GPB5, S3C2410_GPIO_OUTPUT);

Deleted: trunk/src/target/kernel/patches/s3c2410fb_2617_backport.patch
===================================================================
--- trunk/src/target/kernel/patches/s3c2410fb_2617_backport.patch	2007-02-16 23:10:34 UTC (rev 1023)
+++ trunk/src/target/kernel/patches/s3c2410fb_2617_backport.patch	2007-02-16 23:51:16 UTC (rev 1024)
@@ -1,340 +0,0 @@
-Backport / Revert changes between 2.6.17.14 and 2.6.20 in s3c2410_fb.c,
-since somehow the kernel refuses to boot.
-
-TODO: find out why and only fix the actual bug
-
-Signed-off-by: Harald Welte <laforge at openmoko.org>
-
-Index: linux-2.6.20/drivers/video/s3c2410fb.c
-===================================================================
---- linux-2.6.20.orig/drivers/video/s3c2410fb.c	2007-02-15 19:23:34.000000000 +0100
-+++ linux-2.6.20/drivers/video/s3c2410fb.c	2007-02-15 19:24:57.000000000 +0100
-@@ -76,6 +76,7 @@
- #include <linux/errno.h>
- #include <linux/string.h>
- #include <linux/mm.h>
-+#include <linux/tty.h>
- #include <linux/slab.h>
- #include <linux/delay.h>
- #include <linux/fb.h>
-@@ -131,7 +132,7 @@
- 	saddr2 += (var->xres * var->yres * var->bits_per_pixel)/8;
- 	saddr2>>= 1;
- 
--	saddr3 =  S3C2410_OFFSIZE(0) | S3C2410_PAGEWIDTH((var->xres * var->bits_per_pixel / 16) & 0x3ff);
-+	saddr3 =  S3C2410_OFFSIZE(0) | S3C2410_PAGEWIDTH(var->xres);
- 
- 	dprintk("LCDSADDR1 = 0x%08lx\n", saddr1);
- 	dprintk("LCDSADDR2 = 0x%08lx\n", saddr2);
-@@ -199,86 +200,28 @@
- 		var->bits_per_pixel = fbi->mach_info->bpp.min;
- 
- 	/* set r/g/b positions */
--	switch (var->bits_per_pixel) {
--		case 1:
--		case 2:
--		case 4:
--			var->red.offset    	= 0;
--			var->red.length    	= var->bits_per_pixel;
--			var->green         	= var->red;
--			var->blue          	= var->red;
--			var->transp.offset 	= 0;
--			var->transp.length 	= 0;
--			break;
--		case 8:
--			if ( fbi->mach_info->type != S3C2410_LCDCON1_TFT ) {
--				/* 8 bpp 332 */
--				var->red.length		= 3;
--				var->red.offset		= 5;
--				var->green.length	= 3;
--				var->green.offset	= 2;
--				var->blue.length	= 2;
--				var->blue.offset	= 0;
--				var->transp.length	= 0;
--			} else {
--				var->red.offset    	= 0;
--				var->red.length    	= var->bits_per_pixel;
--				var->green         	= var->red;
--				var->blue          	= var->red;
--				var->transp.offset 	= 0;
--				var->transp.length 	= 0;
--			}
--			break;
--		case 12:
--			/* 12 bpp 444 */
--			var->red.length		= 4;
--			var->red.offset		= 8;
--			var->green.length	= 4;
--			var->green.offset	= 4;
--			var->blue.length	= 4;
--			var->blue.offset	= 0;
--			var->transp.length	= 0;
--			break;
--
--		default:
--		case 16:
--			if (fbi->regs.lcdcon5 & S3C2410_LCDCON5_FRM565 ) {
--				/* 16 bpp, 565 format */
--				var->red.offset		= 11;
--				var->green.offset	= 5;
--				var->blue.offset	= 0;
--				var->red.length		= 5;
--				var->green.length	= 6;
--				var->blue.length	= 5;
--				var->transp.length	= 0;
--			} else {
--				/* 16 bpp, 5551 format */
--				var->red.offset		= 11;
--				var->green.offset	= 6;
--				var->blue.offset	= 1;
--				var->red.length		= 5;
--				var->green.length	= 5;
--				var->blue.length	= 5;
--				var->transp.length	= 0;
--			}
--			break;
--		case 24:
--			/* 24 bpp 888 */
--			var->red.length		= 8;
--			var->red.offset		= 16;
--			var->green.length	= 8;
--			var->green.offset	= 8;
--			var->blue.length	= 8;
--			var->blue.offset	= 0;
--			var->transp.length	= 0;
--			break;
--
- 
-+	if (var->bits_per_pixel == 16) {
-+		var->red.offset		= 11;
-+		var->green.offset	= 5;
-+		var->blue.offset	= 0;
-+		var->red.length		= 5;
-+		var->green.length	= 6;
-+		var->blue.length	= 5;
-+		var->transp.length	= 0;
-+	} else {
-+		var->red.length		= var->bits_per_pixel;
-+		var->red.offset		= 0;
-+		var->green.length	= var->bits_per_pixel;
-+		var->green.offset	= 0;
-+		var->blue.length	= var->bits_per_pixel;
-+		var->blue.offset	= 0;
-+		var->transp.length	= 0;
- 	}
-+
- 	return 0;
- }
- 
--
- /* s3c2410fb_activate_var
-  *
-  * activate (set) the controller from the given framebuffer
-@@ -288,61 +231,29 @@
- static void s3c2410fb_activate_var(struct s3c2410fb_info *fbi,
- 				   struct fb_var_screeninfo *var)
- {
--	int hs;
--
- 	fbi->regs.lcdcon1 &= ~S3C2410_LCDCON1_MODEMASK;
--	fbi->regs.lcdcon1 &= ~S3C2410_LCDCON1_TFT;
- 
- 	dprintk("%s: var->xres  = %d\n", __FUNCTION__, var->xres);
- 	dprintk("%s: var->yres  = %d\n", __FUNCTION__, var->yres);
- 	dprintk("%s: var->bpp   = %d\n", __FUNCTION__, var->bits_per_pixel);
- 
--	fbi->regs.lcdcon1 |= fbi->mach_info->type;
--
--	if (fbi->mach_info->type == S3C2410_LCDCON1_TFT)
--		switch (var->bits_per_pixel) {
--		case 1:
--			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT1BPP;
--			break;
--		case 2:
--			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT2BPP;
--			break;
--		case 4:
--			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT4BPP;
--			break;
--		case 8:
--			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT8BPP;
--			break;
--		case 16:
--			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT16BPP;
--			break;
--
--		default:
--			/* invalid pixel depth */
--			dev_err(fbi->dev, "invalid bpp %d\n", var->bits_per_pixel);
--		}
--	else
--		switch (var->bits_per_pixel) {
--		case 1:
--			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_STN1BPP;
--			break;
--		case 2:
--			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_STN2GREY;
--			break;
--		case 4:
--			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_STN4GREY;
--			break;
--		case 8:
--			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_STN8BPP;
--			break;
--		case 12:
--			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_STN12BPP;
--			break;
--
--		default:
--			/* invalid pixel depth */
--			dev_err(fbi->dev, "invalid bpp %d\n", var->bits_per_pixel);
--		}
-+	switch (var->bits_per_pixel) {
-+	case 1:
-+		fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT1BPP;
-+		break;
-+	case 2:
-+		fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT2BPP;
-+		break;
-+	case 4:
-+		fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT4BPP;
-+		break;
-+	case 8:
-+		fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT8BPP;
-+		break;
-+	case 16:
-+		fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT16BPP;
-+		break;
-+	}
- 
- 	/* check to see if we need to update sync/borders */
- 
-@@ -373,44 +284,15 @@
- 	fbi->regs.lcdcon2 &= ~S3C2410_LCDCON2_LINEVAL(0x3ff);
- 	fbi->regs.lcdcon2 |=  S3C2410_LCDCON2_LINEVAL(var->yres - 1);
- 
--	switch(fbi->mach_info->type) {
--		case S3C2410_LCDCON1_DSCAN4:
--		case S3C2410_LCDCON1_STN8:
--			hs = var->xres / 8;
--			break;
--		case S3C2410_LCDCON1_STN4:
--			hs = var->xres / 4;
--			break;
--		default:
--		case S3C2410_LCDCON1_TFT:
--			hs = var->xres;
--			break;
--
--	}
--
--	/* Special cases : STN color displays */
--	if ( ((fbi->regs.lcdcon1 & S3C2410_LCDCON1_MODEMASK) == S3C2410_LCDCON1_STN8BPP) \
--	  || ((fbi->regs.lcdcon1 & S3C2410_LCDCON1_MODEMASK) == S3C2410_LCDCON1_STN12BPP) ) {
--		hs = hs * 3;
--	}
--
--
- 	fbi->regs.lcdcon3 &= ~S3C2410_LCDCON3_HOZVAL(0x7ff);
--	fbi->regs.lcdcon3 |=  S3C2410_LCDCON3_HOZVAL(hs - 1);
-+	fbi->regs.lcdcon3 |=  S3C2410_LCDCON3_HOZVAL(var->xres - 1);
- 
- 	if (var->pixclock > 0) {
- 		int clkdiv = s3c2410fb_calc_pixclk(fbi, var->pixclock);
- 
--		if (fbi->mach_info->type == S3C2410_LCDCON1_TFT) {
--			clkdiv = (clkdiv / 2) -1;
--			if (clkdiv < 0)
--				clkdiv = 0;
--		}
--		else {
--			clkdiv = (clkdiv / 2);
--			if (clkdiv < 2)
--				clkdiv = 2;
--		}
-+		clkdiv = (clkdiv / 2) -1;
-+		if (clkdiv < 0)
-+			clkdiv = 0;
- 
- 		fbi->regs.lcdcon1 &= ~S3C2410_LCDCON1_CLKVAL(0x3ff);
- 		fbi->regs.lcdcon1 |=  S3C2410_LCDCON1_CLKVAL(clkdiv);
-@@ -448,18 +330,10 @@
- 	struct s3c2410fb_info *fbi = info->par;
- 	struct fb_var_screeninfo *var = &info->var;
- 
--	switch (var->bits_per_pixel)
--	{
--		case 16:
--			fbi->fb->fix.visual = FB_VISUAL_TRUECOLOR;
--			break;
--		case 1:
--			 fbi->fb->fix.visual = FB_VISUAL_MONO01;
--			 break;
--		default:
--			 fbi->fb->fix.visual = FB_VISUAL_PSEUDOCOLOR;
--			 break;
--	}
-+	if (var->bits_per_pixel == 16)
-+		fbi->fb->fix.visual = FB_VISUAL_TRUECOLOR;
-+	else
-+		fbi->fb->fix.visual = FB_VISUAL_PSEUDOCOLOR;
- 
- 	fbi->fb->fix.line_length     = (var->width*var->bits_per_pixel)/8;
- 
-@@ -767,7 +641,6 @@
- 	int ret;
- 	int irq;
- 	int i;
--	u32 lcdcon1;
- 
- 	mach_info = pdev->dev.platform_data;
- 	if (mach_info == NULL) {
-@@ -799,11 +672,6 @@
- 
- 	memcpy(&info->regs, &mach_info->regs, sizeof(info->regs));
- 
--	/* Stop the video and unset ENVID if set */
--	info->regs.lcdcon1 &= ~S3C2410_LCDCON1_ENVID;
--	lcdcon1 = readl(S3C2410_LCDCON1);
--	writel(lcdcon1 & ~S3C2410_LCDCON1_ENVID, S3C2410_LCDCON1);
--
- 	info->mach_info		    = pdev->dev.platform_data;
- 
- 	fbinfo->fix.type	    = FB_TYPE_PACKED_PIXELS;
-@@ -926,14 +794,15 @@
-  * shutdown the lcd controller
- */
- 
--static void s3c2410fb_stop_lcd(struct s3c2410fb_info *fbi)
-+static void s3c2410fb_stop_lcd(void)
- {
- 	unsigned long flags;
-+	unsigned long tmp;
- 
- 	local_irq_save(flags);
- 
--	fbi->regs.lcdcon1 &= ~S3C2410_LCDCON1_ENVID;
--	writel(fbi->regs.lcdcon1, S3C2410_LCDCON1);
-+	tmp = readl(S3C2410_LCDCON1);
-+	writel(tmp & ~S3C2410_LCDCON1_ENVID, S3C2410_LCDCON1);
- 
- 	local_irq_restore(flags);
- }
-@@ -947,7 +816,7 @@
- 	struct s3c2410fb_info *info = fbinfo->par;
- 	int irq;
- 
--	s3c2410fb_stop_lcd(info);
-+	s3c2410fb_stop_lcd();
- 	msleep(1);
- 
- 	s3c2410fb_unmap_video_memory(info);
-@@ -975,7 +844,7 @@
- 	struct fb_info	   *fbinfo = platform_get_drvdata(dev);
- 	struct s3c2410fb_info *info = fbinfo->par;
- 
--	s3c2410fb_stop_lcd(info);
-+	s3c2410fb_stop_lcd();
- 
- 	/* sleep before disabling the clock, we need to ensure
- 	 * the LCD DMA engine is not going to get back on the bus

Modified: trunk/src/target/kernel/patches/series
===================================================================
--- trunk/src/target/kernel/patches/series	2007-02-16 23:10:34 UTC (rev 1023)
+++ trunk/src/target/kernel/patches/series	2007-02-16 23:51:16 UTC (rev 1024)
@@ -4,7 +4,7 @@
 i2c-permit_invalid_addrs.patch
 pm-debug_less_verbose.patch
 g_ether-highpower.patch
-s3c2410fb_2617_backport.patch
+2.6.20-s3c2410fb_uninitialized.patch
 2.6.17-s3c2410-spi-mode23.patch
 s3c2410_serial-nodebug.patch
 s3c2410_udc.patch





More information about the commitlog mailing list