[ARM] Remove asm/hardware.h, use asm/arch/hardware.h instead
[sfrench/cifs-2.6.git] / arch / arm / mach-pxa / spitz.c
index e7d0fcd9b43ffbb2c749fe139b8649090e1e8ada..a8774d458498e8c6d2ada88fc92d6fdf0c3f94be 100644 (file)
@@ -26,7 +26,7 @@
 #include <asm/setup.h>
 #include <asm/memory.h>
 #include <asm/mach-types.h>
-#include <asm/hardware.h>
+#include <asm/arch/hardware.h>
 #include <asm/irq.h>
 #include <asm/io.h>
 #include <asm/system.h>
@@ -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;