linux-alpha.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 00/19] Bugfix and irq_chip conversion
@ 2011-02-06 14:32 Thomas Gleixner
  2011-02-06 14:32 ` [patch 01/19] alpha: Fix broken SMP=y Thomas Gleixner
                   ` (19 more replies)
  0 siblings, 20 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

This series fixes the SMP fallout of the doIRQ removal and converts
all irq chip functions to the new types. Compile tested as far as it
goes.

Thanks,

	tglx






^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 01/19] alpha: Fix broken SMP=y
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 02/19] alpha: Pyxis convert irq_chip functions Thomas Gleixner
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-fix-smp-compile.patch --]
[-- Type: text/plain, Size: 619 bytes --]

The __doIRQ cleanup left SMP=y broken.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/irq.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-next/arch/alpha/kernel/irq.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/irq.c
+++ linux-next/arch/alpha/kernel/irq.c
@@ -44,7 +44,7 @@ static char irq_user_affinity[NR_IRQS];
 
 int irq_select_affinity(unsigned int irq)
 {
-	struct irq_desc *desc = irq_to_desc[irq];
+	struct irq_desc *desc = irq_to_desc(irq);
 	static int last_cpu;
 	int cpu = last_cpu + 1;
 



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 02/19] alpha: Pyxis convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
  2011-02-06 14:32 ` [patch 01/19] alpha: Fix broken SMP=y Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 03/19] alpha: srm: Convert " Thomas Gleixner
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-pyxis-convert-irqchip.patch --]
[-- Type: text/plain, Size: 1815 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/irq_pyxis.c |   20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

Index: linux-next/arch/alpha/kernel/irq_pyxis.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/irq_pyxis.c
+++ linux-next/arch/alpha/kernel/irq_pyxis.c
@@ -29,21 +29,21 @@ pyxis_update_irq_hw(unsigned long mask)
 }
 
 static inline void
-pyxis_enable_irq(unsigned int irq)
+pyxis_enable_irq(struct irq_data *d)
 {
-	pyxis_update_irq_hw(cached_irq_mask |= 1UL << (irq - 16));
+	pyxis_update_irq_hw(cached_irq_mask |= 1UL << (d->irq - 16));
 }
 
 static void
-pyxis_disable_irq(unsigned int irq)
+pyxis_disable_irq(struct irq_data *d)
 {
-	pyxis_update_irq_hw(cached_irq_mask &= ~(1UL << (irq - 16)));
+	pyxis_update_irq_hw(cached_irq_mask &= ~(1UL << (d->irq - 16)));
 }
 
 static void
-pyxis_mask_and_ack_irq(unsigned int irq)
+pyxis_mask_and_ack_irq(struct irq_data *d)
 {
-	unsigned long bit = 1UL << (irq - 16);
+	unsigned long bit = 1UL << (d->irq - 16);
 	unsigned long mask = cached_irq_mask &= ~bit;
 
 	/* Disable the interrupt.  */
@@ -58,9 +58,9 @@ pyxis_mask_and_ack_irq(unsigned int irq)
 
 static struct irq_chip pyxis_irq_type = {
 	.name		= "PYXIS",
-	.mask_ack	= pyxis_mask_and_ack_irq,
-	.mask		= pyxis_disable_irq,
-	.unmask		= pyxis_enable_irq,
+	.irq_mask_ack	= pyxis_mask_and_ack_irq,
+	.irq_mask	= pyxis_disable_irq,
+	.irq_unmask	= pyxis_enable_irq,
 };
 
 void 
@@ -103,7 +103,7 @@ init_pyxis_irqs(unsigned long ignore_mas
 		if ((ignore_mask >> i) & 1)
 			continue;
 		set_irq_chip_and_handler(i, &pyxis_irq_type, handle_level_irq);
-		irq_to_desc(i)->status |= IRQ_LEVEL;
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 
 	setup_irq(16+7, &isa_cascade_irqaction);



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 03/19] alpha: srm: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
  2011-02-06 14:32 ` [patch 01/19] alpha: Fix broken SMP=y Thomas Gleixner
  2011-02-06 14:32 ` [patch 02/19] alpha: Pyxis convert irq_chip functions Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 04/19] alpha: i8259, alcor, jensen wildfire: Convert irq_chip Thomas Gleixner
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-srm-convert-irqchip.patch --]
[-- Type: text/plain, Size: 1436 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/irq_srm.c |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

Index: linux-next/arch/alpha/kernel/irq_srm.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/irq_srm.c
+++ linux-next/arch/alpha/kernel/irq_srm.c
@@ -18,27 +18,27 @@
 DEFINE_SPINLOCK(srm_irq_lock);
 
 static inline void
-srm_enable_irq(unsigned int irq)
+srm_enable_irq(struct irq_data *d)
 {
 	spin_lock(&srm_irq_lock);
-	cserve_ena(irq - 16);
+	cserve_ena(d->irq - 16);
 	spin_unlock(&srm_irq_lock);
 }
 
 static void
-srm_disable_irq(unsigned int irq)
+srm_disable_irq(struct irq_data *d)
 {
 	spin_lock(&srm_irq_lock);
-	cserve_dis(irq - 16);
+	cserve_dis(d->irq - 16);
 	spin_unlock(&srm_irq_lock);
 }
 
 /* Handle interrupts from the SRM, assuming no additional weirdness.  */
 static struct irq_chip srm_irq_type = {
 	.name		= "SRM",
-	.unmask		= srm_enable_irq,
-	.mask		= srm_disable_irq,
-	.mask_ack	= srm_disable_irq,
+	.irq_unmask	= srm_enable_irq,
+	.irq_mask	= srm_disable_irq,
+	.irq_mask_ack	= srm_disable_irq,
 };
 
 void __init
@@ -52,7 +52,7 @@ init_srm_irqs(long max, unsigned long ig
 		if (i < 64 && ((ignore_mask >> i) & 1))
 			continue;
 		set_irq_chip_and_handler(i, &srm_irq_type, handle_level_irq);
-		irq_to_desc(i)->status |= IRQ_LEVEL;
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 }
 



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 04/19] alpha: i8259, alcor, jensen wildfire: Convert irq_chip
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (2 preceding siblings ...)
  2011-02-06 14:32 ` [patch 03/19] alpha: srm: Convert " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 05/19] alpha: cabriolet: Convert irq_chip functions Thomas Gleixner
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha=i8259-convert-irq-chip.patch --]
[-- Type: text/plain, Size: 8419 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/irq_i8259.c    |   18 ++++++++++--------
 arch/alpha/kernel/irq_impl.h     |    8 +++-----
 arch/alpha/kernel/sys_alcor.c    |   28 ++++++++++++++--------------
 arch/alpha/kernel/sys_jensen.c   |   24 ++++++++++++------------
 arch/alpha/kernel/sys_wildfire.c |   32 +++++++++++++++++++-------------
 5 files changed, 58 insertions(+), 52 deletions(-)

Index: linux-next/arch/alpha/kernel/irq_i8259.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/irq_i8259.c
+++ linux-next/arch/alpha/kernel/irq_i8259.c
@@ -33,10 +33,10 @@ i8259_update_irq_hw(unsigned int irq, un
 }
 
 inline void
-i8259a_enable_irq(unsigned int irq)
+i8259a_enable_irq(struct irq_data *d)
 {
 	spin_lock(&i8259_irq_lock);
-	i8259_update_irq_hw(irq, cached_irq_mask &= ~(1 << irq));
+	i8259_update_irq_hw(d->irq, cached_irq_mask &= ~(1 << d->irq));
 	spin_unlock(&i8259_irq_lock);
 }
 
@@ -47,16 +47,18 @@ __i8259a_disable_irq(unsigned int irq)
 }
 
 void
