Skip to content

Commit

Permalink
ARM: imx: Change the way nand devices are registered (imx21)
Browse files Browse the repository at this point in the history
Make use of new mechanism to register a nand device.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  • Loading branch information
Uwe Kleine-König committed Jun 30, 2010
1 parent 66384ee commit 1f8d721
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 9 deletions.
1 change: 1 addition & 0 deletions arch/arm/mach-imx/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ comment "MX21 platforms:"

config MACH_MX21ADS
bool "MX21ADS platform"
select IMX_HAVE_PLATFORM_MXC_NAND
help
Include support for MX21ADS platform. This includes specific
configurations for the board and its peripherals.
Expand Down
13 changes: 13 additions & 0 deletions arch/arm/mach-imx/devices-imx21.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
* 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)
4 changes: 0 additions & 4 deletions arch/arm/mach-imx/devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -357,10 +357,6 @@ struct platform_device mxc_w1_master_device = {
.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
DEFINE_MXC_NAND_DEVICE(imx27, MX27_NFC_BASE_ADDR, MX27_INT_NANDFC);
#endif
Expand Down
3 changes: 0 additions & 3 deletions arch/arm/mach-imx/devices.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@ extern struct platform_device imx2x_uart_device4;
extern struct platform_device imx2x_uart_device5;
#endif
extern struct platform_device mxc_w1_master_device;
#ifdef CONFIG_MACH_MX21
extern struct platform_device imx21_nand_device;
#endif
#ifdef CONFIG_MACH_MX27
extern struct platform_device imx27_nand_device;
#endif
Expand Down
6 changes: 4 additions & 2 deletions arch/arm/mach-imx/mach-mx21ads.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
#include <mach/mxc_nand.h>
#include <mach/mmc.h>

#include "devices-imx21.h"
#include "devices.h"

/*
Expand Down Expand Up @@ -257,7 +258,8 @@ static struct imxmmc_platform_data mx21ads_sdhc_pdata = {
.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,
.hw_ecc = 1,
};
Expand Down Expand Up @@ -298,7 +300,7 @@ static void __init mx21ads_board_init(void)
mxc_register_device(&imx2x_uart_device3, &uart_pdata);
mxc_register_device(&mxc_fb_device, &mx21ads_fb_data);
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));
}
Expand Down

0 comments on commit 1f8d721

Please sign in to comment.