Loading arch/sh/include/asm/io.h +3 −9 Original line number Diff line number Diff line Loading @@ -90,15 +90,11 @@ #define ctrl_outl __raw_writel #define ctrl_outq __raw_writeq extern unsigned long generic_io_base; static inline void ctrl_delay(void) { #ifdef CONFIG_CPU_SH4 __raw_readw(CCN_PVR); #elif defined(P2SEG) __raw_readw(P2SEG); #else #error "Need a dummy address for delay" #endif __raw_readw(generic_io_base); } #define __BUILD_MEMORY_STRING(bwlq, type) \ Loading Loading @@ -186,8 +182,6 @@ __BUILD_MEMORY_STRING(q, u64) #define IO_SPACE_LIMIT 0xffffffff extern unsigned long generic_io_base; /* * This function provides a method for the generic case where a * board-specific ioport_map simply needs to return the port + some Loading arch/sh/kernel/io_generic.c +3 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ #define dummy_read() #endif unsigned long generic_io_base; unsigned long generic_io_base = 0; u8 generic_inb(unsigned long port) { Loading Loading @@ -147,8 +147,10 @@ void generic_outsl(unsigned long port, const void *src, unsigned long count) void __iomem *generic_ioport_map(unsigned long addr, unsigned int size) { #ifdef P1SEG if (PXSEG(addr) >= P1SEG) return (void __iomem *)addr; #endif return (void __iomem *)(addr + generic_io_base); } Loading arch/sh/kernel/machvec.c +4 −0 Original line number Diff line number Diff line Loading @@ -135,5 +135,9 @@ void __init sh_mv_setup(void) if (!sh_mv.mv_nr_irqs) sh_mv.mv_nr_irqs = NR_IRQS; #ifdef P2SEG __set_io_port_base(P2SEG); #else __set_io_port_base(0); #endif } Loading
arch/sh/include/asm/io.h +3 −9 Original line number Diff line number Diff line Loading @@ -90,15 +90,11 @@ #define ctrl_outl __raw_writel #define ctrl_outq __raw_writeq extern unsigned long generic_io_base; static inline void ctrl_delay(void) { #ifdef CONFIG_CPU_SH4 __raw_readw(CCN_PVR); #elif defined(P2SEG) __raw_readw(P2SEG); #else #error "Need a dummy address for delay" #endif __raw_readw(generic_io_base); } #define __BUILD_MEMORY_STRING(bwlq, type) \ Loading Loading @@ -186,8 +182,6 @@ __BUILD_MEMORY_STRING(q, u64) #define IO_SPACE_LIMIT 0xffffffff extern unsigned long generic_io_base; /* * This function provides a method for the generic case where a * board-specific ioport_map simply needs to return the port + some Loading
arch/sh/kernel/io_generic.c +3 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ #define dummy_read() #endif unsigned long generic_io_base; unsigned long generic_io_base = 0; u8 generic_inb(unsigned long port) { Loading Loading @@ -147,8 +147,10 @@ void generic_outsl(unsigned long port, const void *src, unsigned long count) void __iomem *generic_ioport_map(unsigned long addr, unsigned int size) { #ifdef P1SEG if (PXSEG(addr) >= P1SEG) return (void __iomem *)addr; #endif return (void __iomem *)(addr + generic_io_base); } Loading
arch/sh/kernel/machvec.c +4 −0 Original line number Diff line number Diff line Loading @@ -135,5 +135,9 @@ void __init sh_mv_setup(void) if (!sh_mv.mv_nr_irqs) sh_mv.mv_nr_irqs = NR_IRQS; #ifdef P2SEG __set_io_port_base(P2SEG); #else __set_io_port_base(0); #endif }