Commit 1f8d721c authored by Uwe Kleine-König's avatar Uwe Kleine-König

ARM: imx: Change the way nand devices are registered (imx21)

Make use of new mechanism to register a nand device.
Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
parent 66384eed
...@@ -68,6 +68,7 @@ comment "MX21 platforms:" ...@@ -68,6 +68,7 @@ comment "MX21 platforms:"
config MACH_MX21ADS config MACH_MX21ADS
bool "MX21ADS platform" bool "MX21ADS platform"
select IMX_HAVE_PLATFORM_MXC_NAND
help help
Include support for MX21ADS platform. This includes specific Include support for MX21ADS platform. This includes specific
configurations for the board and its peripherals. configurations for the board and its peripherals.
......
/*
* Copyright (C) 2010 Pengutronix
* Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License version 2 as published by the
* Free Software Foundation.
*/
#include <mach/mx21.h>
#include <mach/devices-common.h>
#define imx21_add_mxc_nand(pdata) \
imx_add_mxc_nand_v1(MX21_NFC_BASE_ADDR, MX21_INT_NANDFC, pdata)
...@@ -357,10 +357,6 @@ struct platform_device mxc_w1_master_device = { ...@@ -357,10 +357,6 @@ struct platform_device mxc_w1_master_device = {
.resource = pfx ## _nand_resources, \ .resource = pfx ## _nand_resources, \
} }
#ifdef CONFIG_MACH_MX21
DEFINE_MXC_NAND_DEVICE(imx21, MX21_NFC_BASE_ADDR, MX21_INT_NANDFC);
#endif
#ifdef CONFIG_MACH_MX27 #ifdef CONFIG_MACH_MX27
DEFINE_MXC_NAND_DEVICE(imx27, MX27_NFC_BASE_ADDR, MX27_INT_NANDFC); DEFINE_MXC_NAND_DEVICE(imx27, MX27_NFC_BASE_ADDR, MX27_INT_NANDFC);
#endif #endif
......
...@@ -26,9 +26,6 @@ extern struct platform_device imx2x_uart_device4; ...@@ -26,9 +26,6 @@ extern struct platform_device imx2x_uart_device4;
extern struct platform_device imx2x_uart_device5; extern struct platform_device imx2x_uart_device5;
#endif #endif
extern struct platform_device mxc_w1_master_device; extern struct platform_device mxc_w1_master_device;
#ifdef CONFIG_MACH_MX21
extern struct platform_device imx21_nand_device;
#endif
#ifdef CONFIG_MACH_MX27 #ifdef CONFIG_MACH_MX27
extern struct platform_device imx27_nand_device; extern struct platform_device imx27_nand_device;
#endif #endif
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include <mach/mxc_nand.h> #include <mach/mxc_nand.h>
#include <mach/mmc.h> #include <mach/mmc.h>
#include "devices-imx21.h"
#include "devices.h" #include "devices.h"
/* /*
...@@ -257,7 +258,8 @@ static struct imxmmc_platform_data mx21ads_sdhc_pdata = { ...@@ -257,7 +258,8 @@ static struct imxmmc_platform_data mx21ads_sdhc_pdata = {
.exit = mx21ads_sdhc_exit, .exit = mx21ads_sdhc_exit,
}; };
static struct mxc_nand_platform_data mx21ads_nand_board_info = { static const struct mxc_nand_platform_data
mx21ads_nand_board_info __initconst = {
.width = 1, .width = 1,
.hw_ecc = 1, .hw_ecc = 1,
}; };
...@@ -298,7 +300,7 @@ static void __init mx21ads_board_init(void) ...@@ -298,7 +300,7 @@ static void __init mx21ads_board_init(void)
mxc_register_device(&imx2x_uart_device3, &uart_pdata); mxc_register_device(&imx2x_uart_device3, &uart_pdata);
mxc_register_device(&mxc_fb_device, &mx21ads_fb_data); mxc_register_device(&mxc_fb_device, &mx21ads_fb_data);
mxc_register_device(&mxc_sdhc_device0, &mx21ads_sdhc_pdata); mxc_register_device(&mxc_sdhc_device0, &mx21ads_sdhc_pdata);
mxc_register_device(&imx21_nand_device, &mx21ads_nand_board_info); imx21_add_mxc_nand(&mx21ads_nand_board_info);
platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment