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

Commit aba29792 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6: (30 commits)
  [PARISC] remove global_ack_eiem
  [PARISC] Fix kernel panic in check_ivt
  [PARISC] Fix bug when syscall nr is __NR_Linux_syscalls
  [PARISC] be more defensive in process.c::get_wchan
  [PARISC] fix "reduce size of task_struct on 64-bit machines" fallout
  [PARISC] fix null ptr deref in unwind.c
  [PARISC] fix trivial spelling nit in asm/linkage.h
  [PARISC] remove remnants of parisc-specific softirq code
  [PARISC] fix section mismatch in smp.c
  [PARISC] fix "ENTRY" macro redefinition
  [PARISC] Wire up utimensat/signalfd/timerfd/eventfd syscalls
  [PARISC] fix section mismatch in superio serial drivers
  [PARISC] fix section mismatch in parisc eisa driver
  [PARISC] fix section mismatches in arch/parisc/kernel
  [PARISC] fix section mismatch in ccio-dma
  [PARISC] fix section mismatch in parisc STI video drivers
  [PARISC] fix section mismatch in parport_gsc
  [PARISC] fix lasi_82596 build
  [PARISC] Build fixes for power.c
  [PARISC] kobject is embedded in subsys, not kset
  ...
parents 08f3dfe8 462b529f
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/file.h>
@@ -69,7 +70,6 @@ struct getdents_callback {
};

#define NAME_OFFSET(de) ((int) ((de)->d_name - (char __user *) (de)))
#define ROUND_UP(x) (((x)+sizeof(long)-1) & ~(sizeof(long)-1))

static int filldir(void * __buf, const char * name, int namlen, loff_t offset,
		u64 ino, unsigned d_type)
