提交 0fc3ff31 编写于 作者: D Dmitry Baryshkov 提交者: Russell King

[ARM] 5146/1: pxa2xx: convert all boards to call pxa2xx_transceiver_mode helper

Signed-off-by: NDmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 5a58d4bb
...@@ -465,6 +465,7 @@ static void corgi_irda_transceiver_mode(struct device *dev, int mode) ...@@ -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); GPSR(CORGI_GPIO_IR_ON) = GPIO_bit(CORGI_GPIO_IR_ON);
else else
GPCR(CORGI_GPIO_IR_ON) = GPIO_bit(CORGI_GPIO_IR_ON); 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 = { static struct pxaficp_platform_data corgi_ficp_platform_data = {
......
...@@ -462,6 +462,7 @@ static void lubbock_irda_transceiver_mode(struct device *dev, int mode) ...@@ -462,6 +462,7 @@ static void lubbock_irda_transceiver_mode(struct device *dev, int mode)
} else if (mode & IR_FIRMODE) { } else if (mode & IR_FIRMODE) {
LUB_MISC_WR |= 1 << 4; LUB_MISC_WR |= 1 << 4;
} }
pxa2xx_transceiver_mode(dev, mode);
local_irq_restore(flags); local_irq_restore(flags);
} }
......
...@@ -132,6 +132,7 @@ static unsigned long magician_pin_config[] __initdata = { ...@@ -132,6 +132,7 @@ static unsigned long magician_pin_config[] __initdata = {
static void magician_irda_transceiver_mode(struct device *dev, int mode) static void magician_irda_transceiver_mode(struct device *dev, int mode)
{ {
gpio_set_value(GPIO83_MAGICIAN_nIR_EN, mode & IR_OFF); gpio_set_value(GPIO83_MAGICIAN_nIR_EN, mode & IR_OFF);
pxa2xx_transceiver_mode(dev, mode);
} }
static struct pxaficp_platform_data magician_ficp_info = { static struct pxaficp_platform_data magician_ficp_info = {
......
...@@ -455,6 +455,7 @@ static void mainstone_irda_transceiver_mode(struct device *dev, int mode) ...@@ -455,6 +455,7 @@ static void mainstone_irda_transceiver_mode(struct device *dev, int mode)
} else if (mode & IR_FIRMODE) { } else if (mode & IR_FIRMODE) {
MST_MSCWR1 |= MST_MSCWR1_IRDA_FIR; MST_MSCWR1 |= MST_MSCWR1_IRDA_FIR;
} }
pxa2xx_transceiver_mode(dev, mode);
if (mode & IR_OFF) { if (mode & IR_OFF) {
MST_MSCWR1 = (MST_MSCWR1 & ~MST_MSCWR1_IRDA_MASK) | MST_MSCWR1_IRDA_OFF; MST_MSCWR1 = (MST_MSCWR1 & ~MST_MSCWR1_IRDA_MASK) | MST_MSCWR1_IRDA_OFF;
} else { } else {
......
...@@ -267,6 +267,7 @@ static void poodle_irda_transceiver_mode(struct device *dev, int mode) ...@@ -267,6 +267,7 @@ static void poodle_irda_transceiver_mode(struct device *dev, int mode)
} else { } else {
GPCR(POODLE_GPIO_IR_ON) = GPIO_bit(POODLE_GPIO_IR_ON); 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 = { static struct pxaficp_platform_data poodle_ficp_platform_data = {
......
...@@ -451,6 +451,7 @@ static void spitz_irda_transceiver_mode(struct device *dev, int mode) ...@@ -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); set_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_IR_ON);
else else
reset_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_IR_ON); reset_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_IR_ON);
pxa2xx_transceiver_mode(dev, mode);
} }
#ifdef CONFIG_MACH_AKITA #ifdef CONFIG_MACH_AKITA
...@@ -460,6 +461,7 @@ static void akita_irda_transceiver_mode(struct device *dev, int mode) ...@@ -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); akita_set_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_IR_ON);
else else
akita_reset_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_IR_ON); akita_reset_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_IR_ON);
pxa2xx_transceiver_mode(dev, mode);
} }
#endif #endif
......
...@@ -149,19 +149,12 @@ static unsigned long tosa_pin_config[] = { ...@@ -149,19 +149,12 @@ static unsigned long tosa_pin_config[] = {
GPIO81_SSP2_CLK_OUT, GPIO81_SSP2_CLK_OUT,
GPIO82_SSP2_FRM_OUT, GPIO82_SSP2_FRM_OUT,
GPIO83_SSP2_TXD, 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[] = { /* IrDA is managed in other way */
GPIO46_STUART_RXD, GPIO46_GPIO,
GPIO47_STUART_TXD, GPIO47_GPIO,
}; };
/* /*
* SCOOP Device * SCOOP Device
*/ */
...@@ -360,10 +353,10 @@ static void tosa_irda_transceiver_mode(struct device *dev, int mode) ...@@ -360,10 +353,10 @@ static void tosa_irda_transceiver_mode(struct device *dev, int mode)
{ {
if (mode & IR_OFF) { if (mode & IR_OFF) {
gpio_set_value(TOSA_GPIO_IR_POWERDWN, 0); 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); gpio_direction_output(TOSA_GPIO_IRDA_TX, 0);
} else { } else {
pxa2xx_mfp_config(ARRAY_AND_SIZE(tosa_pin_irda_on)); pxa2xx_transceiver_mode(dev, mode);
gpio_set_value(TOSA_GPIO_IR_POWERDWN, 1); gpio_set_value(TOSA_GPIO_IR_POWERDWN, 1);
} }
} }
...@@ -775,7 +768,6 @@ static void __init tosa_init(void) ...@@ -775,7 +768,6 @@ static void __init tosa_init(void)
int dummy; int dummy;
pxa2xx_mfp_config(ARRAY_AND_SIZE(tosa_pin_config)); 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); gpio_set_wake(MFP_PIN_GPIO1, 1);
/* We can't pass to gpio-keys since it will drop the Reset altfunc */ /* We can't pass to gpio-keys since it will drop the Reset altfunc */
......
...@@ -254,6 +254,7 @@ static void board_irda_mode(struct device *dev, int mode) ...@@ -254,6 +254,7 @@ static void board_irda_mode(struct device *dev, int mode)
/* Fast mode */ /* Fast mode */
trizeps_conxs_ircr |= ConXS_IRCR_MODE; trizeps_conxs_ircr |= ConXS_IRCR_MODE;
} }
pxa2xx_transceiver_mode(dev, mode);
if (mode & IR_OFF) { if (mode & IR_OFF) {
trizeps_conxs_ircr |= ConXS_IRCR_SD; trizeps_conxs_ircr |= ConXS_IRCR_SD;
} else { } else {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册