-i8259a_disable_irq(unsigned int irq)
+i8259a_disable_irq(struct irq_data *d)
 {
 	spin_lock(&i8259_irq_lock);
-	__i8259a_disable_irq(irq);
+	__i8259a_disable_irq(d->irq);
 	spin_unlock(&i8259_irq_lock);
 }
 
 void
-i8259a_mask_and_ack_irq(unsigned int irq)
+i8259a_mask_and_ack_irq(struct irq_data *d)
 {
+	unsigned int irq = d->irq;
+
 	spin_lock(&i8259_irq_lock);
 	__i8259a_disable_irq(irq);
 
@@ -71,9 +73,9 @@ i8259a_mask_and_ack_irq(unsigned int irq
 
 struct irq_chip i8259a_irq_type = {
 	.name		= "XT-PIC",
-	.unmask		= i8259a_enable_irq,
-	.mask		= i8259a_disable_irq,
-	.mask_ack	= i8259a_mask_and_ack_irq,
+	.irq_unmask	= i8259a_enable_irq,
+	.irq_mask	= i8259a_disable_irq,
+	.irq_mask_ack	= i8259a_mask_and_ack_irq,
 };
 
 void __init
Index: linux-next/arch/alpha/kernel/irq_impl.h
===================================================================
--- linux-next.orig/arch/alpha/kernel/irq_impl.h
+++ linux-next/arch/alpha/kernel/irq_impl.h
@@ -31,11 +31,9 @@ extern void init_rtc_irq(void);
 
 extern void common_init_isa_dma(void);
 
-extern void i8259a_enable_irq(unsigned int);
-extern void i8259a_disable_irq(unsigned int);
-extern void i8259a_mask_and_ack_irq(unsigned int);
-extern unsigned int i8259a_startup_irq(unsigned int);
-extern void i8259a_end_irq(unsigned int);
+extern void i8259a_enable_irq(struct irq_data *d);
+extern void i8259a_disable_irq(struct irq_data *d);
+extern void i8259a_mask_and_ack_irq(struct irq_data *d);
 extern struct irq_chip i8259a_irq_type;
 extern void init_i8259a_irqs(void);
 
Index: linux-next/arch/alpha/kernel/sys_alcor.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_alcor.c
+++ linux-next/arch/alpha/kernel/sys_alcor.c
@@ -44,31 +44,31 @@ alcor_update_irq_hw(unsigned long mask)
 }
 
 static inline void
-alcor_enable_irq(unsigned int irq)
+alcor_enable_irq(struct irq_data *d)
 {
-	alcor_update_irq_hw(cached_irq_mask |= 1UL << (irq - 16));
+	alcor_update_irq_hw(cached_irq_mask |= 1UL << (d->irq - 16));
 }
 
 static void
-alcor_disable_irq(unsigned int irq)
+alcor_disable_irq(struct irq_data *d)
 {
-	alcor_update_irq_hw(cached_irq_mask &= ~(1UL << (irq - 16)));
+	alcor_update_irq_hw(cached_irq_mask &= ~(1UL << (d->irq - 16)));
 }
 
 static void
-alcor_mask_and_ack_irq(unsigned int irq)
+alcor_mask_and_ack_irq(struct irq_data *d)
 {
-	alcor_disable_irq(irq);
+	alcor_disable_irq(d);
 
 	/* On ALCOR/XLT, need to dismiss interrupt via GRU. */
-	*(vuip)GRU_INT_CLEAR = 1 << (irq - 16); mb();
+	*(vuip)GRU_INT_CLEAR = 1 << (d->irq - 16); mb();
 	*(vuip)GRU_INT_CLEAR = 0; mb();
 }
 
 static void
-alcor_isa_mask_and_ack_irq(unsigned int irq)
+alcor_isa_mask_and_ack_irq(struct irq_data *d)
 {
-	i8259a_mask_and_ack_irq(irq);
+	i8259a_mask_and_ack_irq(d);
 
 	/* On ALCOR/XLT, need to dismiss interrupt via GRU. */
 	*(vuip)GRU_INT_CLEAR = 0x80000000; mb();
@@ -77,9 +77,9 @@ alcor_isa_mask_and_ack_irq(unsigned int 
 
 static struct irq_chip alcor_irq_type = {
 	.name		= "ALCOR",
-	.unmask		= alcor_enable_irq,
-	.mask		= alcor_disable_irq,
-	.mask_ack	= alcor_mask_and_ack_irq,
+	.irq_unmask	= alcor_enable_irq,
+	.irq_mask	= alcor_disable_irq,
+	.irq_mask_ack	= alcor_mask_and_ack_irq,
 };
 
 static void
@@ -126,9 +126,9 @@ alcor_init_irq(void)
 		if (i >= 16+20 && i <= 16+30)
 			continue;
 		set_irq_chip_and_handler(i, &alcor_irq_type, handle_level_irq);
-		irq_to_desc(i)->status |= IRQ_LEVEL;
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
-	i8259a_irq_type.ack = alcor_isa_mask_and_ack_irq;
+	i8259a_irq_type.irq_ack = alcor_isa_mask_and_ack_irq;
 
 	init_i8259a_irqs();
 	common_init_isa_dma();
Index: linux-next/arch/alpha/kernel/sys_jensen.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_jensen.c
+++ linux-next/arch/alpha/kernel/sys_jensen.c
@@ -63,34 +63,34 @@
  */
 
 static void
-jensen_local_enable(unsigned int irq)
+jensen_local_enable(struct irq_data *d)
 {
 	/* the parport is really hw IRQ 1, silly Jensen.  */
-	if (irq == 7)
-		i8259a_enable_irq(1);
+	if (d->irq == 7)
+		i8259a_enable_irq(d);
 }
 
 static void
-jensen_local_disable(unsigned int irq)
+jensen_local_disable(struct irq_data *d)
 {
 	/* the parport is really hw IRQ 1, silly Jensen.  */
-	if (irq == 7)
-		i8259a_disable_irq(1);
+	if (d->irq == 7)
+		i8259a_disable_irq(d);
 }
 
 static void
-jensen_local_mask_ack(unsigned int irq)
+jensen_local_mask_ack(struct irq_data *d)
 {
 	/* the parport is really hw IRQ 1, silly Jensen.  */
-	if (irq == 7)
-		i8259a_mask_and_ack_irq(1);
+	if (d->irq == 7)
+		i8259a_mask_and_ack_irq(d);
 }
 
 static struct irq_chip jensen_local_irq_type = {
 	.name		= "LOCAL",
-	.unmask		= jensen_local_enable,
-	.mask		= jensen_local_disable,
-	.mask_ack	= jensen_local_mask_ack,
+	.irq_unmask	= jensen_local_enable,
+	.irq_mask	= jensen_local_disable,
+	.irq_mask_ack	= jensen_local_mask_ack,
 };
 
 static void 
Index: linux-next/arch/alpha/kernel/sys_wildfire.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_wildfire.c
+++ linux-next/arch/alpha/kernel/sys_wildfire.c
@@ -104,10 +104,12 @@ wildfire_init_irq_hw(void)
 }
 
 static void
-wildfire_enable_irq(unsigned int irq)
+wildfire_enable_irq(struct irq_data *d)
 {
+	unsigned int irq = d->irq;
+
 	if (irq < 16)
-		i8259a_enable_irq(irq);
+		i8259a_enable_irq(d);
 
 	spin_lock(&wildfire_irq_lock);
 	set_bit(irq, &cached_irq_mask);
@@ -116,10 +118,12 @@ wildfire_enable_irq(unsigned int irq)
 }
 
 static void
-wildfire_disable_irq(unsigned int irq)
+wildfire_disable_irq(struct irq_data *d)
 {
+	unsigned int irq = d->irq;
+
 	if (irq < 16)
-		i8259a_disable_irq(irq);
+		i8259a_disable_irq(d);
 
 	spin_lock(&wildfire_irq_lock);
 	clear_bit(irq, &cached_irq_mask);
@@ -128,10 +132,12 @@ wildfire_disable_irq(unsigned int irq)
 }
 
 static void
-wildfire_mask_and_ack_irq(unsigned int irq)
+wildfire_mask_and_ack_irq(struct irq_data *d)
 {
+	unsigned int irq = d->irq;
+
 	if (irq < 16)
-		i8259a_mask_and_ack_irq(irq);
+		i8259a_mask_and_ack_irq(d);
 
 	spin_lock(&wildfire_irq_lock);
 	clear_bit(irq, &cached_irq_mask);
@@ -141,9 +147,9 @@ wildfire_mask_and_ack_irq(unsigned int i
 
 static struct irq_chip wildfire_irq_type = {
 	.name		= "WILDFIRE",
-	.unmask		= wildfire_enable_irq,
-	.mask		= wildfire_disable_irq,
-	.mask_ack	= wildfire_mask_and_ack_irq,
+	.irq_unmask	= wildfire_enable_irq,
+	.irq_mask	= wildfire_disable_irq,
+	.irq_mask_ack	= wildfire_mask_and_ack_irq,
 };
 
 static void __init
@@ -177,21 +183,21 @@ wildfire_init_irq_per_pca(int qbbno, int
 	for (i = 0; i < 16; ++i) {
 		if (i == 2)
 			continue;
-		irq_to_desc(i+irq_bias)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i+irq_bias, &wildfire_irq_type,
 			handle_level_irq);
+		irq_set_status_flags(i + irq_bias, IRQ_LEVEL);
 	}
 
-	irq_to_desc(36+irq_bias)->status |= IRQ_LEVEL;
 	set_irq_chip_and_handler(36+irq_bias, &wildfire_irq_type,
 		handle_level_irq);
+	irq_set_status_flags(36 + irq_bias, IRQ_LEVEL);
 	for (i = 40; i < 64; ++i) {
-		irq_to_desc(i+irq_bias)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i+irq_bias, &wildfire_irq_type,
 			handle_level_irq);
+		irq_set_status_flags(i + irq_bias, IRQ_LEVEL);
 	}
 
-	setup_irq(32+irq_bias, &isa_enable);	
+	setup_irq(32+irq_bias, &isa_enable);
 }
 
 static void __init



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 05/19] alpha: cabriolet: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (3 preceding siblings ...)
  2011-02-06 14:32 ` [patch 04/19] alpha: i8259, alcor, jensen wildfire: Convert irq_chip Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 06/19] alpha: dp264: " Thomas Gleixner
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-cabriolet-convert-irq-chip.patch --]
[-- Type: text/plain, Size: 1515 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_cabriolet.c |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_cabriolet.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_cabriolet.c
+++ linux-next/arch/alpha/kernel/sys_cabriolet.c
@@ -46,22 +46,22 @@ cabriolet_update_irq_hw(unsigned int irq
 }
 
 static inline void
-cabriolet_enable_irq(unsigned int irq)
+cabriolet_enable_irq(struct irq_data *d)
 {
-	cabriolet_update_irq_hw(irq, cached_irq_mask &= ~(1UL << irq));
+	cabriolet_update_irq_hw(d->irq, cached_irq_mask &= ~(1UL << d->irq));
 }
 
 static void
-cabriolet_disable_irq(unsigned int irq)
+cabriolet_disable_irq(struct irq_data *d)
 {
-	cabriolet_update_irq_hw(irq, cached_irq_mask |= 1UL << irq);
+	cabriolet_update_irq_hw(d->irq, cached_irq_mask |= 1UL << d->irq);
 }
 
 static struct irq_chip cabriolet_irq_type = {
 	.name		= "CABRIOLET",
-	.unmask		= cabriolet_enable_irq,
-	.mask		= cabriolet_disable_irq,
-	.mask_ack	= cabriolet_disable_irq,
+	.irq_unmask	= cabriolet_enable_irq,
+	.irq_mask	= cabriolet_disable_irq,
+	.irq_mask_ack	= cabriolet_disable_irq,
 };
 
 static void 
@@ -107,7 +107,7 @@ common_init_irq(void (*srm_dev_int)(unsi
 		for (i = 16; i < 35; ++i) {
 			set_irq_chip_and_handler(i, &cabriolet_irq_type,
 				handle_level_irq);
-			irq_to_desc(i)->status |= IRQ_LEVEL;
+			irq_set_status_flags(i, IRQ_LEVEL);
 		}
 	}
 



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 06/19] alpha: dp264: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (4 preceding siblings ...)
  2011-02-06 14:32 ` [patch 05/19] alpha: cabriolet: Convert irq_chip functions Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 07/19] alpha: eb64p: " Thomas Gleixner
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-dp264-convert-irq-chip.patch --]
[-- Type: text/plain, Size: 3575 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_dp264.c |   52 +++++++++++++++++++++---------------------
 1 file changed, 27 insertions(+), 25 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_dp264.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_dp264.c
+++ linux-next/arch/alpha/kernel/sys_dp264.c
@@ -98,37 +98,37 @@ tsunami_update_irq_hw(unsigned long mask
 }
 
 static void
-dp264_enable_irq(unsigned int irq)
+dp264_enable_irq(struct irq_data *d)
 {
 	spin_lock(&dp264_irq_lock);
-	cached_irq_mask |= 1UL << irq;
+	cached_irq_mask |= 1UL << d->irq;
 	tsunami_update_irq_hw(cached_irq_mask);
 	spin_unlock(&dp264_irq_lock);
 }
 
 static void
-dp264_disable_irq(unsigned int irq)
+dp264_disable_irq(struct irq_data *d)
 {
 	spin_lock(&dp264_irq_lock);
-	cached_irq_mask &= ~(1UL << irq);
+	cached_irq_mask &= ~(1UL << d->irq);
 	tsunami_update_irq_hw(cached_irq_mask);
 	spin_unlock(&dp264_irq_lock);
 }
 
 static void
-clipper_enable_irq(unsigned int irq)
+clipper_enable_irq(struct irq_data *d)
 {
 	spin_lock(&dp264_irq_lock);
-	cached_irq_mask |= 1UL << (irq - 16);
+	cached_irq_mask |= 1UL << (d->irq - 16);
 	tsunami_update_irq_hw(cached_irq_mask);
 	spin_unlock(&dp264_irq_lock);
 }
 
 static void
-clipper_disable_irq(unsigned int irq)
+clipper_disable_irq(struct irq_data *d)
 {
 	spin_lock(&dp264_irq_lock);
-	cached_irq_mask &= ~(1UL << (irq - 16));
+	cached_irq_mask &= ~(1UL << (d->irq - 16));
 	tsunami_update_irq_hw(cached_irq_mask);
 	spin_unlock(&dp264_irq_lock);
 }
@@ -149,10 +149,11 @@ cpu_set_irq_affinity(unsigned int irq, c
 }
 
 static int
-dp264_set_affinity(unsigned int irq, const struct cpumask *affinity)
-{ 
+dp264_set_affinity(struct irq_data *d, const struct cpumask *affinity,
+		   bool force)
+{
 	spin_lock(&dp264_irq_lock);
-	cpu_set_irq_affinity(irq, *affinity);
+	cpu_set_irq_affinity(d->irq, *affinity);
 	tsunami_update_irq_hw(cached_irq_mask);
 	spin_unlock(&dp264_irq_lock);
 
@@ -160,10 +161,11 @@ dp264_set_affinity(unsigned int irq, con
 }
 
 static int
-clipper_set_affinity(unsigned int irq, const struct cpumask *affinity)
-{ 
+clipper_set_affinity(struct irq_data *d, const struct cpumask *affinity,
+		     bool force)
+{
 	spin_lock(&dp264_irq_lock);
-	cpu_set_irq_affinity(irq - 16, *affinity);
+	cpu_set_irq_affinity(d->irq - 16, *affinity);
 	tsunami_update_irq_hw(cached_irq_mask);
 	spin_unlock(&dp264_irq_lock);
 
@@ -171,19 +173,19 @@ clipper_set_affinity(unsigned int irq, c
 }
 
 static struct irq_chip dp264_irq_type = {
-	.name		= "DP264",
-	.unmask		= dp264_enable_irq,
-	.mask		= dp264_disable_irq,
-	.mask_ack	= dp264_disable_irq,
-	.set_affinity	= dp264_set_affinity,
+	.name			= "DP264",
+	.irq_unmask		= dp264_enable_irq,
+	.irq_mask		= dp264_disable_irq,
+	.irq_mask_ack		= dp264_disable_irq,
+	.irq_set_affinity	= dp264_set_affinity,
 };
 
 static struct irq_chip clipper_irq_type = {
-	.name		= "CLIPPER",
-	.unmask		= clipper_enable_irq,
-	.mask		= clipper_disable_irq,
-	.mask_ack	= clipper_disable_irq,
-	.set_affinity	= clipper_set_affinity,
+	.name			= "CLIPPER",
+	.irq_unmask		= clipper_enable_irq,
+	.irq_mask		= clipper_disable_irq,
+	.irq_mask_ack		= clipper_disable_irq,
+	.irq_set_affinity	= clipper_set_affinity,
 };
 
 static void
@@ -268,8 +270,8 @@ init_tsunami_irqs(struct irq_chip * ops,
 {
 	long i;
 	for (i = imin; i <= imax; ++i) {
-		irq_to_desc(i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i, ops, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 }
 



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 07/19] alpha: eb64p: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (5 preceding siblings ...)
  2011-02-06 14:32 ` [patch 06/19] alpha: dp264: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 08/19] alpha: eiger: " Thomas Gleixner
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-convert-eb64p.patch --]
[-- Type: text/plain, Size: 1489 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_eb64p.c |   18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_eb64p.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_eb64p.c
+++ linux-next/arch/alpha/kernel/sys_eb64p.c
@@ -44,22 +44,22 @@ eb64p_update_irq_hw(unsigned int irq, un
 }
 
 static inline void
-eb64p_enable_irq(unsigned int irq)
+eb64p_enable_irq(struct irq_data *d)
 {
-	eb64p_update_irq_hw(irq, cached_irq_mask &= ~(1 << irq));
+	eb64p_update_irq_hw(d->irq, cached_irq_mask &= ~(1 << d->irq));
 }
 
 static void
-eb64p_disable_irq(unsigned int irq)
+eb64p_disable_irq(struct irq_data *d)
 {
-	eb64p_update_irq_hw(irq, cached_irq_mask |= 1 << irq);
+	eb64p_update_irq_hw(d->irq, cached_irq_mask |= 1 << d->irq);
 }
 
 static struct irq_chip eb64p_irq_type = {
 	.name		= "EB64P",
-	.unmask		= eb64p_enable_irq,
-	.mask		= eb64p_disable_irq,
-	.mask_ack	= eb64p_disable_irq,
+	.irq_unmask	= eb64p_enable_irq,
+	.irq_mask	= eb64p_disable_irq,
+	.irq_mask_ack	= eb64p_disable_irq,
 };
 
 static void 
@@ -118,9 +118,9 @@ eb64p_init_irq(void)
 	init_i8259a_irqs();
 
 	for (i = 16; i < 32; ++i) {
-		irq_to_desc(i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i, &eb64p_irq_type, handle_level_irq);
-	}		
+		irq_set_status_flags(i, IRQ_LEVEL);
+	}
 
 	common_init_isa_dma();
 	setup_irq(16+5, &isa_cascade_irqaction);



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 08/19] alpha: eiger: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (6 preceding siblings ...)
  2011-02-06 14:32 ` [patch 07/19] alpha: eb64p: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 09/19] alpha: marvel: " Thomas Gleixner
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-eiger-convert-irq-chip.patch --]
[-- Type: text/plain, Size: 1512 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_eiger.c |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_eiger.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_eiger.c
+++ linux-next/arch/alpha/kernel/sys_eiger.c
@@ -51,16 +51,18 @@ eiger_update_irq_hw(unsigned long irq, u
 }
 
 static inline void
-eiger_enable_irq(unsigned int irq)
+eiger_enable_irq(struct irq_data *d)
 {
+	unsigned int irq = d->irq;
 	unsigned long mask;
 	mask = (cached_irq_mask[irq >= 64] &= ~(1UL << (irq & 63)));
 	eiger_update_irq_hw(irq, mask);
 }
 
 static void
-eiger_disable_irq(unsigned int irq)
+eiger_disable_irq(struct irq_data *d)
 {
+	unsigned int irq = d->irq;
 	unsigned long mask;
 	mask = (cached_irq_mask[irq >= 64] |= 1UL << (irq & 63));
 	eiger_update_irq_hw(irq, mask);
@@ -68,9 +70,9 @@ eiger_disable_irq(unsigned int irq)
 
 static struct irq_chip eiger_irq_type = {
 	.name		= "EIGER",
-	.unmask		= eiger_enable_irq,
-	.mask		= eiger_disable_irq,
-	.mask_ack	= eiger_disable_irq,
+	.irq_unmask	= eiger_enable_irq,
+	.irq_mask	= eiger_disable_irq,
+	.irq_mask_ack	= eiger_disable_irq,
 };
 
 static void
@@ -136,8 +138,8 @@ eiger_init_irq(void)
 	init_i8259a_irqs();
 
 	for (i = 16; i < 128; ++i) {
-		irq_to_desc(i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i, &eiger_irq_type, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 }
 



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 09/19] alpha: marvel: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (7 preceding siblings ...)
  2011-02-06 14:32 ` [patch 08/19] alpha: eiger: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 10/19] alpha: mikasa: " Thomas Gleixner
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-marvel-convert.patch --]
[-- Type: text/plain, Size: 2871 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_marvel.c |   42 ++++++++++++++++++-----------------------
 1 file changed, 19 insertions(+), 23 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_marvel.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_marvel.c
+++ linux-next/arch/alpha/kernel/sys_marvel.c
@@ -104,9 +104,10 @@ io7_get_irq_ctl(unsigned int irq, struct
 }
 
 static void
-io7_enable_irq(unsigned int irq)
+io7_enable_irq(struct irq_data *d)
 {
 	volatile unsigned long *ctl;
+	unsigned int irq = d->irq;
 	struct io7 *io7;
 
 	ctl = io7_get_irq_ctl(irq, &io7);
@@ -115,7 +116,7 @@ io7_enable_irq(unsigned int irq)
 		       __func__, irq);
 		return;
 	}
-		
+
 	spin_lock(&io7->irq_lock);
 	*ctl |= 1UL << 24;
 	mb();
@@ -124,9 +125,10 @@ io7_enable_irq(unsigned int irq)
 }
 
 static void
-io7_disable_irq(unsigned int irq)
+io7_disable_irq(struct irq_data *d)
 {
 	volatile unsigned long *ctl;
+	unsigned int irq = d->irq;
 	struct io7 *io7;
 
 	ctl = io7_get_irq_ctl(irq, &io7);
@@ -135,7 +137,7 @@ io7_disable_irq(unsigned int irq)
 		       __func__, irq);
 		return;
 	}
-		
+
 	spin_lock(&io7->irq_lock);
 	*ctl &= ~(1UL << 24);
 	mb();
@@ -144,35 +146,29 @@ io7_disable_irq(unsigned int irq)
 }
 
 static void
-marvel_irq_noop(unsigned int irq) 
-{ 
-	return; 
-}
-
-static unsigned int
-marvel_irq_noop_return(unsigned int irq) 
-{ 
-	return 0; 
+marvel_irq_noop(struct irq_data *d)
+{
+	return;
 }
 
 static struct irq_chip marvel_legacy_irq_type = {
 	.name		= "LEGACY",
-	.mask		= marvel_irq_noop,
-	.unmask		= marvel_irq_noop,
+	.irq_mask	= marvel_irq_noop,
+	.irq_unmask	= marvel_irq_noop,
 };
 
 static struct irq_chip io7_lsi_irq_type = {
 	.name		= "LSI",
-	.unmask		= io7_enable_irq,
-	.mask		= io7_disable_irq,
-	.mask_ack	= io7_disable_irq,
+	.irq_unmask	= io7_enable_irq,
+	.irq_mask	= io7_disable_irq,
+	.irq_mask_ack	= io7_disable_irq,
 };
 
 static struct irq_chip io7_msi_irq_type = {
 	.name		= "MSI",
-	.unmask		= io7_enable_irq,
-	.mask		= io7_disable_irq,
-	.ack		= marvel_irq_noop,
+	.irq_unmask	= io7_enable_irq,
+	.irq_mask	= io7_disable_irq,
+	.irq_ack	= marvel_irq_noop,
 };
 
 static void
@@ -280,8 +276,8 @@ init_io7_irqs(struct io7 *io7, 
 
 	/* Set up the lsi irqs.  */
 	for (i = 0; i < 128; ++i) {
-		irq_to_desc(base + i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(base + i, lsi_ops, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 
 	/* Disable the implemented irqs in hardware.  */
@@ -294,8 +290,8 @@ init_io7_irqs(struct io7 *io7, 
 
 	/* Set up the msi irqs.  */
 	for (i = 128; i < (128 + 512); ++i) {
-		irq_to_desc(base + i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(base + i, msi_ops, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 
 	for (i = 0; i < 16; ++i)



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 10/19] alpha: mikasa: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (8 preceding siblings ...)
  2011-02-06 14:32 ` [patch 09/19] alpha: marvel: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 11/19] alpha: rawhide: " Thomas Gleixner
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-convert-mikasa.patch --]
[-- Type: text/plain, Size: 1452 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_mikasa.c |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_mikasa.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_mikasa.c
+++ linux-next/arch/alpha/kernel/sys_mikasa.c
@@ -43,22 +43,22 @@ mikasa_update_irq_hw(int mask)
 }
 
 static inline void
-mikasa_enable_irq(unsigned int irq)
+mikasa_enable_irq(struct irq_data *d)
 {
-	mikasa_update_irq_hw(cached_irq_mask |= 1 << (irq - 16));
+	mikasa_update_irq_hw(cached_irq_mask |= 1 << (d->irq - 16));
 }
 
 static void
-mikasa_disable_irq(unsigned int irq)
+mikasa_disable_irq(struct irq_data *d)
 {
-	mikasa_update_irq_hw(cached_irq_mask &= ~(1 << (irq - 16)));
+	mikasa_update_irq_hw(cached_irq_mask &= ~(1 << (d->irq - 16)));
 }
 
 static struct irq_chip mikasa_irq_type = {
 	.name		= "MIKASA",
-	.unmask		= mikasa_enable_irq,
-	.mask		= mikasa_disable_irq,
-	.mask_ack	= mikasa_disable_irq,
+	.irq_unmask	= mikasa_enable_irq,
+	.irq_mask	= mikasa_disable_irq,
+	.irq_mask_ack	= mikasa_disable_irq,
 };
 
 static void 
@@ -98,8 +98,8 @@ mikasa_init_irq(void)
 	mikasa_update_irq_hw(0);
 
 	for (i = 16; i < 32; ++i) {
-		irq_to_desc(i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i, &mikasa_irq_type, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 
 	init_i8259a_irqs();



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 11/19] alpha: rawhide: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (9 preceding siblings ...)
  2011-02-06 14:32 ` [patch 10/19] alpha: mikasa: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 12/19] alpha: noritake: " Thomas Gleixner
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-convert-rawhide.patch --]
[-- Type: text/plain, Size: 1787 bytes --]

---
 arch/alpha/kernel/sys_rawhide.c |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_rawhide.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_rawhide.c
+++ linux-next/arch/alpha/kernel/sys_rawhide.c
@@ -56,9 +56,10 @@ rawhide_update_irq_hw(int hose, int mask
   (((h) < MCPCIA_MAX_HOSES) && (cached_irq_masks[(h)] != 0))
 
 static inline void 
-rawhide_enable_irq(unsigned int irq)
+rawhide_enable_irq(struct irq_data *d)
 {
 	unsigned int mask, hose;
+	unsigned int irq = d->irq;
 
 	irq -= 16;
 	hose = irq / 24;
@@ -76,9 +77,10 @@ rawhide_enable_irq(unsigned int irq)
 }
 
 static void 
-rawhide_disable_irq(unsigned int irq)
+rawhide_disable_irq(struct irq_data *d)
 {
 	unsigned int mask, hose;
+	unsigned int irq = d->irq;
 
 	irq -= 16;
 	hose = irq / 24;
@@ -96,9 +98,10 @@ rawhide_disable_irq(unsigned int irq)
 }
 
 static void
-rawhide_mask_and_ack_irq(unsigned int irq)
+rawhide_mask_and_ack_irq(struct irq_data *d)
 {
 	unsigned int mask, mask1, hose;
+	unsigned int irq = d->irq;
 
 	irq -= 16;
 	hose = irq / 24;
@@ -123,9 +126,9 @@ rawhide_mask_and_ack_irq(unsigned int ir
 
 static struct irq_chip rawhide_irq_type = {
 	.name		= "RAWHIDE",
-	.unmask		= rawhide_enable_irq,
-	.mask		= rawhide_disable_irq,
-	.mask_ack	= rawhide_mask_and_ack_irq,
+	.irq_unmask	= rawhide_enable_irq,
+	.irq_mask	= rawhide_disable_irq,
+	.irq_mask_ack	= rawhide_mask_and_ack_irq,
 };
 
 static void 
@@ -177,8 +180,8 @@ rawhide_init_irq(void)
 	}
 
 	for (i = 16; i < 128; ++i) {
-		irq_to_desc(i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i, &rawhide_irq_type, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 
 	init_i8259a_irqs();



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 12/19] alpha: noritake: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (10 preceding siblings ...)
  2011-02-06 14:32 ` [patch 11/19] alpha: rawhide: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 13/19] alpha: rx164: " Thomas Gleixner
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-noritake-convert.patch --]
[-- Type: text/plain, Size: 1518 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_noritake.c |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_noritake.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_noritake.c
+++ linux-next/arch/alpha/kernel/sys_noritake.c
@@ -48,22 +48,22 @@ noritake_update_irq_hw(int irq, int mask
 }
 
 static void
-noritake_enable_irq(unsigned int irq)
+noritake_enable_irq(struct irq_data *d)
 {
-	noritake_update_irq_hw(irq, cached_irq_mask |= 1 << (irq - 16));
+	noritake_update_irq_hw(d->irq, cached_irq_mask |= 1 << (d->irq - 16));
 }
 
 static void
-noritake_disable_irq(unsigned int irq)
+noritake_disable_irq(struct irq_data *d)
 {
-	noritake_update_irq_hw(irq, cached_irq_mask &= ~(1 << (irq - 16)));
+	noritake_update_irq_hw(d->irq, cached_irq_mask &= ~(1 << (d->irq - 16)));
 }
 
 static struct irq_chip noritake_irq_type = {
 	.name		= "NORITAKE",
-	.unmask		= noritake_enable_irq,
-	.mask		= noritake_disable_irq,
-	.mask_ack	= noritake_disable_irq,
+	.irq_unmask	= noritake_enable_irq,
+	.irq_mask	= noritake_disable_irq,
+	.irq_mask_ack	= noritake_disable_irq,
 };
 
 static void 
@@ -127,8 +127,8 @@ noritake_init_irq(void)
 	outw(0, 0x54c);
 
 	for (i = 16; i < 48; ++i) {
-		irq_to_desc(i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i, &noritake_irq_type, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 
 	init_i8259a_irqs();



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 13/19] alpha: rx164: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (11 preceding siblings ...)
  2011-02-06 14:32 ` [patch 12/19] alpha: noritake: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 14/19] alpha: sable: " Thomas Gleixner
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-rx164-convert.patch --]
[-- Type: text/plain, Size: 1446 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_rx164.c |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_rx164.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_rx164.c
+++ linux-next/arch/alpha/kernel/sys_rx164.c
@@ -47,22 +47,22 @@ rx164_update_irq_hw(unsigned long mask)
 }
 
 static inline void
-rx164_enable_irq(unsigned int irq)
+rx164_enable_irq(struct irq_data *d)
 {
-	rx164_update_irq_hw(cached_irq_mask |= 1UL << (irq - 16));
+	rx164_update_irq_hw(cached_irq_mask |= 1UL << (d->irq - 16));
 }
 
 static void
-rx164_disable_irq(unsigned int irq)
+rx164_disable_irq(struct irq_data *d)
 {
-	rx164_update_irq_hw(cached_irq_mask &= ~(1UL << (irq - 16)));
+	rx164_update_irq_hw(cached_irq_mask &= ~(1UL << (d->irq - 16)));
 }
 
 static struct irq_chip rx164_irq_type = {
 	.name		= "RX164",
-	.unmask		= rx164_enable_irq,
-	.mask		= rx164_disable_irq,
-	.mask_ack	= rx164_disable_irq,
+	.irq_unmask	= rx164_enable_irq,
+	.irq_mask	= rx164_disable_irq,
+	.irq_mask_ack	= rx164_disable_irq,
 };
 
 static void 
@@ -99,8 +99,8 @@ rx164_init_irq(void)
 
 	rx164_update_irq_hw(0);
 	for (i = 16; i < 40; ++i) {
-		irq_to_desc(i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i, &rx164_irq_type, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 
 	init_i8259a_irqs();



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 14/19] alpha: sable: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (12 preceding siblings ...)
  2011-02-06 14:32 ` [patch 13/19] alpha: rx164: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 15/19] alpha: takara: " Thomas Gleixner
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-convert-sable.patch --]
[-- Type: text/plain, Size: 2454 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_sable.c |   20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_sable.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_sable.c
+++ linux-next/arch/alpha/kernel/sys_sable.c
@@ -443,11 +443,11 @@ lynx_swizzle(struct pci_dev *dev, u8 *pi
 /* GENERIC irq routines */
 
 static inline void
-sable_lynx_enable_irq(unsigned int irq)
+sable_lynx_enable_irq(struct irq_data *d)
 {
 	unsigned long bit, mask;
 
-	bit = sable_lynx_irq_swizzle->irq_to_mask[irq];
+	bit = sable_lynx_irq_swizzle->irq_to_mask[d->irq];
 	spin_lock(&sable_lynx_irq_lock);
 	mask = sable_lynx_irq_swizzle->shadow_mask &= ~(1UL << bit);
 	sable_lynx_irq_swizzle->update_irq_hw(bit, mask);
@@ -459,11 +459,11 @@ sable_lynx_enable_irq(unsigned int irq)
 }
 
 static void
-sable_lynx_disable_irq(unsigned int irq)
+sable_lynx_disable_irq(struct irq_data *d)
 {
 	unsigned long bit, mask;
 
-	bit = sable_lynx_irq_swizzle->irq_to_mask[irq];
+	bit = sable_lynx_irq_swizzle->irq_to_mask[d->irq];
 	spin_lock(&sable_lynx_irq_lock);
 	mask = sable_lynx_irq_swizzle->shadow_mask |= 1UL << bit;
 	sable_lynx_irq_swizzle->update_irq_hw(bit, mask);
@@ -475,11 +475,11 @@ sable_lynx_disable_irq(unsigned int irq)
 }
 
 static void
-sable_lynx_mask_and_ack_irq(unsigned int irq)
+sable_lynx_mask_and_ack_irq(struct irq_data *d)
 {
 	unsigned long bit, mask;
 
-	bit = sable_lynx_irq_swizzle->irq_to_mask[irq];
+	bit = sable_lynx_irq_swizzle->irq_to_mask[d->irq];
 	spin_lock(&sable_lynx_irq_lock);
 	mask = sable_lynx_irq_swizzle->shadow_mask |= 1UL << bit;
 	sable_lynx_irq_swizzle->update_irq_hw(bit, mask);
@@ -489,9 +489,9 @@ sable_lynx_mask_and_ack_irq(unsigned int
 
 static struct irq_chip sable_lynx_irq_type = {
 	.name		= "SABLE/LYNX",
-	.unmask		= sable_lynx_enable_irq,
-	.mask		= sable_lynx_disable_irq,
-	.mask_ack	= sable_lynx_mask_and_ack_irq,
+	.irq_unmask	= sable_lynx_enable_irq,
+	.irq_mask	= sable_lynx_disable_irq,
+	.irq_mask_ack	= sable_lynx_mask_and_ack_irq,
 };
 
 static void 
@@ -518,9 +518,9 @@ sable_lynx_init_irq(int nr_of_irqs)
 	long i;
 
 	for (i = 0; i < nr_of_irqs; ++i) {
-		irq_to_desc(i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i, &sable_lynx_irq_type,
 			handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 
 	common_init_isa_dma();



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 15/19] alpha: takara: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (13 preceding siblings ...)
  2011-02-06 14:32 ` [patch 14/19] alpha: sable: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:32 ` [patch 16/19] alpha: titan: " Thomas Gleixner
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-convert-takara.patch --]
[-- Type: text/plain, Size: 1565 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_takara.c |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_takara.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_takara.c
+++ linux-next/arch/alpha/kernel/sys_takara.c
@@ -45,16 +45,18 @@ takara_update_irq_hw(unsigned long irq, 
 }
 
 static inline void
-takara_enable_irq(unsigned int irq)
+takara_enable_irq(struct irq_data *d)
 {
+	unsigned int irq = d->irq;
 	unsigned long mask;
 	mask = (cached_irq_mask[irq >= 64] &= ~(1UL << (irq & 63)));
 	takara_update_irq_hw(irq, mask);
 }
 
 static void
-takara_disable_irq(unsigned int irq)
+takara_disable_irq(struct irq_data *d)
 {
+	unsigned int irq = d->irq;
 	unsigned long mask;
 	mask = (cached_irq_mask[irq >= 64] |= 1UL << (irq & 63));
 	takara_update_irq_hw(irq, mask);
@@ -62,9 +64,9 @@ takara_disable_irq(unsigned int irq)
 
 static struct irq_chip takara_irq_type = {
 	.name		= "TAKARA",
-	.unmask		= takara_enable_irq,
-	.mask		= takara_disable_irq,
-	.mask_ack	= takara_disable_irq,
+	.irq_unmask	= takara_enable_irq,
+	.irq_mask	= takara_disable_irq,
+	.irq_mask_ack	= takara_disable_irq,
 };
 
 static void
@@ -136,8 +138,8 @@ takara_init_irq(void)
 		takara_update_irq_hw(i, -1);
 
 	for (i = 16; i < 128; ++i) {
-		irq_to_desc(i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i, &takara_irq_type, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 
 	common_init_isa_dma();



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 16/19] alpha: titan: Convert irq_chip functions
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (14 preceding siblings ...)
  2011-02-06 14:32 ` [patch 15/19] alpha: takara: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-23 21:30   ` Matt Turner
  2011-02-06 14:32 ` [patch 17/19] alpha: irq: Remove pointless irq status manipulation Thomas Gleixner
                   ` (3 subsequent siblings)
  19 siblings, 1 reply; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-convert-titan.patch --]
[-- Type: text/plain, Size: 1902 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/sys_titan.c |   19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

Index: linux-next/arch/alpha/kernel/sys_titan.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/sys_titan.c
+++ linux-next/arch/alpha/kernel/sys_titan.c
@@ -112,7 +112,7 @@ titan_update_irq_hw(unsigned long mask)
 }
 
 static inline void
-titan_enable_irq(unsigned int irq)
+titan_enable_irq(struct irq_data *d)
 {
 	spin_lock(&titan_irq_lock);
 	titan_cached_irq_mask |= 1UL << (irq - 16);
@@ -121,7 +121,7 @@ titan_enable_irq(unsigned int irq)
 }
 
 static inline void
-titan_disable_irq(unsigned int irq)
+titan_disable_irq(struct irq_data *d)
 {
 	spin_lock(&titan_irq_lock);
 	titan_cached_irq_mask &= ~(1UL << (irq - 16));
@@ -144,7 +144,8 @@ titan_cpu_set_irq_affinity(unsigned int 
 }
 
 static int
-titan_set_irq_affinity(unsigned int irq, const struct cpumask *affinity)
+titan_set_irq_affinity(struct irq_data *d, const struct cpumask *affinity,
+		       bool force)
 { 
 	spin_lock(&titan_irq_lock);
 	titan_cpu_set_irq_affinity(irq - 16, *affinity);
@@ -175,17 +176,17 @@ init_titan_irqs(struct irq_chip * ops, i
 {
 	long i;
 	for (i = imin; i <= imax; ++i) {
-		irq_to_desc(i)->status |= IRQ_LEVEL;
 		set_irq_chip_and_handler(i, ops, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
 	}
 }
 
 static struct irq_chip titan_irq_type = {
-       .name		= "TITAN",
-       .unmask		= titan_enable_irq,
-       .mask		= titan_disable_irq,
-       .mask_ack	= titan_disable_irq,
-       .set_affinity	= titan_set_irq_affinity,
+       .name			= "TITAN",
+       .irq_unmask		= titan_enable_irq,
+       .irq_mask		= titan_disable_irq,
+       .irq_mask_ack		= titan_disable_irq,
+       .irq_set_affinity	= titan_set_irq_affinity,
 };
 
 static irqreturn_t



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 17/19] alpha: irq: Remove pointless irq status manipulation
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (15 preceding siblings ...)
  2011-02-06 14:32 ` [patch 16/19] alpha: titan: " Thomas Gleixner
@ 2011-02-06 14:32 ` Thomas Gleixner
  2011-02-06 14:33 ` [patch 18/19] alpha: irq: Convert affinity to use irq_data Thomas Gleixner
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:32 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-remove-redundant-irq-flags-fiddling.patch --]
[-- Type: text/plain, Size: 956 bytes --]

The irq descriptors are initialized IRQ_DISABLED in the generic
code. No need to fiddle with them.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/irq_alpha.c |   11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

Index: linux-next/arch/alpha/kernel/irq_alpha.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/irq_alpha.c
+++ linux-next/arch/alpha/kernel/irq_alpha.c
@@ -228,14 +228,9 @@ struct irqaction timer_irqaction = {
 void __init
 init_rtc_irq(void)
 {
-	struct irq_desc *desc = irq_to_desc(RTC_IRQ);
-
-	if (desc) {
-		desc->status |= IRQ_DISABLED;
-		set_irq_chip_and_handler_name(RTC_IRQ, &no_irq_chip,
-			handle_simple_irq, "RTC");
-		setup_irq(RTC_IRQ, &timer_irqaction);
-	}
+	set_irq_chip_and_handler_name(RTC_IRQ, &no_irq_chip,
+				      handle_simple_irq, "RTC");
+	setup_irq(RTC_IRQ, &timer_irqaction);
 }
 
 /* Dummy irqactions.  */



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 18/19] alpha: irq: Convert affinity to use irq_data
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (16 preceding siblings ...)
  2011-02-06 14:32 ` [patch 17/19] alpha: irq: Remove pointless irq status manipulation Thomas Gleixner
@ 2011-02-06 14:33 ` Thomas Gleixner
  2011-02-06 14:33 ` [patch 19/19] alpha: Enable GENERIC_HARDIRQS_NO_DEPRECATED Thomas Gleixner
  2011-02-23 21:17 ` [patch 00/19] Bugfix and irq_chip conversion Matt Turner
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:33 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-irq-convert-to-irq-data.patch --]
[-- Type: text/plain, Size: 1298 bytes --]

affinity is moving to irq_data. Fix it up.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/kernel/irq.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

Index: linux-next/arch/alpha/kernel/irq.c
===================================================================
--- linux-next.orig/arch/alpha/kernel/irq.c
+++ linux-next/arch/alpha/kernel/irq.c
@@ -44,11 +44,16 @@ static char irq_user_affinity[NR_IRQS];
 
 int irq_select_affinity(unsigned int irq)
 {
-	struct irq_desc *desc = irq_to_desc(irq);
+	struct irq_data *data = irq_get_irq_data(irq);
+	struct irq_chip *chip;
 	static int last_cpu;
 	int cpu = last_cpu + 1;
 
-	if (!desc || !get_irq_desc_chip(desc)->set_affinity || irq_user_affinity[irq])
+	if (!data)
+		return 1;
+	chip = irq_data_get_irq_chip(data);
+
+	if (!chip->irq_set_affinity || irq_user_affinity[irq])
 		return 1;
 
 	while (!cpu_possible(cpu) ||
@@ -56,8 +61,8 @@ int irq_select_affinity(unsigned int irq
 		cpu = (cpu < (NR_CPUS-1) ? cpu + 1 : 0);
 	last_cpu = cpu;
 
-	cpumask_copy(desc->affinity, cpumask_of(cpu));
-	get_irq_desc_chip(desc)->set_affinity(irq, cpumask_of(cpu));
+	cpumask_copy(data->affinity, cpumask_of(cpu));
+	chip->irq_set_affinity(data, cpumask_of(cpu), false);
 	return 0;
 }
 #endif /* CONFIG_SMP */



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [patch 19/19] alpha: Enable GENERIC_HARDIRQS_NO_DEPRECATED
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (17 preceding siblings ...)
  2011-02-06 14:33 ` [patch 18/19] alpha: irq: Convert affinity to use irq_data Thomas Gleixner
@ 2011-02-06 14:33 ` Thomas Gleixner
  2011-02-23 21:17 ` [patch 00/19] Bugfix and irq_chip conversion Matt Turner
  19 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-06 14:33 UTC (permalink / raw)
  To: linux-alpha; +Cc: Kyle McMartin, Matt Turner

[-- Attachment #1: alpha-enable-no-deprecated.patch --]
[-- Type: text/plain, Size: 653 bytes --]

All interrupt chips are converted. Mark it clean.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/alpha/Kconfig |    1 +
 1 file changed, 1 insertion(+)

Index: linux-next/arch/alpha/Kconfig
===================================================================
--- linux-next.orig/arch/alpha/Kconfig
+++ linux-next/arch/alpha/Kconfig
@@ -11,6 +11,7 @@ config ALPHA
 	select HAVE_GENERIC_HARDIRQS
 	select GENERIC_IRQ_PROBE
 	select AUTO_IRQ_AFFINITY if SMP
+	select GENERIC_HARDIRQS_NO_DEPRECATED
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [patch 00/19] Bugfix and irq_chip conversion
  2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
                   ` (18 preceding siblings ...)
  2011-02-06 14:33 ` [patch 19/19] alpha: Enable GENERIC_HARDIRQS_NO_DEPRECATED Thomas Gleixner
@ 2011-02-23 21:17 ` Matt Turner
  19 siblings, 0 replies; 23+ messages in thread
From: Matt Turner @ 2011-02-23 21:17 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: linux-alpha, Kyle McMartin

On Sun, Feb 6, 2011 at 2:32 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> This series fixes the SMP fallout of the doIRQ removal and converts
> all irq chip functions to the new types. Compile tested as far as it
> goes.
>
> Thanks,
>
>        tglx

I'm going to do my best to get these tested and included for .38, but
I'm swamped, so I've asked a couple other people to give them a test.

(Just didn't want to you think I was ignoring your patches or that I
didn't appreciate the work. Thanks for the patches. :)

Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [patch 16/19] alpha: titan: Convert irq_chip functions
  2011-02-06 14:32 ` [patch 16/19] alpha: titan: " Thomas Gleixner
@ 2011-02-23 21:30   ` Matt Turner
  2011-02-23 22:03     ` Thomas Gleixner
  0 siblings, 1 reply; 23+ messages in thread
From: Matt Turner @ 2011-02-23 21:30 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: linux-alpha, Kyle McMartin

On Sun, Feb 6, 2011 at 2:32 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
>  arch/alpha/kernel/sys_titan.c |   19 ++++++++++---------
>  1 file changed, 10 insertions(+), 9 deletions(-)
>
> Index: linux-next/arch/alpha/kernel/sys_titan.c
> ===================================================================
> --- linux-next.orig/arch/alpha/kernel/sys_titan.c
> +++ linux-next/arch/alpha/kernel/sys_titan.c
> @@ -112,7 +112,7 @@ titan_update_irq_hw(unsigned long mask)
>  }
>
>  static inline void
> -titan_enable_irq(unsigned int irq)
> +titan_enable_irq(struct irq_data *d)
>  {
>        spin_lock(&titan_irq_lock);
>        titan_cached_irq_mask |= 1UL << (irq - 16);
> @@ -121,7 +121,7 @@ titan_enable_irq(unsigned int irq)
>  }
>
>  static inline void
> -titan_disable_irq(unsigned int irq)
> +titan_disable_irq(struct irq_data *d)
>  {
>        spin_lock(&titan_irq_lock);
>        titan_cached_irq_mask &= ~(1UL << (irq - 16));

These hunks are missing a
+       unsigned int irq = d->irq;

I can fix that up myself though.
--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [patch 16/19] alpha: titan: Convert irq_chip functions
  2011-02-23 21:30   ` Matt Turner
@ 2011-02-23 22:03     ` Thomas Gleixner
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Gleixner @ 2011-02-23 22:03 UTC (permalink / raw)
  To: Matt Turner; +Cc: linux-alpha, Kyle McMartin

[-- Attachment #1: Type: TEXT/PLAIN, Size: 500 bytes --]

On Wed, 23 Feb 2011, Matt Turner wrote:
> On Sun, Feb 6, 2011 at 2:32 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> >  static inline void
> > -titan_disable_irq(unsigned int irq)
> > +titan_disable_irq(struct irq_data *d)
> >  {
> >        spin_lock(&titan_irq_lock);
> >        titan_cached_irq_mask &= ~(1UL << (irq - 16));
> 
> These hunks are missing a
> +       unsigned int irq = d->irq;

OOps.
 
> I can fix that up myself though.

That'd be great. Thanks,

       tglx

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2011-02-23 22:03 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-06 14:32 [patch 00/19] Bugfix and irq_chip conversion Thomas Gleixner
2011-02-06 14:32 ` [patch 01/19] alpha: Fix broken SMP=y Thomas Gleixner
2011-02-06 14:32 ` [patch 02/19] alpha: Pyxis convert irq_chip functions Thomas Gleixner
2011-02-06 14:32 ` [patch 03/19] alpha: srm: Convert " Thomas Gleixner
2011-02-06 14:32 ` [patch 04/19] alpha: i8259, alcor, jensen wildfire: Convert irq_chip Thomas Gleixner
2011-02-06 14:32 ` [patch 05/19] alpha: cabriolet: Convert irq_chip functions Thomas Gleixner
2011-02-06 14:32 ` [patch 06/19] alpha: dp264: " Thomas Gleixner
2011-02-06 14:32 ` [patch 07/19] alpha: eb64p: " Thomas Gleixner
2011-02-06 14:32 ` [patch 08/19] alpha: eiger: " Thomas Gleixner
2011-02-06 14:32 ` [patch 09/19] alpha: marvel: " Thomas Gleixner
2011-02-06 14:32 ` [patch 10/19] alpha: mikasa: " Thomas Gleixner
2011-02-06 14:32 ` [patch 11/19] alpha: rawhide: " Thomas Gleixner
2011-02-06 14:32 ` [patch 12/19] alpha: noritake: " Thomas Gleixner
2011-02-06 14:32 ` [patch 13/19] alpha: rx164: " Thomas Gleixner
2011-02-06 14:32 ` [patch 14/19] alpha: sable: " Thomas Gleixner
2011-02-06 14:32 ` [patch 15/19] alpha: takara: " Thomas Gleixner
2011-02-06 14:32 ` [patch 16/19] alpha: titan: " Thomas Gleixner
2011-02-23 21:30   ` Matt Turner
2011-02-23 22:03     ` Thomas Gleixner
2011-02-06 14:32 ` [patch 17/19] alpha: irq: Remove pointless irq status manipulation Thomas Gleixner
2011-02-06 14:33 ` [patch 18/19] alpha: irq: Convert affinity to use irq_data Thomas Gleixner
2011-02-06 14:33 ` [patch 19/19] alpha: Enable GENERIC_HARDIRQS_NO_DEPRECATED Thomas Gleixner
2011-02-23 21:17 ` [patch 00/19] Bugfix and irq_chip conversion Matt Turner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).