Re: [patch 37/38] mips: vr41xx: Cleanup the direct access to irq_desc[]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

On 24.03.2011 0:09, Thomas Gleixner wrote:

Tons of unused code, but that's Ralfs problem.

Signed-off-by: Thomas Gleixner<tglx@xxxxxxxxxxxxx>
[...]

Index: linux-mips-next/arch/mips/vr41xx/common/irq.c
===================================================================
--- linux-mips-next.orig/arch/mips/vr41xx/common/irq.c
+++ linux-mips-next/arch/mips/vr41xx/common/irq.c
@@ -62,7 +62,6 @@ EXPORT_SYMBOL_GPL(cascade_irq);
  static void irq_dispatch(unsigned int irq)
  {
  	irq_cascade_t *cascade;
-	struct irq_desc *desc;

  	if (irq>= NR_IRQS) {
  		atomic_inc(&irq_err_count);
@@ -71,14 +70,16 @@ static void irq_dispatch(unsigned int ir

  	cascade = irq_cascade + irq;
  	if (cascade->get_irq != NULL) {
-		unsigned int source_irq = irq;
+		struct irq_desc *desc = irq_to_desc(irq);
+		struct irq_data *idata = irq_desc_get_irq_data(desc);
+		struct irq_chip *chip = irq_desc_get_chip(desc);
  		int ret;
-		desc = irq_desc + source_irq;
-		if (desc->chip->mask_ack)
-			desc->chip->mask_ack(source_irq);
+
+		if (chip->irq_mask_ack)
+			chip->irq_mask_ack(idata);
  		else {
-			desc->chip->mask(source_irq);
-			desc->chip->ack(source_irq);
+			chip->irq_mask(idata);
+			chip->irq_ack(idata);
  		}
  		ret = cascade->get_irq(irq);
  		irq = ret;
@@ -86,8 +87,8 @@ static void irq_dispatch(unsigned int ir
  			atomic_inc(&irq_err_count);
  		else
  			irq_dispatch(irq);
-		if (!(desc->status&  IRQ_DISABLED)&&  desc->chip->unmask)
-			desc->chip->unmask(source_irq);
+		if (!(desc->status&  IRQ_DISABLED)&&  chip->irq_unmask)
+			chip->irq_unmask(idata);

   Hm, doesn't this (I mean the old) code break after the previous patch?

WBR, Sergei



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux