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

Commit f8b71a3a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (44 commits)
  sparc: Remove Sparc's asm-offsets for sclow.S
  sparc64: Update defconfig.
  sparc64: Add Niagara2 RNG driver.
  sparc64: Add missing hypervisor service group numbers.
  sparc64: Remove 4MB and 512K base page size options.
  sparc64: Convert to generic helpers for IPI function calls.
  sparc: Use new '%pS' infrastructure to print symbols.
  sparc32: fix init.c allnoconfig build error
  sparc64: Config category "Processor type and features" absent
  sparc: arch/sparc/kernel/apc.c to unlocked_ioctl
  sparc: join the remaining header files
  sparc: merge header files with trivial differences
  sparc: when header files are equal use asm-sparc version
  sparc: copy sparc64 specific files to asm-sparc
  sparc: Merge asm-sparc{,64}/asi.h
  sparc: export openprom.h to userspace
  sparc: Merge asm-sparc{,64}/types.h
  sparc: Merge asm-sparc{,64}/termios.h
  sparc: Merge asm-sparc{,64}/termbits.h
  sparc: Merge asm-sparc{,64}/setup.h
  ...
parents 42a77a1b e4f25060
Loading
Loading
Loading
Loading
+29 −13
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ __setup("apc=", apc_setup);
 * CPU idle callback function
 * See .../arch/sparc/kernel/process.c
 */
void apc_swift_idle(void)
static void apc_swift_idle(void)
{
#ifdef APC_DEBUG_LED
	set_auxio(0x00, AUXIO_LED); 
@@ -85,52 +85,68 @@ static int apc_release(struct inode *inode, struct file *f)
	return 0;
}

static int apc_ioctl(struct inode *inode, struct file *f, 
		     unsigned int cmd, unsigned long __arg)
static long apc_ioctl(struct file *f, unsigned int cmd, unsigned long __arg)
{
	__u8 inarg, __user *arg;

	arg = (__u8 __user *) __arg;

	lock_kernel();

	switch (cmd) {
	case APCIOCGFANCTL:
		if (put_user(apc_readb(APC_FANCTL_REG) & APC_REGMASK, arg))
		if (put_user(apc_readb(APC_FANCTL_REG) & APC_REGMASK, arg)) {
			unlock_kernel();
			return -EFAULT;
		}
		break;

	case APCIOCGCPWR:
		if (put_user(apc_readb(APC_CPOWER_REG) & APC_REGMASK, arg))
		if (put_user(apc_readb(APC_CPOWER_REG) & APC_REGMASK, arg)) {
			unlock_kernel();
			return -EFAULT;
		}
		break;

	case APCIOCGBPORT:
		if (put_user(apc_readb(APC_BPORT_REG) & APC_BPMASK, arg))
		if (put_user(apc_readb(APC_BPORT_REG) & APC_BPMASK, arg)) {
			unlock_kernel();
			return -EFAULT;
		}
		break;

	case APCIOCSFANCTL:
		if (get_user(inarg, arg))
		if (get_user(inarg, arg)) {
			unlock_kernel();
			return -EFAULT;
		}
		apc_writeb(inarg & APC_REGMASK, APC_FANCTL_REG);
		break;
	case APCIOCSCPWR:
		if (get_user(inarg, arg))
		if (get_user(inarg, arg)) {
			unlock_kernel();
			return -EFAULT;
		}
		apc_writeb(inarg & APC_REGMASK, APC_CPOWER_REG);
		break;
	case APCIOCSBPORT:
		if (get_user(inarg, arg))
		if (get_user(inarg, arg)) {
			unlock_kernel();
			return -EFAULT;
		}
		apc_writeb(inarg & APC_BPMASK, APC_BPORT_REG);
		break;
	default:
		unlock_kernel();
		return -EINVAL;
	};

	unlock_kernel();
	return 0;
}

static const struct file_operations apc_fops = {
	.ioctl =	apc_ioctl,
	.unlocked_ioctl =	apc_ioctl,
	.open =			apc_open,
	.release =		apc_release,
};
+0 −12
Original line number Diff line number Diff line
@@ -18,18 +18,6 @@ int foo(void)
{
	DEFINE(AOFF_task_thread, offsetof(struct task_struct, thread));
	BLANK();
	/* XXX This is the stuff for sclow.S, kill it. */
	DEFINE(AOFF_task_pid, offsetof(struct task_struct, pid));
	DEFINE(AOFF_task_uid, offsetof(struct task_struct, uid));
	DEFINE(AOFF_task_gid, offsetof(struct task_struct, gid));
	DEFINE(AOFF_task_euid, offsetof(struct task_struct, euid));
	DEFINE(AOFF_task_egid, offsetof(struct task_struct, egid));
	/* DEFINE(THREAD_INFO, offsetof(struct task_struct, stack)); */
	DEFINE(ASIZ_task_uid,	sizeof(current->uid));
	DEFINE(ASIZ_task_gid,	sizeof(current->gid));
	DEFINE(ASIZ_task_euid,	sizeof(current->euid));
	DEFINE(ASIZ_task_egid,	sizeof(current->egid));
	BLANK();
	DEFINE(AOFF_thread_fork_kpsr,
			offsetof(struct thread_struct, fork_kpsr));
	BLANK();
+5 −4
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ static inline unsigned long ebus_alloc(size_t size)

/*
 */
int __init ebus_blacklist_irq(const char *name)
static int __init ebus_blacklist_irq(const char *name)
{
	struct ebus_device_irq *dp;

@@ -83,7 +83,7 @@ int __init ebus_blacklist_irq(const char *name)
	return 0;
}

void __init fill_ebus_child(struct device_node *dp,
static void __init fill_ebus_child(struct device_node *dp,
				   struct linux_ebus_child *dev)
{
	const int *regs;
@@ -144,7 +144,8 @@ void __init fill_ebus_child(struct device_node *dp,
	}
}

void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_device *dev)
static void __init fill_ebus_device(struct device_node *dp,
				    struct linux_ebus_device *dev)
{
	const struct linux_prom_registers *regs;
	struct linux_ebus_child *child;
+2 −3
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#include <asm/vaddrs.h>
#include <asm/memreg.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#ifdef CONFIG_SUN4
#include <asm/pgtsun4.h>
#else
@@ -1317,7 +1318,6 @@ linux_sparc_syscall:
	bne	linux_fast_syscall
	 /* Just do first insn from SAVE_ALL in the delay slot */

	.globl	syscall_is_too_hard
syscall_is_too_hard:
	SAVE_ALL_HEAD
	 rd	%wim, %l3
@@ -1544,8 +1544,7 @@ kgdb_trap_low:
#endif

	.align	4
	.globl	__handle_exception, flush_patch_exception
__handle_exception:
	.globl	flush_patch_exception
flush_patch_exception:
	FLUSH_ALL_KERNEL_WINDOWS;
	ldd	[%o0], %o6
+0 −1
Original line number Diff line number Diff line
@@ -228,7 +228,6 @@ tsetup_mmu_patchme:
	 */
#define glob_tmp     g1

	.globl	tsetup_sun4c_stackchk
tsetup_sun4c_stackchk:
	/* Done by caller: andcc %sp, 0x7, %g0 */
	bne	trap_setup_user_stack_is_bolixed
Loading