]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/arm/mach-imx/mach-mx27ads.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / arch / arm / mach-imx / mach-mx27ads.c
index a1e4bc573afc20081720fcb21cbd604e14ce5ff0..b832f960fec4c63b475640db7bd737b465ac3b27 100644 (file)
 #include <mach/gpio.h>
 #include <mach/iomux-mx27.h>
 #include <mach/mxc_nand.h>
-#include <mach/imxfb.h>
-#include <mach/mmc.h>
 
 #include "devices-imx27.h"
-#include "devices.h"
 
 /*
  * Base address of PBC controller, CS4
@@ -228,7 +225,7 @@ static struct imx_fb_videomode mx27ads_modes[] = {
        },
 };
 
-static struct imx_fb_platform_data mx27ads_fb_data = {
+static const struct imx_fb_platform_data mx27ads_fb_data __initconst = {
        .mode = mx27ads_modes,
        .num_modes = ARRAY_SIZE(mx27ads_modes),
 
@@ -272,19 +269,18 @@ static void mx27ads_sdhc2_exit(struct device *dev, void *data)
        free_irq(IRQ_GPIOB(7), data);
 }
 
-static struct imxmmc_platform_data sdhc1_pdata = {
+static const struct imxmmc_platform_data sdhc1_pdata __initconst = {
        .init = mx27ads_sdhc1_init,
        .exit = mx27ads_sdhc1_exit,
 };
 
-static struct imxmmc_platform_data sdhc2_pdata = {
+static const struct imxmmc_platform_data sdhc2_pdata __initconst = {
        .init = mx27ads_sdhc2_init,
        .exit = mx27ads_sdhc2_exit,
 };
 
 static struct platform_device *platform_devices[] __initdata = {
        &mx27ads_nor_mtd_device,
-       &mxc_w1_master_device,
 };
 
 static const struct imxuart_platform_data uart_pdata __initconst = {
@@ -308,12 +304,13 @@ static void __init mx27ads_board_init(void)
        i2c_register_board_info(1, mx27ads_i2c_devices,
                                ARRAY_SIZE(mx27ads_i2c_devices));
        imx27_add_imx_i2c(1, &mx27ads_i2c1_data);
-       mxc_register_device(&mxc_fb_device, &mx27ads_fb_data);
-       mxc_register_device(&mxc_sdhc_device0, &sdhc1_pdata);
-       mxc_register_device(&mxc_sdhc_device1, &sdhc2_pdata);
+       imx27_add_imx_fb(&mx27ads_fb_data);
+       imx27_add_mxc_mmc(0, &sdhc1_pdata);
+       imx27_add_mxc_mmc(1, &sdhc2_pdata);
 
        imx27_add_fec(NULL);
        platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
+       imx27_add_mxc_w1(NULL);
 }
 
 static void __init mx27ads_timer_init(void)