diff options
-rw-r--r-- | arch/arm/mach-pxa/corgi.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/lubbock.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/magician.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/mainstone.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/poodle.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/spitz.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/tosa.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-pxa/trizeps4.c | 1 |
8 files changed, 13 insertions, 13 deletions
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index b37671b..e58504e 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c @@ -465,6 +465,7 @@ static void corgi_irda_transceiver_mode(struct device *dev, int mode) GPSR(CORGI_GPIO_IR_ON) = GPIO_bit(CORGI_GPIO_IR_ON); else GPCR(CORGI_GPIO_IR_ON) = GPIO_bit(CORGI_GPIO_IR_ON); + pxa2xx_transceiver_mode(dev, mode); } static struct pxaficp_platform_data corgi_ficp_platform_data = { diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index e041cce..3daffbe 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c @@ -462,6 +462,7 @@ static void lubbock_irda_transceiver_mode(struct device *dev, int mode) } else if (mode & IR_FIRMODE) { LUB_MISC_WR |= 1 << 4; } + pxa2xx_transceiver_mode(dev, mode); local_irq_restore(flags); } diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c index bad5821..c9d274f 100644 --- a/arch/arm/mach-pxa/magician.c +++ b/arch/arm/mach-pxa/magician.c @@ -132,6 +132,7 @@ static unsigned long magician_pin_config[] __initdata = { static void magician_irda_transceiver_mode(struct device *dev, int mode) { gpio_set_value(GPIO83_MAGICIAN_nIR_EN, mode & IR_OFF); + pxa2xx_transceiver_mode(dev, mode); } static struct pxaficp_platform_data magician_ficp_info = { diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c index f2e9e7c..8cd3f81 100644 --- a/arch/arm/mach-pxa/mainstone.c +++ b/arch/arm/mach-pxa/mainstone.c @@ -455,6 +455,7 @@ static void mainstone_irda_transceiver_mode(struct device *dev, int mode) } else if (mode & IR_FIRMODE) { MST_MSCWR1 |= MST_MSCWR1_IRDA_FIR; } + pxa2xx_transceiver_mode(dev, mode); if (mode & IR_OFF) { MST_MSCWR1 = (MST_MSCWR1 & ~MST_MSCWR1_IRDA_MASK) | MST_MSCWR1_IRDA_OFF; } else { diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index f81c10c..39612cf 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c @@ -267,6 +267,7 @@ static void poodle_irda_transceiver_mode(struct device *dev, int mode) } else { GPCR(POODLE_GPIO_IR_ON) = GPIO_bit(POODLE_GPIO_IR_ON); } + pxa2xx_transceiver_mode(dev, mode); } static struct pxaficp_platform_data poodle_ficp_platform_data = { diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index d58c3e9..762249c 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -451,6 +451,7 @@ static void spitz_irda_transceiver_mode(struct device *dev, int mode) set_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_IR_ON); else reset_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_IR_ON); + pxa2xx_transceiver_mode(dev, mode); } #ifdef CONFIG_MACH_AKITA @@ -460,6 +461,7 @@ static void akita_irda_transceiver_mode(struct device *dev, int mode) akita_set_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_IR_ON); else akita_reset_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_IR_ON); + pxa2xx_transceiver_mode(dev, mode); } #endif diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index 2d49de5..fea17ce 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c @@ -149,19 +149,12 @@ static unsigned long tosa_pin_config[] = { GPIO81_SSP2_CLK_OUT, GPIO82_SSP2_FRM_OUT, GPIO83_SSP2_TXD, -}; - -static unsigned long tosa_pin_irda_off[] = { - GPIO46_STUART_RXD, - GPIO47_GPIO | MFP_LPM_DRIVE_LOW, -}; -static unsigned long tosa_pin_irda_on[] = { - GPIO46_STUART_RXD, - GPIO47_STUART_TXD, + /* IrDA is managed in other way */ + GPIO46_GPIO, + GPIO47_GPIO, }; - /* * SCOOP Device */ @@ -360,10 +353,10 @@ static void tosa_irda_transceiver_mode(struct device *dev, int mode) { if (mode & IR_OFF) { gpio_set_value(TOSA_GPIO_IR_POWERDWN, 0); - pxa2xx_mfp_config(ARRAY_AND_SIZE(tosa_pin_irda_off)); + pxa2xx_transceiver_mode(dev, mode); gpio_direction_output(TOSA_GPIO_IRDA_TX, 0); } else { - pxa2xx_mfp_config(ARRAY_AND_SIZE(tosa_pin_irda_on)); + pxa2xx_transceiver_mode(dev, mode); gpio_set_value(TOSA_GPIO_IR_POWERDWN, 1); } } @@ -775,7 +768,6 @@ static void __init tosa_init(void) int dummy; pxa2xx_mfp_config(ARRAY_AND_SIZE(tosa_pin_config)); - pxa2xx_mfp_config(ARRAY_AND_SIZE(tosa_pin_irda_off)); gpio_set_wake(MFP_PIN_GPIO1, 1); /* We can't pass to gpio-keys since it will drop the Reset altfunc */ diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c index 61e2440..dee7bf3 100644 --- a/arch/arm/mach-pxa/trizeps4.c +++ b/arch/arm/mach-pxa/trizeps4.c @@ -254,6 +254,7 @@ static void board_irda_mode(struct device *dev, int mode) /* Fast mode */ trizeps_conxs_ircr |= ConXS_IRCR_MODE; } + pxa2xx_transceiver_mode(dev, mode); if (mode & IR_OFF) { trizeps_conxs_ircr |= ConXS_IRCR_SD; } else { |