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

Commit 19147d0e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: Fix atomic64_t routine return values.
  sparc64: Fix rwsem constant bug leading to hangs.
  sparc: Hook up new fanotify and prlimit64 syscalls.
  sparc: Really fix "console=" for serial consoles.
parents 2a6a432a 86fa04b8
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -25,9 +25,9 @@ extern void atomic_sub(int, atomic_t *);
extern void atomic64_sub(int, atomic64_t *);

extern int atomic_add_ret(int, atomic_t *);
extern int atomic64_add_ret(int, atomic64_t *);
extern long atomic64_add_ret(int, atomic64_t *);
extern int atomic_sub_ret(int, atomic_t *);
extern int atomic64_sub_ret(int, atomic64_t *);
extern long atomic64_sub_ret(int, atomic64_t *);

#define atomic_dec_return(v) atomic_sub_ret(1, v)
#define atomic64_dec_return(v) atomic64_sub_ret(1, v)
@@ -91,7 +91,7 @@ static inline int atomic_add_unless(atomic_t *v, int a, int u)
	((__typeof__((v)->counter))cmpxchg(&((v)->counter), (o), (n)))
#define atomic64_xchg(v, new) (xchg(&((v)->counter), new))

static inline int atomic64_add_unless(atomic64_t *v, long a, long u)
static inline long atomic64_add_unless(atomic64_t *v, long a, long u)
{
	long c, old;
	c = atomic64_read(v);
+4 −0
Original line number Diff line number Diff line
#ifndef _SPARC_FB_H_
#define _SPARC_FB_H_
#include <linux/console.h>
#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
@@ -18,6 +19,9 @@ static inline int fb_is_primary_device(struct fb_info *info)
	struct device *dev = info->device;
	struct device_node *node;

	if (console_set_on_cmdline)
		return 0;

	node = dev->of_node;
	if (node &&
	    node == of_console_device)
+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
#define RWSEM_UNLOCKED_VALUE		0x00000000
#define RWSEM_ACTIVE_BIAS		0x00000001
#define RWSEM_ACTIVE_MASK		0x0000ffff
#define RWSEM_WAITING_BIAS		0xffff0000
#define RWSEM_WAITING_BIAS		(-0x00010000)
#define RWSEM_ACTIVE_READ_BIAS		RWSEM_ACTIVE_BIAS
#define RWSEM_ACTIVE_WRITE_BIAS		(RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)

+4 −1
Original line number Diff line number Diff line
@@ -397,8 +397,11 @@
#define __NR_rt_tgsigqueueinfo	326
#define __NR_perf_event_open	327
#define __NR_recvmmsg		328
#define __NR_fanotify_init	329
#define __NR_fanotify_mark	330
#define __NR_prlimit64		331

#define NR_syscalls		329
#define NR_syscalls		332

#ifdef __32bit_syscall_numbers__
/* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
+9 −0
Original line number Diff line number Diff line
@@ -330,6 +330,15 @@ do_sys_accept4: /* sys_accept4(int, struct sockaddr *, int *, int) */
	nop
	nop

	.globl		sys32_fanotify_mark
sys32_fanotify_mark:
	sethi		%hi(sys_fanotify_mark), %g1
	sllx		%o2, 32, %o2
	or		%o2, %o3, %o2
	mov		%o4, %o3
	jmpl		%g1 + %lo(sys_fanotify_mark), %g0
	 mov		%o5, %o4

	.section	__ex_table,"a"
	.align		4
	.word		1b, __retl_efault, 2b, __retl_efault
Loading