blob: 26b3f6e787bc0c11799ba333ec69158d1d7dc177 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* include/asm-ppc/mpc8260_pci9.h
2 *
3 * Undefine the PCI read* and in* macros so we can define them as functions
4 * that implement the workaround for the MPC8260 device erratum PCI 9.
5 *
6 * This header file should only be included at the end of include/asm-ppc/io.h
7 * and never included directly anywhere else.
8 *
9 * Author: andy_lowe@mvista.com
10 *
11 * 2003 (c) MontaVista Software, Inc. This file is licensed under
12 * the terms of the GNU General Public License version 2. This program
13 * is licensed "as is" without any warranty of any kind, whether express
14 * or implied.
15 */
16#ifndef _PPC_IO_H
17#error "Do not include mpc8260_pci9.h directly."
18#endif
19
20#ifdef __KERNEL__
21#ifndef __CONFIG_8260_PCI9_DEFS
22#define __CONFIG_8260_PCI9_DEFS
23
24#undef readb
25#undef readw
26#undef readl
27#undef insb
28#undef insw
29#undef insl
30#undef inb
31#undef inw
32#undef inl
33#undef insw_ns
34#undef insl_ns
35#undef memcpy_fromio
36
37extern int readb(volatile unsigned char *addr);
38extern int readw(volatile unsigned short *addr);
39extern unsigned readl(volatile unsigned *addr);
40extern void insb(unsigned port, void *buf, int ns);
41extern void insw(unsigned port, void *buf, int ns);
42extern void insl(unsigned port, void *buf, int nl);
43extern int inb(unsigned port);
44extern int inw(unsigned port);
45extern unsigned inl(unsigned port);
46extern void insw_ns(unsigned port, void *buf, int ns);
47extern void insl_ns(unsigned port, void *buf, int nl);
48extern void *memcpy_fromio(void *dest, unsigned long src, size_t count);
49
50#endif /* !__CONFIG_8260_PCI9_DEFS */
51#endif /* __KERNEL__ */