Skip to content

Commit

Permalink
sparc32: clean up io_32.h
Browse files Browse the repository at this point in the history
After introducing asm-generic/io.h a few things could still be cleaned up
o Drop useless macro indirection for sbus_* io access methods
  They were in the past used to hide casts between long and pointers
  but this is no longer so
o Fix function definitions for sbus memory functions so
  return value appear on same line as function name

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Sam Ravnborg authored and David S. Miller committed May 2, 2014
1 parent e1039fb commit c3373da
Showing 1 changed file with 14 additions and 29 deletions.
43 changes: 14 additions & 29 deletions arch/sparc/include/asm/io_32.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,59 +58,48 @@ static inline void _memcpy_toio(volatile void __iomem *dst, const void *src,
* SBus has only one, memory mapped, I/O space.
* We do not need to flip bytes for SBus of course.
*/
static inline u8 _sbus_readb(const volatile void __iomem *addr)
static inline u8 sbus_readb(const volatile void __iomem *addr)
{
return *(__force volatile u8 *)addr;
}

static inline u16 _sbus_readw(const volatile void __iomem *addr)
static inline u16 sbus_readw(const volatile void __iomem *addr)
{
return *(__force volatile u16 *)addr;
}

static inline u32 _sbus_readl(const volatile void __iomem *addr)
static inline u32 sbus_readl(const volatile void __iomem *addr)
{
return *(__force volatile u32 *)addr;
}

static inline void _sbus_writeb(u8 b, volatile void __iomem *addr)
static inline void sbus_writeb(u8 b, volatile void __iomem *addr)
{
*(__force volatile u8 *)addr = b;
}

static inline void _sbus_writew(u16 w, volatile void __iomem *addr)
static inline void sbus_writew(u16 w, volatile void __iomem *addr)
{
*(__force volatile u16 *)addr = w;
}

static inline void _sbus_writel(u32 l, volatile void __iomem *addr)
static inline void sbus_writel(u32 l, volatile void __iomem *addr)
{
*(__force volatile u32 *)addr = l;
}

/*
* The only reason for #define's is to hide casts to unsigned long.
*/
#define sbus_readb(__addr) _sbus_readb(__addr)
#define sbus_readw(__addr) _sbus_readw(__addr)
#define sbus_readl(__addr) _sbus_readl(__addr)
#define sbus_writeb(__b, __addr) _sbus_writeb(__b, __addr)
#define sbus_writew(__w, __addr) _sbus_writew(__w, __addr)
#define sbus_writel(__l, __addr) _sbus_writel(__l, __addr)

static inline void sbus_memset_io(volatile void __iomem *__dst, int c, __kernel_size_t n)
static inline void sbus_memset_io(volatile void __iomem *__dst, int c,
__kernel_size_t n)
{
while(n--) {
sbus_writeb(c, __dst);
__dst++;
}
}



static inline void
_sbus_memcpy_fromio(void *dst, const volatile void __iomem *src,
__kernel_size_t n)
static inline void sbus_memcpy_fromio(void *dst,
const volatile void __iomem *src,
__kernel_size_t n)
{
char *d = dst;

Expand All @@ -121,11 +110,9 @@ _sbus_memcpy_fromio(void *dst, const volatile void __iomem *src,
}
}

#define sbus_memcpy_fromio(d, s, sz) _sbus_memcpy_fromio(d, s, sz)

static inline void
_sbus_memcpy_toio(volatile void __iomem *dst, const void *src,
__kernel_size_t n)
static inline void sbus_memcpy_toio(volatile void __iomem *dst,
const void *src,
__kernel_size_t n)
{
const char *s = src;
volatile void __iomem *d = dst;
Expand All @@ -137,8 +124,6 @@ _sbus_memcpy_toio(volatile void __iomem *dst, const void *src,
}
}

#define sbus_memcpy_toio(d, s, sz) _sbus_memcpy_toio(d, s, sz)

#ifdef __KERNEL__

/*
Expand Down

0 comments on commit c3373da

Please sign in to comment.