mtd: kirkwood: allow machines to register RnB callback

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Thu May 13 21:59:01 EDT 2010


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=010937ec9a550e2df97f87252a9d12d8a534c6d8
Commit:     010937ec9a550e2df97f87252a9d12d8a534c6d8
Parent:     eedfea252690435858722a8da1109d104d639087
Author:     Ben Dooks <ben at simtec.co.uk>
AuthorDate: Tue Apr 20 10:26:19 2010 +0100
Committer:  David Woodhouse <David.Woodhouse at intel.com>
CommitDate: Fri May 14 01:04:34 2010 +0100

    mtd: kirkwood: allow machines to register RnB callback
    
    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 <ben at simtec.co.uk>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
---
 arch/arm/mach-kirkwood/common.c |    9 +++++++++
 arch/arm/mach-kirkwood/common.h |    2 ++
 2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index f759ca2..6072eaa 100644
--- a/arch/arm/mach-kirkwood/common.c
+++ b/arch/arm/mach-kirkwood/common.c
@@ -305,6 +305,15 @@ void __init kirkwood_nand_init(struct mtd_partition *parts, int nr_parts,
 	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
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h
index d7de434..05e8a8a 100644
--- a/arch/arm/mach-kirkwood/common.h
+++ b/arch/arm/mach-kirkwood/common.h
@@ -16,6 +16,7 @@ struct mv643xx_eth_platform_data;
 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_i2c_init(void);
 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;



More information about the linux-mtd-cvs mailing list