.. | .. |
---|
26 | 26 | * in the low address range. Architectures for which this is not |
---|
27 | 27 | * true can't use this generic implementation. |
---|
28 | 28 | */ |
---|
29 | | -extern unsigned int ioread8(void __iomem *); |
---|
30 | | -extern unsigned int ioread16(void __iomem *); |
---|
31 | | -extern unsigned int ioread16be(void __iomem *); |
---|
32 | | -extern unsigned int ioread32(void __iomem *); |
---|
33 | | -extern unsigned int ioread32be(void __iomem *); |
---|
| 29 | +extern unsigned int ioread8(const void __iomem *); |
---|
| 30 | +extern unsigned int ioread16(const void __iomem *); |
---|
| 31 | +extern unsigned int ioread16be(const void __iomem *); |
---|
| 32 | +extern unsigned int ioread32(const void __iomem *); |
---|
| 33 | +extern unsigned int ioread32be(const void __iomem *); |
---|
34 | 34 | #ifdef CONFIG_64BIT |
---|
35 | | -extern u64 ioread64(void __iomem *); |
---|
36 | | -extern u64 ioread64be(void __iomem *); |
---|
| 35 | +extern u64 ioread64(const void __iomem *); |
---|
| 36 | +extern u64 ioread64be(const void __iomem *); |
---|
| 37 | +#endif |
---|
| 38 | + |
---|
| 39 | +#ifdef readq |
---|
| 40 | +#define ioread64_lo_hi ioread64_lo_hi |
---|
| 41 | +#define ioread64_hi_lo ioread64_hi_lo |
---|
| 42 | +#define ioread64be_lo_hi ioread64be_lo_hi |
---|
| 43 | +#define ioread64be_hi_lo ioread64be_hi_lo |
---|
| 44 | +extern u64 ioread64_lo_hi(const void __iomem *addr); |
---|
| 45 | +extern u64 ioread64_hi_lo(const void __iomem *addr); |
---|
| 46 | +extern u64 ioread64be_lo_hi(const void __iomem *addr); |
---|
| 47 | +extern u64 ioread64be_hi_lo(const void __iomem *addr); |
---|
37 | 48 | #endif |
---|
38 | 49 | |
---|
39 | 50 | extern void iowrite8(u8, void __iomem *); |
---|
.. | .. |
---|
44 | 55 | #ifdef CONFIG_64BIT |
---|
45 | 56 | extern void iowrite64(u64, void __iomem *); |
---|
46 | 57 | extern void iowrite64be(u64, void __iomem *); |
---|
| 58 | +#endif |
---|
| 59 | + |
---|
| 60 | +#ifdef writeq |
---|
| 61 | +#define iowrite64_lo_hi iowrite64_lo_hi |
---|
| 62 | +#define iowrite64_hi_lo iowrite64_hi_lo |
---|
| 63 | +#define iowrite64be_lo_hi iowrite64be_lo_hi |
---|
| 64 | +#define iowrite64be_hi_lo iowrite64be_hi_lo |
---|
| 65 | +extern void iowrite64_lo_hi(u64 val, void __iomem *addr); |
---|
| 66 | +extern void iowrite64_hi_lo(u64 val, void __iomem *addr); |
---|
| 67 | +extern void iowrite64be_lo_hi(u64 val, void __iomem *addr); |
---|
| 68 | +extern void iowrite64be_hi_lo(u64 val, void __iomem *addr); |
---|
47 | 69 | #endif |
---|
48 | 70 | |
---|
49 | 71 | /* |
---|
.. | .. |
---|
57 | 79 | * memory across multiple ports, use "memcpy_toio()" |
---|
58 | 80 | * and friends. |
---|
59 | 81 | */ |
---|
60 | | -extern void ioread8_rep(void __iomem *port, void *buf, unsigned long count); |
---|
61 | | -extern void ioread16_rep(void __iomem *port, void *buf, unsigned long count); |
---|
62 | | -extern void ioread32_rep(void __iomem *port, void *buf, unsigned long count); |
---|
| 82 | +extern void ioread8_rep(const void __iomem *port, void *buf, unsigned long count); |
---|
| 83 | +extern void ioread16_rep(const void __iomem *port, void *buf, unsigned long count); |
---|
| 84 | +extern void ioread32_rep(const void __iomem *port, void *buf, unsigned long count); |
---|
63 | 85 | |
---|
64 | 86 | extern void iowrite8_rep(void __iomem *port, const void *buf, unsigned long count); |
---|
65 | 87 | extern void iowrite16_rep(void __iomem *port, const void *buf, unsigned long count); |
---|
.. | .. |
---|
72 | 94 | #endif |
---|
73 | 95 | |
---|
74 | 96 | #ifndef ARCH_HAS_IOREMAP_WC |
---|
75 | | -#define ioremap_wc ioremap_nocache |
---|
| 97 | +#define ioremap_wc ioremap |
---|
76 | 98 | #endif |
---|
77 | 99 | |
---|
78 | 100 | #ifndef ARCH_HAS_IOREMAP_WT |
---|
79 | | -#define ioremap_wt ioremap_nocache |
---|
| 101 | +#define ioremap_wt ioremap |
---|
80 | 102 | #endif |
---|
81 | 103 | |
---|
82 | 104 | #ifdef CONFIG_PCI |
---|