summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/arch
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-12-10 10:38:07 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-12-10 10:38:07 +0000
commitc586ec0f293f11996e442886b5767c697b87f728 (patch)
tree86d51c817eeda7e208ecfd65f62ee39d87c3058a /target/linux/ar71xx/files/arch
parente333d81785a82a61cb6c2d7a761ddb4c9486842d (diff)
ar71xx: ar934x_nfc: allow to control DMA data swap via platform data
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34588 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/files/arch')
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.c5
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.h4
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c1
3 files changed, 10 insertions, 0 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.c
index f330395fe..6155f70fb 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.c
@@ -80,6 +80,11 @@ void __init ath79_nfc_set_scan_fixup(int (*f)(struct mtd_info *mtd))
ath79_nfc_data.scan_fixup = f;
}
+void __init ath79_nfc_set_swap_dma(bool enable)
+{
+ ath79_nfc_data.swap_dma = enable;
+}
+
void __init ath79_nfc_set_parts(struct mtd_partition *parts, int nr_parts)
{
ath79_nfc_data.parts = parts;
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.h b/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.h
index 1fc4b807b..46a090d9b 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.h
+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.h
@@ -11,16 +11,20 @@
#ifndef _ATH79_DEV_NFC_H
#define _ATH79_DEV_NFC_H
+struct mtd_partition;
+
#ifdef CONFIG_ATH79_DEV_NFC
void ath79_nfc_set_parts(struct mtd_partition *parts, int nr_parts);
void ath79_nfc_set_select_chip(void (*f)(int chip_no));
void ath79_nfc_set_scan_fixup(int (*f)(struct mtd_info *mtd));
+void ath79_nfc_set_swap_dma(bool enable);
void ath79_register_nfc(void);
#else
static inline void ath79_nfc_set_parts(struct mtd_partition *parts,
int nr_parts) {}
static inline void ath79_nfc_set_select_chip(void (*f)(int chip_no)) {}
static inline void ath79_nfc_set_scan_fixup(int (*f)(struct mtd_info *mtd)) {}
+static inline void ath79_nfc_set_swap_dma(bool enable) {}
static inline void ath79_register_nfc(void) {}
#endif
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c
index 933a45130..c7b985863 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c
@@ -200,6 +200,7 @@ static void __init rb2011_nand_init(void)
ath79_nfc_set_parts(rb2011_nand_partitions,
ARRAY_SIZE(rb2011_nand_partitions));
ath79_nfc_set_select_chip(rb2011_nand_select_chip);
+ ath79_nfc_set_swap_dma(true);
ath79_register_nfc();
}