]>
Commit | Line | Data |
---|---|---|
1da177e4 | 1 | /* |
1da177e4 | 2 | * S390 version |
a53c8fab | 3 | * Copyright IBM Corp. 1999 |
1da177e4 LT |
4 | * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com) |
5 | * | |
6 | * Derived from "include/asm-i386/io.h" | |
7 | */ | |
8 | ||
9 | #ifndef _S390_IO_H | |
10 | #define _S390_IO_H | |
11 | ||
cd248341 | 12 | #include <linux/kernel.h> |
1da177e4 | 13 | #include <asm/page.h> |
cd248341 | 14 | #include <asm/pci_io.h> |
1da177e4 | 15 | |
576ebd74 | 16 | #define xlate_dev_mem_ptr xlate_dev_mem_ptr |
4707a341 TR |
17 | void *xlate_dev_mem_ptr(phys_addr_t phys); |
18 | #define unxlate_dev_mem_ptr unxlate_dev_mem_ptr | |
19 | void unxlate_dev_mem_ptr(phys_addr_t phys, void *addr); | |
1da177e4 LT |
20 | |
21 | /* | |
22 | * Convert a virtual cached pointer to an uncached pointer | |
23 | */ | |
24 | #define xlate_dev_kmem_ptr(p) p | |
25 | ||
cd248341 JG |
26 | #define IO_SPACE_LIMIT 0 |
27 | ||
28 | #ifdef CONFIG_PCI | |
29 | ||
30 | #define ioremap_nocache(addr, size) ioremap(addr, size) | |
31 | #define ioremap_wc ioremap_nocache | |
556269c1 | 32 | #define ioremap_wt ioremap_nocache |
cd248341 | 33 | |
cd248341 JG |
34 | static inline void __iomem *ioremap(unsigned long offset, unsigned long size) |
35 | { | |
36 | return (void __iomem *) offset; | |
37 | } | |
38 | ||
39 | static inline void iounmap(volatile void __iomem *addr) | |
40 | { | |
41 | } | |
42 | ||
99e97b71 FB |
43 | static inline void __iomem *ioport_map(unsigned long port, unsigned int nr) |
44 | { | |
45 | return NULL; | |
46 | } | |
47 | ||
48 | static inline void ioport_unmap(void __iomem *p) | |
49 | { | |
50 | } | |
51 | ||
cd248341 JG |
52 | /* |
53 | * s390 needs a private implementation of pci_iomap since ioremap with its | |
54 | * offset parameter isn't sufficient. That's because BAR spaces are not | |
55 | * disjunctive on s390 so we need the bar parameter of pci_iomap to find | |
56 | * the corresponding device and create the mapping cookie. | |
57 | */ | |
58 | #define pci_iomap pci_iomap | |
59 | #define pci_iounmap pci_iounmap | |
60 | ||
61 | #define memcpy_fromio(dst, src, count) zpci_memcpy_fromio(dst, src, count) | |
62 | #define memcpy_toio(dst, src, count) zpci_memcpy_toio(dst, src, count) | |
63 | #define memset_io(dst, val, count) zpci_memset_io(dst, val, count) | |
64 | ||
65 | #define __raw_readb zpci_read_u8 | |
66 | #define __raw_readw zpci_read_u16 | |
67 | #define __raw_readl zpci_read_u32 | |
68 | #define __raw_readq zpci_read_u64 | |
69 | #define __raw_writeb zpci_write_u8 | |
70 | #define __raw_writew zpci_write_u16 | |
71 | #define __raw_writel zpci_write_u32 | |
72 | #define __raw_writeq zpci_write_u64 | |
73 | ||
74 | #endif /* CONFIG_PCI */ | |
75 | ||
76 | #include <asm-generic/io.h> | |
77 | ||
1da177e4 | 78 | #endif |