mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/arch/arm/mach-ixp4xx/avila-setup.c
 | 
						|
+++ b/arch/arm/mach-ixp4xx/avila-setup.c
 | 
						|
@@ -237,10 +237,28 @@ static struct platform_device avila_latc
 | 
						|
 	.dev.platform_data	= &avila_latch_leds_data,
 | 
						|
 };
 | 
						|
 
 | 
						|
+static struct resource avila_gpio_resources[] = {
 | 
						|
+	{
 | 
						|
+		.name	= "gpio",
 | 
						|
+		/* FIXME: gpio mask should be model specific */
 | 
						|
+		.start	= AVILA_GPIO_MASK,
 | 
						|
+		.end	= AVILA_GPIO_MASK,
 | 
						|
+		.flags	= 0,
 | 
						|
+	},
 | 
						|
+};
 | 
						|
+
 | 
						|
+static struct platform_device avila_gpio = {
 | 
						|
+	.name			= "GPIODEV",
 | 
						|
+	.id			= -1,
 | 
						|
+	.num_resources		= ARRAY_SIZE(avila_gpio_resources),
 | 
						|
+	.resource		= avila_gpio_resources,
 | 
						|
+};
 | 
						|
+
 | 
						|
 static struct platform_device *avila_devices[] __initdata = {
 | 
						|
 	&avila_i2c_gpio,
 | 
						|
 	&avila_flash,
 | 
						|
-	&avila_uart
 | 
						|
+	&avila_uart,
 | 
						|
+	&avila_gpio,
 | 
						|
 };
 | 
						|
 
 | 
						|
 static void __init avila_gw23xx_setup(void)
 | 
						|
--- a/arch/arm/mach-ixp4xx/include/mach/avila.h
 | 
						|
+++ b/arch/arm/mach-ixp4xx/include/mach/avila.h
 | 
						|
@@ -39,3 +39,6 @@
 | 
						|
 /* User LEDs */
 | 
						|
 #define AVILA_GW23XX_LED_USER_GPIO	3
 | 
						|
 #define AVILA_GW23X7_LED_USER_GPIO	4
 | 
						|
+
 | 
						|
+/* gpio mask used by platform device */
 | 
						|
+#define AVILA_GPIO_MASK	(1 << 1) | (1 << 3) | (1 << 5) | (1 << 7) | (1 << 9)
 |