Skip to content

Commit 4d182c5

Browse files
committed
parisc: stop using asm-generic/iomap.h
parisc uses custom iomap helpers to map bus specific function calls into a linear __iomem token, but it tries to use the declarations from the x86 "generic iomap" code. Untangle the two by duplicating the required declations and dropping the #include that pulls in more stuff that is not needed here, to allow simplify the generic version later. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1 parent 2494fce commit 4d182c5

1 file changed

Lines changed: 27 additions & 9 deletions

File tree

  • arch/parisc/include/asm

arch/parisc/include/asm/io.h

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -227,36 +227,54 @@ extern void outsl (unsigned long port, const void *src, unsigned long count);
227227
#define F_EXTEND(x) ((unsigned long)((x) | (0xffffffff00000000ULL)))
228228

229229
#ifdef CONFIG_64BIT
230-
#define ioread64 ioread64
231-
#define ioread64be ioread64be
232-
#define iowrite64 iowrite64
233-
#define iowrite64be iowrite64be
234230
extern u64 ioread64(const void __iomem *addr);
235231
extern u64 ioread64be(const void __iomem *addr);
232+
#define ioread64 ioread64
233+
#define ioread64be ioread64be
234+
236235
extern void iowrite64(u64 val, void __iomem *addr);
237236
extern void iowrite64be(u64 val, void __iomem *addr);
237+
#define iowrite64 iowrite64
238+
#define iowrite64be iowrite64be
238239
#endif
239240

240-
#include <asm-generic/iomap.h>
241-
/*
242-
* These get provided from <asm-generic/iomap.h> since parisc does not
243-
* select GENERIC_IOMAP.
244-
*/
241+
extern void __iomem *ioport_map(unsigned long port, unsigned int nr);
242+
extern void ioport_unmap(void __iomem *);
245243
#define ioport_map ioport_map
246244
#define ioport_unmap ioport_unmap
245+
246+
extern unsigned int ioread8(const void __iomem *);
247+
extern unsigned int ioread16(const void __iomem *);
248+
extern unsigned int ioread16be(const void __iomem *);
249+
extern unsigned int ioread32(const void __iomem *);
250+
extern unsigned int ioread32be(const void __iomem *);
247251
#define ioread8 ioread8
248252
#define ioread16 ioread16
249253
#define ioread32 ioread32
250254
#define ioread16be ioread16be
251255
#define ioread32be ioread32be
256+
257+
extern void iowrite8(u8, void __iomem *);
258+
extern void iowrite16(u16, void __iomem *);
259+
extern void iowrite16be(u16, void __iomem *);
260+
extern void iowrite32(u32, void __iomem *);
261+
extern void iowrite32be(u32, void __iomem *);
252262
#define iowrite8 iowrite8
253263
#define iowrite16 iowrite16
254264
#define iowrite32 iowrite32
255265
#define iowrite16be iowrite16be
256266
#define iowrite32be iowrite32be
267+
268+
extern void ioread8_rep(const void __iomem *port, void *buf, unsigned long count);
269+
extern void ioread16_rep(const void __iomem *port, void *buf, unsigned long count);
270+
extern void ioread32_rep(const void __iomem *port, void *buf, unsigned long count);
257271
#define ioread8_rep ioread8_rep
258272
#define ioread16_rep ioread16_rep
259273
#define ioread32_rep ioread32_rep
274+
275+
extern void iowrite8_rep(void __iomem *port, const void *buf, unsigned long count);
276+
extern void iowrite16_rep(void __iomem *port, const void *buf, unsigned long count);
277+
extern void iowrite32_rep(void __iomem *port, const void *buf, unsigned long count);
260278
#define iowrite8_rep iowrite8_rep
261279
#define iowrite16_rep iowrite16_rep
262280
#define iowrite32_rep iowrite32_rep

0 commit comments

Comments
 (0)