Merge branch 'omap3-upstream' into for-next

Conflicts:
	arch/arm/mach-omap2/serial.c
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index a0a2803..fddbc4e 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -469,9 +469,17 @@
 static inline void omap_uart_idle_init(struct omap_uart_state *uart) {}
 #endif /* CONFIG_PM */
 
+static struct platform_device serial_device = {
+	.name			= "serial8250",
+	.id			= PLAT8250_DEV_PLATFORM,
+	.dev			= {
+		.platform_data	= serial_platform_data,
+	},
+};
+
 void __init omap_serial_init(void)
 {
-	int i;
+	int i, err;
 	const struct omap_uart_config *info;
 	char name[16];
 
@@ -522,27 +530,14 @@
 		omap_uart_reset(uart);
 		omap_uart_idle_init(uart);
 	}
-}
 
-static struct platform_device serial_device = {
-	.name			= "serial8250",
-	.id			= PLAT8250_DEV_PLATFORM,
-	.dev			= {
-		.platform_data	= serial_platform_data,
-	},
-};
-
-static int __init omap_init(void)
-{
-	int ret;
-
-	ret = platform_device_register(&serial_device);
+	err = platform_device_register(&serial_device);
 
 #ifdef CONFIG_PM
-	if (!ret)
-		ret = sysfs_create_file(&serial_device.dev.kobj,
+	if (!err)
+		err = sysfs_create_file(&serial_device.dev.kobj,
 					&sleep_timeout_attr.attr);
 #endif
-	return ret;
+
 }
-arch_initcall(omap_init);
+