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

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

Merge master.kernel.org:/home/rmk/linux-2.6-arm

parents ace7c769 251b928c
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -98,7 +98,10 @@ struct clk *clk_get(struct device *dev, const char *id)
	struct clk *clk = ERR_PTR(-ENOENT);
	struct clk *clk = ERR_PTR(-ENOENT);
	int idno;
	int idno;


	idno = (dev == NULL) ? -1 : to_platform_device(dev)->id;
	if (dev == NULL || dev->bus != &platform_bus_type)
		idno = -1;
	else
		idno = to_platform_device(dev)->id;


	down(&clocks_sem);
	down(&clocks_sem);


+5 −4
Original line number Original line Diff line number Diff line
@@ -15,25 +15,26 @@
		ldr	\irqstat, =(IXP4XX_INTC_BASE_VIRT+IXP4XX_ICIP_OFFSET)
		ldr	\irqstat, =(IXP4XX_INTC_BASE_VIRT+IXP4XX_ICIP_OFFSET)
		ldr	\irqstat, [\irqstat]		@ get interrupts
		ldr	\irqstat, [\irqstat]		@ get interrupts
		cmp	\irqstat, #0
		cmp	\irqstat, #0
		beq	1001f
		beq	1001f				@ upper IRQ?
		clz     \irqnr, \irqstat
		clz     \irqnr, \irqstat
		mov     \base, #31
		mov     \base, #31
		subs    \irqnr, \base, \irqnr
		sub     \irqnr, \base, \irqnr
		b	1002f				@ lower IRQ being
							@ handled


1001:
1001:
		/*
		/*
		 * IXP465 has an upper IRQ status register
		 * IXP465 has an upper IRQ status register
		 */
		 */
#if defined(CONFIG_CPU_IXP46X)
#if defined(CONFIG_CPU_IXP46X)
		bne 	1002f
		ldr	\irqstat, =(IXP4XX_INTC_BASE_VIRT+IXP4XX_ICIP2_OFFSET)
		ldr	\irqstat, =(IXP4XX_INTC_BASE_VIRT+IXP4XX_ICIP2_OFFSET)
		ldr	\irqstat, [\irqstat]		@ get upper interrupts
		ldr	\irqstat, [\irqstat]		@ get upper interrupts
		mov	\irqnr, #63
		mov	\irqnr, #63
		clz	\irqstat, \irqstat
		clz	\irqstat, \irqstat
 		cmp	\irqstat, #32
 		cmp	\irqstat, #32
		subne	\irqnr, \irqnr, \irqstat
		subne	\irqnr, \irqnr, \irqstat
1002:
#endif
#endif
1002:
		.endm
		.endm


+1 −1
Original line number Original line Diff line number Diff line
@@ -27,7 +27,7 @@


#define pcibios_assign_all_busses()	1
#define pcibios_assign_all_busses()	1


#if defined(CONFIG_CPU_IXP465) && !defined(__ASSEMBLY__)
#if defined(CONFIG_CPU_IXP46X) && !defined(__ASSEMBLY__)
extern unsigned int processor_id;
extern unsigned int processor_id;
#define cpu_is_ixp465() ((processor_id & 0xffffffc0) == 0x69054200)
#define cpu_is_ixp465() ((processor_id & 0xffffffc0) == 0x69054200)
#else
#else
+2 −2
Original line number Original line Diff line number Diff line
@@ -103,7 +103,7 @@
	({					\
	({					\
	smp_mb();				\
	smp_mb();				\
	__asm__ __volatile__(			\
	__asm__ __volatile__(			\
	"@ up_op_read\n"			\
	"@ up_op_write\n"			\
"1:	ldrex	lr, [%0]\n"			\
"1:	ldrex	lr, [%0]\n"			\
"	adds	lr, lr, %1\n"			\
"	adds	lr, lr, %1\n"			\
"	strex	ip, lr, [%0]\n"			\
"	strex	ip, lr, [%0]\n"			\
@@ -231,7 +231,7 @@
#define __up_op_write(ptr,wake)			\
#define __up_op_write(ptr,wake)			\
	({					\
	({					\
	__asm__ __volatile__(			\
	__asm__ __volatile__(			\
	"@ up_op_read\n"			\
	"@ up_op_write\n"			\
"	mrs	ip, cpsr\n"			\
"	mrs	ip, cpsr\n"			\
"	orr	lr, ip, #128\n"			\
"	orr	lr, ip, #128\n"			\
"	msr	cpsr_c, lr\n"			\
"	msr	cpsr_c, lr\n"			\