ARM: iPAQ: convert H3100 IrDA to use generic gpio support
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 6 Oct 2009 13:36:05 +0000 (14:36 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 6 Dec 2009 16:52:24 +0000 (16:52 +0000)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-sa1100/h3600.c
arch/arm/mach-sa1100/include/mach/h3600_gpio.h

index 2b545a4..c53ad65 100644 (file)
@@ -347,14 +347,13 @@ static void __init h3100_map_io(void)
  */
 static int h3100_irda_set_power(struct device *dev, unsigned int state)
 {
-       assign_h3100_egpio(IPAQ_EGPIO_IR_ON, state);
-
+       gpio_set_value(H3100_GPIO_IR_ON, state);
        return 0;
 }
 
 static void h3100_irda_set_speed(struct device *dev, unsigned int speed)
 {
-       assign_h3100_egpio(IPAQ_EGPIO_IR_FSEL, !(speed < 4000000));
+       gpio_set_value(H3100_GPIO_IR_FSEL, !(speed < 4000000));
 }
 
 static struct irda_platform_data h3100_irda_data = {
@@ -362,8 +361,14 @@ static struct irda_platform_data h3100_irda_data = {
        .set_speed      = h3100_irda_set_speed,
 };
 
+static struct gpio_default_state h3100_default_gpio[] = {
+       { H3100_GPIO_IR_ON,     GPIO_MODE_OUT0, "IrDA power" },
+       { H3100_GPIO_IR_FSEL,   GPIO_MODE_OUT0, "IrDA fsel" },
+};
+
 static void h3100_mach_init(void)
 {
+       h3xxx_init_gpio(h3100_default_gpio, ARRAY_SIZE(h3100_default_gpio));
        h3xxx_mach_init();
        sa11x0_register_irda(&h3100_irda_data);
 }
index a36ca76..d4d0b22 100644 (file)
 #define GPIO_H3100_IR_ON               GPIO_GPIO (8)
 #define GPIO_H3100_IR_FSEL             GPIO_GPIO (9)
 
+/* gpiolib versions of the above */
+#define H3100_GPIO_BT_ON               2
+#define H3100_GPIO_QMUTE               4
+#define H3100_GPIO_LCD_3V_ON           5
+#define H3100_GPIO_AUD_ON              6
+#define H3100_GPIO_AUD_PWR_ON          7
+#define H3100_GPIO_IR_ON               8
+#define H3100_GPIO_IR_FSEL             9
+
 /* for H3600, audio sample rate clock generator */
 #define GPIO_H3600_CLK_SET0            GPIO_GPIO (12)
 #define GPIO_H3600_CLK_SET1            GPIO_GPIO (13)