Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

parisc: Don't hardcode PSW values in gsc_*() functions

Signed-off-by: Helge Deller <deller@gmx.de>

+8 -8
+8 -8
arch/parisc/include/asm/io.h
··· 34 34 unsigned char ret; 35 35 36 36 __asm__ __volatile__( 37 - " rsm 2,%0\n" 37 + " rsm %3,%0\n" 38 38 " ldbx 0(%2),%1\n" 39 39 " mtsm %0\n" 40 - : "=&r" (flags), "=r" (ret) : "r" (addr) ); 40 + : "=&r" (flags), "=r" (ret) : "r" (addr), "i" (PSW_SM_D) ); 41 41 42 42 return ret; 43 43 } ··· 48 48 unsigned short ret; 49 49 50 50 __asm__ __volatile__( 51 - " rsm 2,%0\n" 51 + " rsm %3,%0\n" 52 52 " ldhx 0(%2),%1\n" 53 53 " mtsm %0\n" 54 - : "=&r" (flags), "=r" (ret) : "r" (addr) ); 54 + : "=&r" (flags), "=r" (ret) : "r" (addr), "i" (PSW_SM_D) ); 55 55 56 56 return ret; 57 57 } ··· 87 87 { 88 88 long flags; 89 89 __asm__ __volatile__( 90 - " rsm 2,%0\n" 90 + " rsm %3,%0\n" 91 91 " stbs %1,0(%2)\n" 92 92 " mtsm %0\n" 93 - : "=&r" (flags) : "r" (val), "r" (addr) ); 93 + : "=&r" (flags) : "r" (val), "r" (addr), "i" (PSW_SM_D) ); 94 94 } 95 95 96 96 static inline void gsc_writew(unsigned short val, unsigned long addr) 97 97 { 98 98 long flags; 99 99 __asm__ __volatile__( 100 - " rsm 2,%0\n" 100 + " rsm %3,%0\n" 101 101 " sths %1,0(%2)\n" 102 102 " mtsm %0\n" 103 - : "=&r" (flags) : "r" (val), "r" (addr) ); 103 + : "=&r" (flags) : "r" (val), "r" (addr), "i" (PSW_SM_D) ); 104 104 } 105 105 106 106 static inline void gsc_writel(unsigned int val, unsigned long addr)