Move ACCESS_ONCE() to <linux/compiler.h>
[linux-2.6/openmoko-kernel/knife-kernel.git] / include / asm-m68knommu / mcfpci.h
blobf1507dd06ec6e731746d36471b2e4b01e54b6e49
1 /****************************************************************************/
3 /*
4 * mcfpci.h -- PCI bridge on ColdFire eval boards.
6 * (C) Copyright 2000, Greg Ungerer (gerg@snapgear.com)
7 * (C) Copyright 2000, Lineo Inc. (www.lineo.com)
8 */
10 /****************************************************************************/
11 #ifndef mcfpci_h
12 #define mcfpci_h
13 /****************************************************************************/
16 #ifdef CONFIG_PCI
19 * Address regions in the PCI address space are not mapped into the
20 * normal memory space of the ColdFire. They must be accessed via
21 * handler routines. This is easy for I/O space (inb/outb/etc) but
22 * needs some code changes to support ordinary memory. Interrupts
23 * also need to be vectored through the PCI handler first, then it
24 * will call the actual driver sub-handlers.
28 * Un-define all the standard I/O access routines.
30 #undef inb
31 #undef inw
32 #undef inl
33 #undef inb_p
34 #undef inw_p
35 #undef insb
36 #undef insw
37 #undef insl
38 #undef outb
39 #undef outw
40 #undef outl
41 #undef outb_p
42 #undef outw_p
43 #undef outsb
44 #undef outsw
45 #undef outsl
47 #undef request_irq
48 #undef free_irq
50 #undef bus_to_virt
51 #undef virt_to_bus
55 * Re-direct all I/O memory accesses functions to PCI specific ones.
57 #define inb pci_inb
58 #define inw pci_inw
59 #define inl pci_inl
60 #define inb_p pci_inb
61 #define inw_p pci_inw
62 #define insb pci_insb
63 #define insw pci_insw
64 #define insl pci_insl
66 #define outb pci_outb
67 #define outw pci_outw
68 #define outl pci_outl
69 #define outb_p pci_outb
70 #define outw_p pci_outw
71 #define outsb pci_outsb
72 #define outsw pci_outsw
73 #define outsl pci_outsl
75 #define request_irq pci_request_irq
76 #define free_irq pci_free_irq
78 #define virt_to_bus pci_virt_to_bus
79 #define bus_to_virt pci_bus_to_virt
81 #define CONFIG_COMEMPCI 1
85 * Prototypes of the real PCI functions (defined in bios32.c).
87 unsigned char pci_inb(unsigned int addr);
88 unsigned short pci_inw(unsigned int addr);
89 unsigned int pci_inl(unsigned int addr);
90 void pci_insb(void *addr, void *buf, int len);
91 void pci_insw(void *addr, void *buf, int len);
92 void pci_insl(void *addr, void *buf, int len);
94 void pci_outb(unsigned char val, unsigned int addr);
95 void pci_outw(unsigned short val, unsigned int addr);
96 void pci_outl(unsigned int val, unsigned int addr);
97 void pci_outsb(void *addr, void *buf, int len);
98 void pci_outsw(void *addr, void *buf, int len);
99 void pci_outsl(void *addr, void *buf, int len);
101 int pci_request_irq(unsigned int irq,
102 void (*handler)(int, void *, struct pt_regs *),
103 unsigned long flags,
104 const char *device,
105 void *dev_id);
106 void pci_free_irq(unsigned int irq, void *dev_id);
108 void *pci_bmalloc(int size);
109 void pci_bmfree(void *bmp, int len);
110 void pci_copytoshmem(unsigned long bmp, void *src, int size);
111 void pci_copyfromshmem(void *dst, unsigned long bmp, int size);
112 unsigned long pci_virt_to_bus(volatile void *address);
113 void *pci_bus_to_virt(unsigned long address);
114 void pci_bmcpyto(void *dst, void *src, int len);
115 void pci_bmcpyfrom(void *dst, void *src, int len);
117 #endif /* CONFIG_PCI */
118 /****************************************************************************/
119 #endif /* mcfpci_h */