@@ -77,7 +77,7 @@ static int filldir(void * __buf, const char * name, int namlen, loff_t offset,
	struct hpux_dirent __user * dirent;
	struct getdents_callback * buf = (struct getdents_callback *) __buf;
	ino_t d_ino;
	int reclen = ROUND_UP(NAME_OFFSET(dirent) + namlen + 1);
	int reclen = ALIGN(NAME_OFFSET(dirent) + namlen + 1, sizeof(long));

	buf->error = -EINVAL;	/* only used if we fail.. */
	if (reclen > buf->count)
@@ -102,7 +102,6 @@ static int filldir(void * __buf, const char * name, int namlen, loff_t offset,
}

#undef NAME_OFFSET
#undef ROUND_UP

int hpux_getdents(unsigned int fd, struct hpux_dirent __user *dirent, unsigned int count)
{
+3 −37
Original line number Diff line number Diff line
@@ -954,21 +954,6 @@ intr_return:
	/* NOTE: Need to enable interrupts incase we schedule. */
	ssm     PSW_SM_I, %r0

	/* Check for software interrupts */

	.import irq_stat,data

	load32	irq_stat,%r19
#ifdef CONFIG_SMP
	mfctl   %cr30,%r1
	ldw	TI_CPU(%r1),%r1 /* get cpu # - int */
	/* shift left ____cacheline_aligned (aka L1_CACHE_BYTES) amount
	** irq_stat[] is defined using ____cacheline_aligned.
	*/
	SHLREG	%r1,L1_CACHE_SHIFT,%r20
	add     %r19,%r20,%r19	/* now have &irq_stat[smp_processor_id()] */
#endif /* CONFIG_SMP */

intr_check_resched:

	/* check for reschedule */
@@ -2034,10 +2019,9 @@ ENTRY(syscall_exit)
	STREG     %r28,TASK_PT_GR28(%r1)

#ifdef CONFIG_HPUX

/* <linux/personality.h> cannot be easily included */
#define PER_HPUX 0x10
	LDREG     TASK_PERSONALITY(%r1),%r19
	ldw	TASK_PERSONALITY(%r1),%r19

	/* We can't use "CMPIB<> PER_HPUX" since "im5" field is sign extended */
	ldo	  -PER_HPUX(%r19), %r19
@@ -2055,24 +2039,6 @@ ENTRY(syscall_exit)
	 */
	loadgp

syscall_check_bh:

	/* Check for software interrupts */

	.import irq_stat,data

	load32	irq_stat,%r19

#ifdef CONFIG_SMP
	/* sched.h: int processor */
	/* %r26 is used as scratch register to index into irq_stat[] */
	ldw     TI_CPU-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r26 /* cpu # */

	/* shift left ____cacheline_aligned (aka L1_CACHE_BYTES) bits */
	SHLREG	%r26,L1_CACHE_SHIFT,%r20
	add     %r19,%r20,%r19	/* now have &irq_stat[smp_processor_id()] */
#endif /* CONFIG_SMP */

syscall_check_resched:

	/* check for reschedule */
@@ -2114,7 +2080,7 @@ syscall_restore:
	/* Are we being ptraced? */
	LDREG	TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1

	LDREG	TASK_PTRACE(%r1), %r19
	ldw	TASK_PTRACE(%r1), %r19
	bb,<	%r19,31,syscall_restore_rfi
	nop

@@ -2244,7 +2210,7 @@ syscall_do_resched:
#else
	nop
#endif
	b       syscall_check_bh  /* if resched, we start over again */
	b	syscall_check_resched	/* if resched, we start over again */
	nop
ENDPROC(syscall_exit)

+2 −2
Original line number Diff line number Diff line
@@ -634,7 +634,7 @@ EXPORT_SYMBOL(pdc_lan_station_id);
 * pdc_stable_read - Read data from Stable Storage.
 * @staddr: Stable Storage address to access.
 * @memaddr: The memory address where Stable Storage data shall be copied.
 * @count: number of bytes to transfert. count is multiple of 4.
 * @count: number of bytes to transfer. count is multiple of 4.
 *
 * This PDC call reads from the Stable Storage address supplied in staddr
 * and copies count bytes to the memory address memaddr.
@@ -660,7 +660,7 @@ EXPORT_SYMBOL(pdc_stable_read);
 * pdc_stable_write - Write data to Stable Storage.
 * @staddr: Stable Storage address to access.
 * @memaddr: The memory address where Stable Storage data shall be read from.
 * @count: number of bytes to transfert. count is multiple of 4.
 * @count: number of bytes to transfer. count is multiple of 4.
 *
 * This PDC call reads count bytes from the supplied memaddr address,
 * and copies count bytes to the Stable Storage address staddr.
+8 −6
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@
 *	so don't reference this table after starting the init process
 */
 
static struct hp_hardware hp_hardware_list[] __initdata = {
static struct hp_hardware hp_hardware_list[] __devinitdata = {
	{HPHW_NPROC,0x01,0x4,0x0,"Indigo (840, 930)"},
	{HPHW_NPROC,0x8,0x4,0x01,"Firefox(825,925)"},
	{HPHW_NPROC,0xA,0x4,0x01,"Top Gun (835,834,935,635)"},
@@ -1219,7 +1219,7 @@ static struct hp_cpu_type_mask {
	unsigned short model;
	unsigned short mask;
	enum cpu_type cpu;
} hp_cpu_type_mask_list[] __initdata = {
} hp_cpu_type_mask_list[] __devinitdata = {

	{ 0x0000, 0x0ff0, pcx    },  /* 0x0000 - 0x000f */
	{ 0x0048, 0x0ff0, pcxl   },  /* 0x0040 - 0x004f */
@@ -1296,10 +1296,11 @@ static struct hp_cpu_type_mask {
	{ 0x05f0, 0x0ff0, pcxw2  },  /* 0x05f0 - 0x05ff */
	{ 0x0600, 0x0fe0, pcxl   },  /* 0x0600 - 0x061f */
	{ 0x0880, 0x0ff0, mako   },  /* 0x0880 - 0x088f */
	{ 0x0890, 0x0ff0, mako2  },  /* 0x0890 - 0x089f */
	{ 0x0000, 0x0000, pcx    }	/* terminate table */
};

char *cpu_name_version[][2] = {
const char * const cpu_name_version[][2] = {
	[pcx]	= { "PA7000 (PCX)",	"1.0" },
	[pcxs]	= { "PA7000 (PCX-S)",	"1.1a" },
	[pcxt]	= { "PA7100 (PCX-T)",	"1.1b" },
@@ -1311,10 +1312,11 @@ char *cpu_name_version[][2] = {
	[pcxw]	= { "PA8500 (PCX-W)",	"2.0" },
	[pcxw_]	= { "PA8600 (PCX-W+)",	"2.0" },
	[pcxw2]	= { "PA8700 (PCX-W2)",	"2.0" },
	[mako]	= { "PA8800 (Mako)",	"2.0" }
	[mako]	= { "PA8800 (Mako)",	"2.0" },
	[mako2] = { "PA8900 (Shortfin)",	"2.0" }
};

const char * __init
const char * __devinit
parisc_hardware_description(struct parisc_device_id *id)
{
	struct hp_hardware *listptr;
@@ -1353,7 +1355,7 @@ parisc_hardware_description(struct parisc_device_id *id)


/* Interpret hversion (ret[0]) from PDC_MODEL(4)/PDC_MODEL_INFO(0) */
enum cpu_type __init
enum cpu_type __cpuinit
parisc_get_cpu_type(unsigned long hversion)
{
	struct hp_cpu_type_mask *ptr;
+1 −4
Original line number Diff line number Diff line
@@ -295,8 +295,5 @@ os_hpmc_6:
	b .
	nop
ENDPROC(os_hpmc)

	/* this label used to compute os_hpmc checksum */
ENTRY(os_hpmc_end)

ENTRY(os_hpmc_end)	/* this label used to compute os_hpmc checksum */
	nop
Loading