Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68c77d8a authored by Ralf Baechle's avatar Ralf Baechle
Browse files

MIPS: COP2: CPP macro safety fixes.



 - Don't pass things to macros that couldn't be dereferences if that
   macro was actually a function.
 - Don't use empty function-like macros.

Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent b10b43ba
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -16,8 +16,8 @@
extern void octeon_cop2_save(struct octeon_cop2_state *);
extern void octeon_cop2_restore(struct octeon_cop2_state *);

#define cop2_save(r)		octeon_cop2_save(r)
#define cop2_restore(r)		octeon_cop2_restore(r)
#define cop2_save(r)		octeon_cop2_save(&(r)->thread.cp2)
#define cop2_restore(r)		octeon_cop2_restore(&(r)->thread.cp2)

#define cop2_present		1
#define cop2_lazy_restore	1
@@ -26,26 +26,26 @@ extern void octeon_cop2_restore(struct octeon_cop2_state *);

extern void nlm_cop2_save(struct nlm_cop2_state *);
extern void nlm_cop2_restore(struct nlm_cop2_state *);
#define cop2_save(r)		nlm_cop2_save(r)
#define cop2_restore(r)		nlm_cop2_restore(r)

#define cop2_save(r)		nlm_cop2_save(&(r)->thread.cp2)
#define cop2_restore(r)		nlm_cop2_restore(&(r)->thread.cp2)

#define cop2_present		1
#define cop2_lazy_restore	0

#elif defined(CONFIG_CPU_LOONGSON3)

#define cop2_save(r)
#define cop2_restore(r)

#define cop2_present		1
#define cop2_lazy_restore	1
#define cop2_save(r)		do { (r); } while (0)
#define cop2_restore(r)		do { (r); } while (0)

#else

#define cop2_present		0
#define cop2_lazy_restore	0
#define cop2_save(r)
#define cop2_restore(r)
#define cop2_save(r)		do { (r); } while (0)
#define cop2_restore(r)		do { (r); } while (0)
#endif

enum cu2_ops {
+2 −2
Original line number Diff line number Diff line
@@ -92,7 +92,7 @@ do { \
			KSTK_STATUS(prev) &= ~ST0_CU2;			\
		__c0_stat = read_c0_status();				\
		write_c0_status(__c0_stat | ST0_CU2);			\
		cop2_save(&prev->thread.cp2);				\
		cop2_save(prev);					\
		write_c0_status(__c0_stat & ~ST0_CU2);			\
	}								\
	__clear_software_ll_bit();					\
@@ -111,7 +111,7 @@ do { \
			(KSTK_STATUS(current) & ST0_CU2)) {		\
		__c0_stat = read_c0_status();				\
		write_c0_status(__c0_stat | ST0_CU2);			\
		cop2_restore(&current->thread.cp2);			\
		cop2_restore(current);					\
		write_c0_status(__c0_stat & ~ST0_CU2);			\
	}								\
	if (cpu_has_dsp)						\