diff options
| -rw-r--r-- | arch/arm/mach-sa1100/h3100.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/arch/arm/mach-sa1100/h3100.c b/arch/arm/mach-sa1100/h3100.c index 5b78c9f9a11d..daa27c474c13 100644 --- a/arch/arm/mach-sa1100/h3100.c +++ b/arch/arm/mach-sa1100/h3100.c | |||
| @@ -89,6 +89,11 @@ static void __init h3100_map_io(void) | |||
| 89 | /* | 89 | /* |
| 90 | * This turns the IRDA power on or off on the Compaq H3100 | 90 | * This turns the IRDA power on or off on the Compaq H3100 |
| 91 | */ | 91 | */ |
| 92 | static struct gpio h3100_irda_gpio[] = { | ||
| 93 | { H3100_GPIO_IR_ON, GPIOF_OUT_INIT_LOW, "IrDA power" }, | ||
| 94 | { H3100_GPIO_IR_FSEL, GPIOF_OUT_INIT_LOW, "IrDA fsel" }, | ||
| 95 | }; | ||
| 96 | |||
| 92 | static int h3100_irda_set_power(struct device *dev, unsigned int state) | 97 | static int h3100_irda_set_power(struct device *dev, unsigned int state) |
| 93 | { | 98 | { |
| 94 | gpio_set_value(H3100_GPIO_IR_ON, state); | 99 | gpio_set_value(H3100_GPIO_IR_ON, state); |
| @@ -100,14 +105,24 @@ static void h3100_irda_set_speed(struct device *dev, unsigned int speed) | |||
| 100 | gpio_set_value(H3100_GPIO_IR_FSEL, !(speed < 4000000)); | 105 | gpio_set_value(H3100_GPIO_IR_FSEL, !(speed < 4000000)); |
| 101 | } | 106 | } |
| 102 | 107 | ||
| 108 | static int h3100_irda_startup(struct device *dev) | ||
| 109 | { | ||
| 110 | return gpio_request_array(h3100_irda_gpio, sizeof(h3100_irda_gpio)); | ||
| 111 | } | ||
| 112 | |||
| 113 | static void h3100_irda_shutdown(struct device *dev) | ||
| 114 | { | ||
| 115 | return gpio_free_array(h3100_irda_gpio, sizeof(h3100_irda_gpio)); | ||
| 116 | } | ||
| 117 | |||
| 103 | static struct irda_platform_data h3100_irda_data = { | 118 | static struct irda_platform_data h3100_irda_data = { |
| 104 | .set_power = h3100_irda_set_power, | 119 | .set_power = h3100_irda_set_power, |
| 105 | .set_speed = h3100_irda_set_speed, | 120 | .set_speed = h3100_irda_set_speed, |
| 121 | .startup = h3100_irda_startup, | ||
| 122 | .shutdown = h3100_irda_shutdown, | ||
| 106 | }; | 123 | }; |
| 107 | 124 | ||
| 108 | static struct gpio_default_state h3100_default_gpio[] = { | 125 | static struct gpio_default_state h3100_default_gpio[] = { |
| 109 | { H3100_GPIO_IR_ON, GPIO_MODE_OUT0, "IrDA power" }, | ||
| 110 | { H3100_GPIO_IR_FSEL, GPIO_MODE_OUT0, "IrDA fsel" }, | ||
| 111 | { H3XXX_GPIO_COM_DCD, GPIO_MODE_IN, "COM DCD" }, | 126 | { H3XXX_GPIO_COM_DCD, GPIO_MODE_IN, "COM DCD" }, |
| 112 | { H3XXX_GPIO_COM_CTS, GPIO_MODE_IN, "COM CTS" }, | 127 | { H3XXX_GPIO_COM_CTS, GPIO_MODE_IN, "COM CTS" }, |
| 113 | { H3XXX_GPIO_COM_RTS, GPIO_MODE_OUT0, "COM RTS" }, | 128 | { H3XXX_GPIO_COM_RTS, GPIO_MODE_OUT0, "COM RTS" }, |
