|
@@ -24,7 +24,11 @@
|
|
#include <linux/platform_device.h>
|
|
#include <linux/platform_device.h>
|
|
|
|
|
|
#include <asm/io.h>
|
|
#include <asm/io.h>
|
|
|
|
+#ifdef CONFIG_40x
|
|
|
|
+#include <asm/ibm405.h>
|
|
|
|
+#else
|
|
#include <asm/ibm44x.h>
|
|
#include <asm/ibm44x.h>
|
|
|
|
+#endif
|
|
|
|
|
|
struct ndfc_nand_mtd {
|
|
struct ndfc_nand_mtd {
|
|
struct mtd_info mtd;
|
|
struct mtd_info mtd;
|
|
@@ -230,7 +234,11 @@ static int ndfc_nand_probe(struct platform_device *pdev)
|
|
struct ndfc_controller *ndfc = &ndfc_ctrl;
|
|
struct ndfc_controller *ndfc = &ndfc_ctrl;
|
|
unsigned long long phys = settings->ndfc_erpn | res->start;
|
|
unsigned long long phys = settings->ndfc_erpn | res->start;
|
|
|
|
|
|
|
|
+#ifndef CONFIG_PHYS_64BIT
|
|
|
|
+ ndfc->ndfcbase = ioremap((phys_addr_t)phys, res->end - res->start + 1);
|
|
|
|
+#else
|
|
ndfc->ndfcbase = ioremap64(phys, res->end - res->start + 1);
|
|
ndfc->ndfcbase = ioremap64(phys, res->end - res->start + 1);
|
|
|
|
+#endif
|
|
if (!ndfc->ndfcbase) {
|
|
if (!ndfc->ndfcbase) {
|
|
printk(KERN_ERR "NDFC: ioremap failed\n");
|
|
printk(KERN_ERR "NDFC: ioremap failed\n");
|
|
return -EIO;
|
|
return -EIO;
|