diff options
author | Tony Lindgren <tony@atomide.com> | 2009-04-23 14:10:40 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2009-04-23 14:10:40 -0400 |
commit | ba16ec7cabb3f1aa7bbcb7b9982c4402a2e8ec02 (patch) | |
tree | b7b083aaa98df9b746b1a9731d73a5dfaee47ade /arch/arm/mach-omap2 | |
parent | da1b94e6a68e1bdeb9cdda016cceb17228b37d25 (diff) |
ARM: OMAP: Remove old dead gpio expander code
This should be done with GPIO calls. Patches against the
mainline tree welcome to add the necessary working functionality
back.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/board-h4.c | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c index a0267a9ab466..e7d017cdc438 100644 --- a/arch/arm/mach-omap2/board-h4.c +++ b/arch/arm/mach-omap2/board-h4.c | |||
@@ -33,10 +33,8 @@ | |||
33 | 33 | ||
34 | #include <mach/control.h> | 34 | #include <mach/control.h> |
35 | #include <mach/gpio.h> | 35 | #include <mach/gpio.h> |
36 | #include <mach/gpioexpander.h> | ||
37 | #include <mach/mux.h> | 36 | #include <mach/mux.h> |
38 | #include <mach/usb.h> | 37 | #include <mach/usb.h> |
39 | #include <mach/irda.h> | ||
40 | #include <mach/board.h> | 38 | #include <mach/board.h> |
41 | #include <mach/common.h> | 39 | #include <mach/common.h> |
42 | #include <mach/keypad.h> | 40 | #include <mach/keypad.h> |
@@ -138,98 +136,6 @@ static struct platform_device h4_flash_device = { | |||
138 | .resource = &h4_flash_resource, | 136 | .resource = &h4_flash_resource, |
139 | }; | 137 | }; |
140 | 138 | ||
141 | /* Select between the IrDA and aGPS module | ||
142 | */ | ||
143 | static int h4_select_irda(struct device *dev, int state) | ||
144 | { | ||
145 | unsigned char expa; | ||
146 | int err = 0; | ||
147 | |||
148 | if ((err = read_gpio_expa(&expa, 0x21))) { | ||
149 | printk(KERN_ERR "Error reading from I/O expander\n"); | ||
150 | return err; | ||
151 | } | ||
152 | |||
153 | /* 'P6' enable/disable IRDA_TX and IRDA_RX */ | ||
154 | if (state & IR_SEL) { /* IrDa */ | ||
155 | if ((err = write_gpio_expa(expa | 0x01, 0x21))) { | ||
156 | printk(KERN_ERR "Error writing to I/O expander\n"); | ||
157 | return err; | ||
158 | } | ||
159 | } else { | ||
160 | if ((err = write_gpio_expa(expa & ~0x01, 0x21))) { | ||
161 | printk(KERN_ERR "Error writing to I/O expander\n"); | ||
162 | return err; | ||
163 | } | ||
164 | } | ||
165 | return err; | ||
166 | } | ||
167 | |||
168 | static void set_trans_mode(struct work_struct *work) | ||
169 | { | ||
170 | struct omap_irda_config *irda_config = | ||
171 | container_of(work, struct omap_irda_config, gpio_expa.work); | ||
172 | int mode = irda_config->mode; | ||
173 | unsigned char expa; | ||
174 | int err = 0; | ||
175 | |||
176 | if ((err = read_gpio_expa(&expa, 0x20)) != 0) { | ||
177 | printk(KERN_ERR "Error reading from I/O expander\n"); | ||
178 | } | ||
179 | |||
180 | expa &= ~0x01; | ||
181 | |||
182 | if (!(mode & IR_SIRMODE)) { /* MIR/FIR */ | ||
183 | expa |= 0x01; | ||
184 | } | ||
185 | |||
186 | if ((err = write_gpio_expa(expa, 0x20)) != 0) { | ||
187 | printk(KERN_ERR "Error writing to I/O expander\n"); | ||
188 | } | ||
189 | } | ||
190 | |||
191 | static int h4_transceiver_mode(struct device *dev, int mode) | ||
192 | { | ||
193 | struct omap_irda_config *irda_config = dev->platform_data; | ||
194 | |||
195 | irda_config->mode = mode; | ||
196 | cancel_delayed_work(&irda_config->gpio_expa); | ||
197 | PREPARE_DELAYED_WORK(&irda_config->gpio_expa, set_trans_mode); | ||
198 | schedule_delayed_work(&irda_config->gpio_expa, 0); | ||
199 | |||
200 | return 0; | ||
201 | } | ||
202 | |||
203 | static struct omap_irda_config h4_irda_data = { | ||
204 | .transceiver_cap = IR_SIRMODE | IR_MIRMODE | IR_FIRMODE, | ||
205 | .transceiver_mode = h4_transceiver_mode, | ||
206 | .select_irda = h4_select_irda, | ||
207 | .rx_channel = OMAP24XX_DMA_UART3_RX, | ||
208 | .tx_channel = OMAP24XX_DMA_UART3_TX, | ||
209 | .dest_start = OMAP_UART3_BASE, | ||
210 | .src_start = OMAP_UART3_BASE, | ||
211 | .tx_trigger = OMAP24XX_DMA_UART3_TX, | ||
212 | .rx_trigger = OMAP24XX_DMA_UART3_RX, | ||
213 | }; | ||
214 | |||
215 | static struct resource h4_irda_resources[] = { | ||
216 | [0] = { | ||
217 | .start = INT_24XX_UART3_IRQ, | ||
218 | .end = INT_24XX_UART3_IRQ, | ||
219 | .flags = IORESOURCE_IRQ, | ||
220 | }, | ||
221 | }; | ||
222 | |||
223 | static struct platform_device h4_irda_device = { | ||
224 | .name = "omapirda", | ||
225 | .id = -1, | ||
226 | .dev = { | ||
227 | .platform_data = &h4_irda_data, | ||
228 | }, | ||
229 | .num_resources = 1, | ||
230 | .resource = h4_irda_resources, | ||
231 | }; | ||
232 | |||
233 | static struct omap_kp_platform_data h4_kp_data = { | 139 | static struct omap_kp_platform_data h4_kp_data = { |
234 | .rows = 6, | 140 | .rows = 6, |
235 | .cols = 7, | 141 | .cols = 7, |
@@ -255,7 +161,6 @@ static struct platform_device h4_lcd_device = { | |||
255 | 161 | ||
256 | static struct platform_device *h4_devices[] __initdata = { | 162 | static struct platform_device *h4_devices[] __initdata = { |
257 | &h4_flash_device, | 163 | &h4_flash_device, |
258 | &h4_irda_device, | ||
259 | &h4_kp_device, | 164 | &h4_kp_device, |
260 | &h4_lcd_device, | 165 | &h4_lcd_device, |
261 | }; | 166 | }; |