diff -Nur linux-2.6.19-g500-011/arch/arm/mach-s3c2410/mach-g500.c linux-2.6.19-g500-012/arch/arm/mach-s3c2410/mach-g500.c
--- linux-2.6.19-g500-011/arch/arm/mach-s3c2410/mach-g500.c	2006-12-17 15:40:39.000000000 +0100
+++ linux-2.6.19-g500-012/arch/arm/mach-s3c2410/mach-g500.c	2006-12-17 15:42:37.000000000 +0100
@@ -43,6 +43,7 @@
 #include <asm/arch/ts.h>
 #include <asm/arch/buttons.h>
 #include <asm/arch/lcd.h>
+#include <asm/arch/leds-gpio.h>
 
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/partitions.h>
@@ -278,6 +279,21 @@
 	.lcd_power		= g500_lcd_power
 };
 
+static struct s3c24xx_led_platdata g500_vibrator_pdata = {
+	.gpio		= S3C2410_GPA6,
+	.flags		= S3C24XX_LEDF_ACTLOW,
+	.name		= "vibrator",
+	.def_trigger	= "none",
+};
+
+static struct platform_device g500_vibrator = {
+	.name		= "s3c24xx_led",
+	.id		= 1,
+	.dev		= {
+		.platform_data = &g500_vibrator_pdata,
+	},
+};
+
 static struct platform_device *g500_devices[] __initdata = {
 	&s3c_device_usb,
 	&s3c_device_lcd,
@@ -290,6 +306,7 @@
 	&s3c_device_ts,
 	&s3c_device_buttons,
 	&s3c_device_bl,
+	&g500_vibrator,
 };
 
 static struct s3c24xx_board g500_board __initdata = {

