Index: linux-2.6/drivers/video/backlight/s3c2410_lcd.c
===================================================================
--- linux-2.6.orig/drivers/video/backlight/s3c2410_lcd.c	2006-01-04 02:26:16.000000000 +0100
+++ linux-2.6/drivers/video/backlight/s3c2410_lcd.c	2006-01-09 23:01:54.000000000 +0100
@@ -249,6 +249,44 @@
 
 }
 
+#ifdef CONFIG_PM
+static int s3c2410bl_suspend(struct platform_device *pdev, pm_message_t state)
+{
+	struct s3c2410bl_devs *devs = platform_get_drvdata(pdev);
+
+	if (devs) {
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
+		s3c2410bl_set_bl_brightness(devs->bl,0);
+#endif
+#ifdef CONFIG_LCD_CLASS_DEVICE
+		s3c2410bl_set_lcd_power(devs->lcd,0);
+#endif
+	}
+
+	return 0;
+}
+
+static int s3c2410bl_resume(struct platform_device *pdev)
+{
+	struct s3c2410bl_devs *devs = platform_get_drvdata(pdev);
+	struct s3c2410_bl_mach_info *info = (struct s3c2410_bl_mach_info *)pdev->dev.platform_data;
+
+	if (devs) {
+#ifdef CONFIG_LCD_CLASS_DEVICE
+		s3c2410bl_set_lcd_power(devs->lcd,info->lcd_power_value);
+#endif
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
+		s3c2410bl_set_bl_brightness(devs->bl,info->brightness_value);
+		s3c2410bl_set_bl_power(devs->bl,info->backlight_power_value);
+#endif
+	}
+	return 0;
+}
+#else
+#define s3c2410bl_suspend NULL
+#define s3c2410bl_resume  NULL
+#endif
+
 static struct platform_driver s3c2410bl_driver = {
 	.driver		= {
 		.name	= "s3c2410-bl",
@@ -256,6 +294,8 @@
 	},
 	.probe		= s3c2410bl_probe,
 	.remove		= s3c2410bl_remove,
+	.suspend        = s3c2410bl_suspend,
+	.resume         = s3c2410bl_resume,
 };
 
 
