]> Pileus Git - ~andy/linux/blobdiff - arch/arm/mach-realview/realview_pb1176.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[~andy/linux] / arch / arm / mach-realview / realview_pb1176.c
index c057540ec776eca7d27a321e67664a701894e495..e4abe94fb11ab4b0f0969bc565d8359aafeb17f2 100644 (file)
@@ -21,7 +21,7 @@
 
 #include <linux/init.h>
 #include <linux/platform_device.h>
-#include <linux/sysdev.h>
+#include <linux/device.h>
 #include <linux/amba/bus.h>
 #include <linux/amba/pl061.h>
 #include <linux/amba/mmci.h>
@@ -113,17 +113,14 @@ static void __init realview_pb1176_map_io(void)
 
 static struct pl061_platform_data gpio0_plat_data = {
        .gpio_base      = 0,
-       .irq_base       = -1,
 };
 
 static struct pl061_platform_data gpio1_plat_data = {
        .gpio_base      = 8,
-       .irq_base       = -1,
 };
 
 static struct pl061_platform_data gpio2_plat_data = {
        .gpio_base      = 16,
-       .irq_base       = -1,
 };
 
 static struct pl022_ssp_controller ssp0_plat_data = {
@@ -336,12 +333,13 @@ static struct sys_timer realview_pb1176_timer = {
        .init           = realview_pb1176_timer_init,
 };
 
-static void realview_pb1176_reset(char mode)
+static void realview_pb1176_restart(char mode, const char *cmd)
 {
        void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL);
        void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK);
        __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl);
        __raw_writel(REALVIEW_PB1176_SYS_SOFT_RESET, reset_ctrl);
+       dsb();
 }
 
 static void realview_pb1176_fixup(struct tag *tags, char **from,
@@ -381,7 +379,6 @@ static void __init realview_pb1176_init(void)
 #ifdef CONFIG_LEDS
        leds_event = realview_leds_event;
 #endif
-       realview_reset = realview_pb1176_reset;
 }
 
 MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176")
@@ -392,8 +389,10 @@ MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176")
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
        .timer          = &realview_pb1176_timer,
+       .handle_irq     = gic_handle_irq,
        .init_machine   = realview_pb1176_init,
 #ifdef CONFIG_ZONE_DMA
        .dma_zone_size  = SZ_256M,
 #endif
+       .restart        = realview_pb1176_restart,
 MACHINE_END