Loading arch/parisc/Kconfig +0 −11 Original line number Diff line number Diff line Loading @@ -138,17 +138,6 @@ config 64BIT enable this option otherwise. The 64bit kernel is significantly bigger and slower than the 32bit one. config HPPA_IOREMAP bool "Enable IOREMAP functionality (EXPERIMENTAL)" depends on EXPERIMENTAL default n help Enable this option if you want to enable real IOREMAPPING on PA-RISC. Currently we just "simulate" I/O remapping, and enabling this option will just crash your machine. Say N here, unless you are a real PA-RISC Linux kernel hacker. config SMP bool "Symmetric multi-processing support" ---help--- Loading arch/parisc/mm/ioremap.c +2 −14 Original line number Diff line number Diff line Loading @@ -72,7 +72,6 @@ remap_area_pmd(pmd_t *pmd, unsigned long address, unsigned long size, return 0; } #ifdef CONFIG_HPPA_IOREMAP static int remap_area_pages(unsigned long address, unsigned long phys_addr, unsigned long size, unsigned long flags) Loading Loading @@ -114,7 +113,6 @@ remap_area_pages(unsigned long address, unsigned long phys_addr, return error; } #endif /* CONFIG_HPPA_IOREMAP */ #ifdef CONFIG_DEBUG_IOREMAP static unsigned long last = 0; Loading Loading @@ -154,21 +152,16 @@ EXPORT_SYMBOL(__raw_bad_addr); */ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags) { #if !defined(CONFIG_HPPA_IOREMAP) #ifdef CONFIG_EISA #error FIXME. unsigned long end = phys_addr + size - 1; /* Support EISA addresses */ if ((phys_addr >= 0x00080000 && end < 0x000fffff) || (phys_addr >= 0x00500000 && end < 0x03bfffff)) { phys_addr |= 0xfc000000; } #ifdef CONFIG_DEBUG_IOREMAP return (void __iomem *)(phys_addr - (0x1UL << NYBBLE_SHIFT)); #else return (void __iomem *)phys_addr; #endif #else void *addr; struct vm_struct *area; unsigned long offset, last_addr; Loading Loading @@ -216,15 +209,10 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l } return (void __iomem *) (offset + (char *)addr); #endif } void iounmap(void __iomem *addr) { #ifdef CONFIG_HPPA_IOREMAP if (addr > high_memory) return vfree((void *) (PAGE_MASK & (unsigned long __force) addr)); #else return; #endif } include/asm-parisc/io.h +1 −57 Original line number Diff line number Diff line Loading @@ -176,12 +176,7 @@ extern inline void * ioremap_nocache(unsigned long offset, unsigned long size) extern void iounmap(void __iomem *addr); /* * CONFIG_HPPA_IOREMAP is the magic flag to enable or disable real ioremap() * functionality. It's currently disabled because it may not work on some * machines. */ #ifdef CONFIG_HPPA_IOREMAP static inline unsigned char __raw_readb(const volatile void __iomem *addr) { return (*(volatile unsigned char __force *) (addr)); Loading Loading @@ -215,57 +210,6 @@ static inline void __raw_writeq(unsigned long long b, volatile void __iomem *add { *(volatile unsigned long long __force *) addr = b; } #else /* !CONFIG_HPPA_IOREMAP */ static inline unsigned char __raw_readb(const volatile void __iomem *addr) { __raw_check_addr(addr); return gsc_readb((unsigned long) addr); } static inline unsigned short __raw_readw(const volatile void __iomem *addr) { __raw_check_addr(addr); return gsc_readw((unsigned long) addr); } static inline unsigned int __raw_readl(const volatile void __iomem *addr) { __raw_check_addr(addr); return gsc_readl((unsigned long) addr); } static inline unsigned long long __raw_readq(const volatile void __iomem *addr) { __raw_check_addr(addr); return gsc_readq((unsigned long) addr); } static inline void __raw_writeb(unsigned char b, volatile void __iomem *addr) { __raw_check_addr(addr); gsc_writeb(b, (unsigned long) addr); } static inline void __raw_writew(unsigned short b, volatile void __iomem *addr) { __raw_check_addr(addr); gsc_writew(b, (unsigned long) addr); } static inline void __raw_writel(unsigned int b, volatile void __iomem *addr) { __raw_check_addr(addr); gsc_writel(b, (unsigned long) addr); } static inline void __raw_writeq(unsigned long long b, volatile void __iomem *addr) { __raw_check_addr(addr); gsc_writeq(b, (unsigned long) addr); } #endif /* !CONFIG_HPPA_IOREMAP */ /* readb can never be const, so use __fswab instead of le*_to_cpu */ #define readb(addr) __raw_readb(addr) Loading Loading
arch/parisc/Kconfig +0 −11 Original line number Diff line number Diff line Loading @@ -138,17 +138,6 @@ config 64BIT enable this option otherwise. The 64bit kernel is significantly bigger and slower than the 32bit one. config HPPA_IOREMAP bool "Enable IOREMAP functionality (EXPERIMENTAL)" depends on EXPERIMENTAL default n help Enable this option if you want to enable real IOREMAPPING on PA-RISC. Currently we just "simulate" I/O remapping, and enabling this option will just crash your machine. Say N here, unless you are a real PA-RISC Linux kernel hacker. config SMP bool "Symmetric multi-processing support" ---help--- Loading
arch/parisc/mm/ioremap.c +2 −14 Original line number Diff line number Diff line Loading @@ -72,7 +72,6 @@ remap_area_pmd(pmd_t *pmd, unsigned long address, unsigned long size, return 0; } #ifdef CONFIG_HPPA_IOREMAP static int remap_area_pages(unsigned long address, unsigned long phys_addr, unsigned long size, unsigned long flags) Loading Loading @@ -114,7 +113,6 @@ remap_area_pages(unsigned long address, unsigned long phys_addr, return error; } #endif /* CONFIG_HPPA_IOREMAP */ #ifdef CONFIG_DEBUG_IOREMAP static unsigned long last = 0; Loading Loading @@ -154,21 +152,16 @@ EXPORT_SYMBOL(__raw_bad_addr); */ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags) { #if !defined(CONFIG_HPPA_IOREMAP) #ifdef CONFIG_EISA #error FIXME. unsigned long end = phys_addr + size - 1; /* Support EISA addresses */ if ((phys_addr >= 0x00080000 && end < 0x000fffff) || (phys_addr >= 0x00500000 && end < 0x03bfffff)) { phys_addr |= 0xfc000000; } #ifdef CONFIG_DEBUG_IOREMAP return (void __iomem *)(phys_addr - (0x1UL << NYBBLE_SHIFT)); #else return (void __iomem *)phys_addr; #endif #else void *addr; struct vm_struct *area; unsigned long offset, last_addr; Loading Loading @@ -216,15 +209,10 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l } return (void __iomem *) (offset + (char *)addr); #endif } void iounmap(void __iomem *addr) { #ifdef CONFIG_HPPA_IOREMAP if (addr > high_memory) return vfree((void *) (PAGE_MASK & (unsigned long __force) addr)); #else return; #endif }
include/asm-parisc/io.h +1 −57 Original line number Diff line number Diff line Loading @@ -176,12 +176,7 @@ extern inline void * ioremap_nocache(unsigned long offset, unsigned long size) extern void iounmap(void __iomem *addr); /* * CONFIG_HPPA_IOREMAP is the magic flag to enable or disable real ioremap() * functionality. It's currently disabled because it may not work on some * machines. */ #ifdef CONFIG_HPPA_IOREMAP static inline unsigned char __raw_readb(const volatile void __iomem *addr) { return (*(volatile unsigned char __force *) (addr)); Loading Loading @@ -215,57 +210,6 @@ static inline void __raw_writeq(unsigned long long b, volatile void __iomem *add { *(volatile unsigned long long __force *) addr = b; } #else /* !CONFIG_HPPA_IOREMAP */ static inline unsigned char __raw_readb(const volatile void __iomem *addr) { __raw_check_addr(addr); return gsc_readb((unsigned long) addr); } static inline unsigned short __raw_readw(const volatile void __iomem *addr) { __raw_check_addr(addr); return gsc_readw((unsigned long) addr); } static inline unsigned int __raw_readl(const volatile void __iomem *addr) { __raw_check_addr(addr); return gsc_readl((unsigned long) addr); } static inline unsigned long long __raw_readq(const volatile void __iomem *addr) { __raw_check_addr(addr); return gsc_readq((unsigned long) addr); } static inline void __raw_writeb(unsigned char b, volatile void __iomem *addr) { __raw_check_addr(addr); gsc_writeb(b, (unsigned long) addr); } static inline void __raw_writew(unsigned short b, volatile void __iomem *addr) { __raw_check_addr(addr); gsc_writew(b, (unsigned long) addr); } static inline void __raw_writel(unsigned int b, volatile void __iomem *addr) { __raw_check_addr(addr); gsc_writel(b, (unsigned long) addr); } static inline void __raw_writeq(unsigned long long b, volatile void __iomem *addr) { __raw_check_addr(addr); gsc_writeq(b, (unsigned long) addr); } #endif /* !CONFIG_HPPA_IOREMAP */ /* readb can never be const, so use __fswab instead of le*_to_cpu */ #define readb(addr) __raw_readb(addr) Loading