From mboxrd@z Thu Jan 1 00:00:00 1970 Message-Id: <20100420092725.436746990@fluff.org.uk> Date: Tue, 20 Apr 2010 10:26:19 +0100 From: Ben Dooks To: linux-arm-kernel@lists.infradead.org Subject: [patch 2/4] kirkwood: allow machines to register RnB callback References: <20100420092617.075835456@fluff.org.uk> Content-Disposition: inline; filename=slinux/arm/kirkwood/allow-mtd-ready-not-busy-registration.patch Cc: Linux MTD List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Add a kirkwood_nand_init_rnb() call to allow boards which have RnB line detection to register this instead of a static delay. Signed-off-by: Ben Dooks Cc: Linux MTD Index: linux-2.6-2.6.32.9/arch/arm/mach-kirkwood/common.c =================================================================== --- linux-2.6-2.6.32.9.orig/arch/arm/mach-kirkwood/common.c 2010-02-23 15:38:51.%N +0000 +++ linux-2.6-2.6.32.9/arch/arm/mach-kirkwood/common.c 2010-03-11 13:25:01.%N +0000 @@ -305,6 +305,15 @@ platform_device_register(&kirkwood_nand_flash); } +void __init kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts, + int (*dev_ready)(struct mtd_info *)) +{ + kirkwood_clk_ctrl |= CGC_RUNIT; + kirkwood_nand_data.parts = parts; + kirkwood_nand_data.nr_parts = nr_parts; + kirkwood_nand_data.dev_ready = dev_ready; + platform_device_register(&kirkwood_nand_flash); +} /***************************************************************************** * SoC RTC Index: linux-2.6-2.6.32.9/arch/arm/mach-kirkwood/common.h =================================================================== --- linux-2.6-2.6.32.9.orig/arch/arm/mach-kirkwood/common.h 2010-02-23 15:38:51.%N +0000 +++ linux-2.6-2.6.32.9/arch/arm/mach-kirkwood/common.h 2010-03-11 13:25:01.%N +0000 @@ -16,6 +16,7 @@ struct mv_sata_platform_data; struct mvsdio_platform_data; struct mtd_partition; +struct mtd_info; /* * Basic Kirkwood init functions used early by machine-setup. @@ -41,6 +42,7 @@ void kirkwood_uart0_init(void); void kirkwood_uart1_init(void); void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay); +void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts, int (*dev_ready)(struct mtd_info *)); extern int kirkwood_tclk; extern struct sys_timer kirkwood_timer;