--- /dev/null
+++ b/arch/arm/mach-cns3xxx/laguna.c
-@@ -0,0 +1,761 @@
+@@ -0,0 +1,764 @@
+/*
+ * Gateworks Corporation Laguna Platform
+ *
+#include <mach/irqs.h>
+#include <mach/platform.h>
+#include <mach/pm.h>
++#include <asm/hardware/gic.h>
+#include "core.h"
+#include "devices.h"
+
+ .map_io = laguna_map_io,
+ .init_irq = cns3xxx_init_irq,
+ .timer = &cns3xxx_timer,
++ .handle_irq = gic_handle_irq,
+ .init_machine = laguna_init,
++ .restart = cns3xxx_restart,
+MACHINE_END
--- a/arch/arm/mach-cns3xxx/Kconfig
+++ b/arch/arm/mach-cns3xxx/Kconfig
--- a/arch/arm/mach-cns3xxx/core.c
+++ b/arch/arm/mach-cns3xxx/core.c
-@@ -125,12 +125,13 @@ static void cns3xxx_timer_set_mode(enum
+@@ -125,12 +125,13 @@ static void cns3xxx_timer_set_mode(enum
switch (mode) {
case CLOCK_EVT_MODE_PERIODIC:
void cns3xxx_restart(char, const char *);
--- a/arch/arm/mach-cns3xxx/laguna.c
+++ b/arch/arm/mach-cns3xxx/laguna.c
-@@ -611,7 +611,7 @@ static struct map_desc laguna_io_desc[]
+@@ -612,7 +612,7 @@ static struct map_desc laguna_io_desc[]
static void __init laguna_map_io(void)
{
--- a/drivers/Makefile
+++ b/drivers/Makefile
-@@ -70,6 +70,7 @@ obj-$(CONFIG_PARIDE) += block/paride/
+@@ -71,6 +71,7 @@ obj-$(CONFIG_PARIDE) += block/paride/
obj-$(CONFIG_TC) += tc/
obj-$(CONFIG_UWB) += uwb/
obj-$(CONFIG_USB_OTG_UTILS) += usb/