diff options
Diffstat (limited to 'arch/arm/mach-pxa/spitz.c')
-rw-r--r-- | arch/arm/mach-pxa/spitz.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index e7d0fcd9b43..762249c03de 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -38,6 +38,7 @@ #include <asm/arch/pxa-regs.h> #include <asm/arch/pxa2xx-regs.h> #include <asm/arch/pxa2xx-gpio.h> +#include <asm/arch/pxa27x-udc.h> #include <asm/arch/irda.h> #include <asm/arch/mmc.h> #include <asm/arch/ohci.h> @@ -450,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 @@ -459,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 @@ -529,11 +532,7 @@ static struct platform_device *devices[] __initdata = { static void spitz_poweroff(void) { - pxa_gpio_mode(SPITZ_GPIO_ON_RESET | GPIO_OUT); - GPSR(SPITZ_GPIO_ON_RESET) = GPIO_bit(SPITZ_GPIO_ON_RESET); - - mdelay(1000); - arm_machine_restart('h'); + arm_machine_restart('g'); } static void spitz_restart(char mode) @@ -547,6 +546,7 @@ static void spitz_restart(char mode) static void __init common_init(void) { + init_gpio_reset(SPITZ_GPIO_ON_RESET); pm_power_off = spitz_poweroff; arm_pm_restart = spitz_restart; |