diff options
Diffstat (limited to 'arch/mips/include/asm/io.h')
| -rw-r--r-- | arch/mips/include/asm/io.h | 12 | 
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h index b04e4de5dd2..a58f22998a8 100644 --- a/arch/mips/include/asm/io.h +++ b/arch/mips/include/asm/io.h @@ -329,14 +329,10 @@ static inline void pfx##write##bwlq(type val,				\  			"dsrl32	%L0, %L0, 0"			"\n\t"	\  			"dsll32	%M0, %M0, 0"			"\n\t"	\  			"or	%L0, %L0, %M0"			"\n\t"	\ -			".set	push"				"\n\t"	\ -			".set	noreorder"			"\n\t"	\ -			".set	nomacro"			"\n\t"	\  			"sd	%L0, %2"			"\n\t"	\ -			".set	pop"				"\n\t"	\  			".set	mips0"				"\n"	\  			: "=r" (__tmp)					\ -			: "0" (__val), "R" (*__mem));			\ +			: "0" (__val), "m" (*__mem));			\  		if (irq)						\  			local_irq_restore(__flags);			\  	} else								\ @@ -359,16 +355,12 @@ static inline type pfx##read##bwlq(const volatile void __iomem *mem)	\  			local_irq_save(__flags);			\  		__asm__ __volatile__(					\  			".set	mips3"		"\t\t# __readq"	"\n\t"	\ -			".set	push"				"\n\t"	\ -			".set	noreorder"			"\n\t"	\ -			".set	nomacro"			"\n\t"	\  			"ld	%L0, %1"			"\n\t"	\ -			".set	pop"				"\n\t"	\  			"dsra32	%M0, %L0, 0"			"\n\t"	\  			"sll	%L0, %L0, 0"			"\n\t"	\  			".set	mips0"				"\n"	\  			: "=r" (__val)					\ -			: "R" (*__mem));				\ +			: "m" (*__mem));				\  		if (irq)						\  			local_irq_restore(__flags);			\  	} else {							\  |