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

Commit cd6407fe authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM fixes from Russell King:
 "Last merge window, we had some updates from Al cleaning up the signal
  restart handling.  These have caused some problems on ARM, and while
  Al has some fixes, we have some concerns with Al's patches but we've
  been unsuccesful with discussing this.

  We have got to the point where we need to do something, and we've
  decided that the best solution is to revert the appropriate commits
  until Al is able to reply to us.

  Also included here are four patches to fix warnings that I've noticed
  in my build system, and one fix for kprobes test code."

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: fix warning caused by wrongly typed arm_dma_limit
  ARM: fix warnings about atomic64_read
  ARM: 7440/1: kprobes: only test 'sub pc, pc, #1b-2b+8-2' on ARMv6
  ARM: 7441/1: perf: return -EOPNOTSUPP if requested mode exclusion is unavailable
  ARM: 7443/1: Revert "new way of handling ERESTART_RESTARTBLOCK"
  ARM: 7442/1: Revert "remove unused restart trampoline"
  ARM: fix set_domain() macro
  ARM: fix mach-versatile/pci.c warning
parents 26c439d4 09b2ad13
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -243,7 +243,7 @@ typedef struct {


#define ATOMIC64_INIT(i) { (i) }
#define ATOMIC64_INIT(i) { (i) }


static inline u64 atomic64_read(atomic64_t *v)
static inline u64 atomic64_read(const atomic64_t *v)
{
{
	u64 result;
	u64 result;


+9 −9
Original line number Original line Diff line number Diff line
@@ -60,13 +60,13 @@
#ifndef __ASSEMBLY__
#ifndef __ASSEMBLY__


#ifdef CONFIG_CPU_USE_DOMAINS
#ifdef CONFIG_CPU_USE_DOMAINS
#define set_domain(x)					\
static inline void set_domain(unsigned val)
	do {						\
{
	__asm__ __volatile__(				\
	asm volatile(
	"mcr	p15, 0, %0, c3, c0	@ set domain"	\
	"mcr	p15, 0, %0, c3, c0	@ set domain"
	  : : "r" (x));					\
	  : : "r" (val));
	isb();						\
	isb();
	} while (0)
}


#define modify_domain(dom,type)					\
#define modify_domain(dom,type)					\
	do {							\
	do {							\
@@ -78,8 +78,8 @@
	} while (0)
	} while (0)


#else
#else
#define set_domain(x)		do { } while (0)
static inline void set_domain(unsigned val) { }
#define modify_domain(dom,type)	do { } while (0)
static inline void modify_domain(unsigned dom, unsigned type)	{ }
#endif
#endif


/*
/*
+1 −4
Original line number Original line Diff line number Diff line
@@ -148,7 +148,6 @@ extern int vfp_restore_user_hwstate(struct user_vfp __user *,
#define TIF_NOTIFY_RESUME	2	/* callback before returning to user */
#define TIF_NOTIFY_RESUME	2	/* callback before returning to user */
#define TIF_SYSCALL_TRACE	8
#define TIF_SYSCALL_TRACE	8
#define TIF_SYSCALL_AUDIT	9
#define TIF_SYSCALL_AUDIT	9
#define TIF_SYSCALL_RESTARTSYS	10
#define TIF_POLLING_NRFLAG	16
#define TIF_POLLING_NRFLAG	16
#define TIF_USING_IWMMXT	17
#define TIF_USING_IWMMXT	17
#define TIF_MEMDIE		18	/* is terminating due to OOM killer */
#define TIF_MEMDIE		18	/* is terminating due to OOM killer */
@@ -164,11 +163,9 @@ extern int vfp_restore_user_hwstate(struct user_vfp __user *,
#define _TIF_POLLING_NRFLAG	(1 << TIF_POLLING_NRFLAG)
#define _TIF_POLLING_NRFLAG	(1 << TIF_POLLING_NRFLAG)
#define _TIF_USING_IWMMXT	(1 << TIF_USING_IWMMXT)
#define _TIF_USING_IWMMXT	(1 << TIF_USING_IWMMXT)
#define _TIF_SECCOMP		(1 << TIF_SECCOMP)
#define _TIF_SECCOMP		(1 << TIF_SECCOMP)
#define _TIF_SYSCALL_RESTARTSYS	(1 << TIF_SYSCALL_RESTARTSYS)


/* Checks for any syscall work in entry-common.S */
/* Checks for any syscall work in entry-common.S */
#define _TIF_SYSCALL_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \
#define _TIF_SYSCALL_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT)
			   _TIF_SYSCALL_RESTARTSYS)


/*
/*
 * Change these and you break ASM code in entry-common.S
 * Change these and you break ASM code in entry-common.S
+2 −2
Original line number Original line Diff line number Diff line
@@ -187,8 +187,8 @@ void kprobe_arm_test_cases(void)
	TEST_BF_R ("mov	pc, r",0,2f,"")
	TEST_BF_R ("mov	pc, r",0,2f,"")
	TEST_BF_RR("mov	pc, r",0,2f,", asl r",1,0,"")
	TEST_BF_RR("mov	pc, r",0,2f,", asl r",1,0,"")
	TEST_BB(   "sub	pc, pc, #1b-2b+8")
	TEST_BB(   "sub	pc, pc, #1b-2b+8")
#if __LINUX_ARM_ARCH__ >= 6
#if __LINUX_ARM_ARCH__ == 6 && !defined(CONFIG_CPU_V7)
	TEST_BB(   "sub	pc, pc, #1b-2b+8-2") /* UNPREDICTABLE before ARMv6 */
	TEST_BB(   "sub	pc, pc, #1b-2b+8-2") /* UNPREDICTABLE before and after ARMv6 */
#endif
#endif
	TEST_BB_R( "sub	pc, pc, r",14, 1f-2f+8,"")
	TEST_BB_R( "sub	pc, pc, r",14, 1f-2f+8,"")
	TEST_BB_R( "rsb	pc, r",14,1f-2f+8,", pc")
	TEST_BB_R( "rsb	pc, r",14,1f-2f+8,", pc")
+1 −1
Original line number Original line Diff line number Diff line
@@ -503,7 +503,7 @@ __hw_perf_event_init(struct perf_event *event)
	     event_requires_mode_exclusion(&event->attr)) {
	     event_requires_mode_exclusion(&event->attr)) {
		pr_debug("ARM performance counters do not support "
		pr_debug("ARM performance counters do not support "
			 "mode exclusion\n");
			 "mode exclusion\n");
		return -EPERM;
		return -EOPNOTSUPP;
	}
	}


	/*
	/*
Loading