diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-11-30 13:34:07 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-01-17 09:17:27 -0500 |
commit | 5eefe7e99537ca3641496185f23b1dc9e76b405c (patch) | |
tree | d868ebc3a0fdfbacfda2f74b59db6f573de936ca /include | |
parent | 3b062da326f9b37d34aa8f80bf9d2f9e74f55c86 (diff) | |
download | u-boot-imx-5eefe7e99537ca3641496185f23b1dc9e76b405c.zip u-boot-imx-5eefe7e99537ca3641496185f23b1dc9e76b405c.tar.gz u-boot-imx-5eefe7e99537ca3641496185f23b1dc9e76b405c.tar.bz2 |
Blackfin: section off the CF/IDE io.h hacks
These need to be rethought, but until that happens, isolate the hack so
that we can extend the common code without breaking things.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-blackfin/io.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/include/asm-blackfin/io.h b/include/asm-blackfin/io.h index 354fb7d..9cb07d4 100644 --- a/include/asm-blackfin/io.h +++ b/include/asm-blackfin/io.h @@ -34,12 +34,6 @@ static inline void sync(void) SSYNC(); } -/* function prototypes for CF support */ -extern void cf_outsw(unsigned short *addr, unsigned short *sect_buf, int words); -extern void cf_insw(unsigned short *sect_buf, unsigned short *addr, int words); -extern unsigned char cf_inb(volatile unsigned char *addr); -extern void cf_outb(unsigned char val, volatile unsigned char *addr); - /* * Given a physical address and a length, return a virtual address * that can be used to access the memory range with the caching @@ -140,12 +134,21 @@ static inline unsigned int readl(const volatile void *addr) #define memcpy_fromio(a, b, c) memcpy((a), (void *)(b), (c)) #define memcpy_toio(a, b, c) memcpy((void *)(a), (b), (c)) -#define inb(addr) cf_inb((volatile unsigned char *)(addr)) -#define outb(x, addr) cf_outb((unsigned char)(x), (volatile unsigned char *)(addr)) - -#define insw(port, addr, count) cf_insw((unsigned short *)addr, (unsigned short *)(port), (count)) - -#define outsw(port, addr, count) cf_outsw((unsigned short *)(port), (unsigned short *)addr, (count)) +#if defined(CONFIG_STAMP_CF) || defined(CONFIG_BFIN_IDE) +/* This hack for CF/IDE needs to be addressed at some point */ +extern void cf_outsw(unsigned short *addr, unsigned short *sect_buf, int words); +extern void cf_insw(unsigned short *sect_buf, unsigned short *addr, int words); +extern unsigned char cf_inb(volatile unsigned char *addr); +extern void cf_outb(unsigned char val, volatile unsigned char *addr); +#undef inb +#undef outb +#undef insw +#undef outsw +#define inb(addr) cf_inb((void *)(addr)) +#define outb(x, addr) cf_outb((unsigned char)(x), (void *)(addr)) +#define insw(port, addr, cnt) cf_insw((void *)(addr), (void *)(port), cnt) +#define outsw(port, addr, cnt) cf_outsw((void *)(port), (void *)(addr), cnt) +#endif #endif #endif |