--- a/arch/arm/mach-orion5x/dt2-setup.c
+++ b/arch/arm/mach-orion5x/dt2-setup.c
@@ -146,7 +146,7 @@ void __init dt2_pci_preinit(void)
 	}
 }
 
-static int __init dt2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
+static int __init dt2_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
 {
 	int irq;
 
@@ -383,8 +383,7 @@ __tagtable(ATAG_MV_UBOOT, parse_tag_dt2_
  *
  * Vanilla kernel should use "tag_fixup_mem32" function.
  */
-void __init openwrt_fixup(struct machine_desc *mdesc, struct tag *t,
-			    char **from, struct meminfo *meminfo)
+void __init openwrt_fixup(struct tag *t, char **from, struct meminfo *meminfo)
 {
 	char *p = NULL;
 	static char openwrt_init_tag[] __initdata = " init=/etc/preinit";
@@ -437,10 +436,11 @@ void __init openwrt_fixup(struct machine
 /* Warning: Freecom uses their own custom bootloader with mach-type (=1500) */
 MACHINE_START(DT2, "Freecom DataTank Gateway")
 	/* Maintainer: Zintis Petersons <Zintis.Petersons@abcsolutions.lv> */
-	.boot_params	= 0x00000100,
+	.atag_offset	= 0x100,
 	.init_machine	= dt2_init,
 	.map_io		= orion5x_map_io,
 	.init_irq	= orion5x_init_irq,
 	.timer		= &orion5x_timer,
 	.fixup		= openwrt_fixup, //tag_fixup_mem32,
+	.restart	= orion5x_restart,
 MACHINE_END
