Skip to contentSkip to conversation

UML: Convert irq_chips and use proper accessors

PATCH In review Thomas Gleixner 1 participant 9 messages Feb 6, 2011 – Feb 14, 2011 User-mode Linux (UML)

lore
Share & tools
lore
#0 lore raw

cover UML: Convert irq_chips and use proper accessors

Convert the irq_chips to the new functions and use proper accessor functions for irq_desc. Finally set GENERIC_HARDIRQS_NO_DEPRECATED

Thanks,

tglx

#1 lore raw

PATCH 1/4 um: Remove stale irq_chip.end

irq_chip.end got obsolete with the remnoval of __do_IRQ().

LKML-Reference: <[email protected]>

---
 arch/um/kernel/irq.c |    2 --
 1 file changed, 2 deletions(-)
arch/um/kernel/irq.c +0 -2
Index: linux-next/arch/um/kernel/irq.c
===================================================================
@@ -374,7 +374,6 @@ static struct irq_chip normal_irq_type =
 	.disable = dummy,
 	.enable = dummy,
 	.ack = dummy,
-	.end = dummy
 };
 
 static struct irq_chip SIGVTALRM_irq_type = {
@@ -384,7 +383,6 @@ static struct irq_chip SIGVTALRM_irq_typ
 	.disable = dummy,
 	.enable = dummy,
 	.ack = dummy,
-	.end = dummy
 };
 
 void __init init_IRQ(void)
#2 lore raw

[tip:um/irq] um: Remove stale irq_chip.end

Commit-ID:  6ea96e7e4946f790330557e4b7c4c8a174c1c6d2
Gitweb:     http://git.kernel.org/tip/6ea96e7e4946f790330557e4b7c4c8a174c1c6d2
Author:     Thomas Gleixner <[email protected]>
AuthorDate: Sun, 6 Feb 2011 22:45:31 +0000
Committer:  Thomas Gleixner <[email protected]>
CommitDate: Mon, 14 Feb 2011 19:37:39 +0100

um: Remove stale irq_chip.end

irq_chip.end got obsolete with the remnoval of __do_IRQ().

Cc Jeff Dike <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Andrew Morton <[email protected]>

LKML-Reference: <[email protected]>

---
 arch/um/kernel/irq.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)
arch/um/kernel/irq.c +0 -2
index 3f0ac9e..c916748 100644
@@ -374,7 +374,6 @@ static struct irq_chip normal_irq_type = {
 	.disable = dummy,
 	.enable = dummy,
 	.ack = dummy,
-	.end = dummy
 };
 
 static struct irq_chip SIGVTALRM_irq_type = {
@@ -384,7 +383,6 @@ static struct irq_chip SIGVTALRM_irq_type = {
 	.disable = dummy,
 	.enable = dummy,
 	.ack = dummy,
-	.end = dummy
 };
 
 void __init init_IRQ(void)
#3 lore raw

PATCH 2/4 um: Convert irq_chips to new functions

In reply to Thomas Gleixner
---
 arch/um/kernel/irq.c |   19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)
arch/um/kernel/irq.c +9 -10
Index: linux-next/arch/um/kernel/irq.c
===================================================================
@@ -360,10 +360,10 @@ EXPORT_SYMBOL(um_request_irq);
 EXPORT_SYMBOL(reactivate_fd);
 
 /*
- * irq_chip must define (startup || enable) &&
- * (shutdown || disable) && end
+ * irq_chip must define at least enable/disable and ack when
+ * the edge handler is used.
  */
-static void dummy(unsigned int irq)
+static void dummy(struct irq_data *d)
 {
 }
 
@@ -371,18 +371,17 @@ static void dummy(unsigned int irq)
 static struct irq_chip normal_irq_type = {
 	.name = "SIGIO",
 	.release = free_irq_by_irq_and_dev,
-	.disable = dummy,
-	.enable = dummy,
-	.ack = dummy,
+	.irq_disable = dummy,
+	.irq_enable = dummy,
+	.irq_ack = dummy,
 };
 
 static struct irq_chip SIGVTALRM_irq_type = {
 	.name = "SIGVTALRM",
 	.release = free_irq_by_irq_and_dev,
-	.shutdown = dummy, /* never called */
-	.disable = dummy,
-	.enable = dummy,
-	.ack = dummy,
+	.irq_disable = dummy,
+	.irq_enable = dummy,
+	.irq_ack = dummy,
 };
 
 void __init init_IRQ(void)
#4 lore raw

[tip:um/irq] um: Convert irq_chips to new functions

Commit-ID:  1d119aa06fb2b2608151a162f15c480d46694b65
Gitweb:     http://git.kernel.org/tip/1d119aa06fb2b2608151a162f15c480d46694b65
Author:     Thomas Gleixner <[email protected]>
AuthorDate: Sun, 6 Feb 2011 22:45:34 +0000
Committer:  Thomas Gleixner <[email protected]>
CommitDate: Mon, 14 Feb 2011 19:37:39 +0100

um: Convert irq_chips to new functions

Cc Jeff Dike <[email protected]>
Cc Andrew Morton <[email protected]>

LKML-Reference: <[email protected]>

---
 arch/um/kernel/irq.c |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)
arch/um/kernel/irq.c +9 -10
index c916748..f771b85 100644
@@ -360,10 +360,10 @@ EXPORT_SYMBOL(um_request_irq);
 EXPORT_SYMBOL(reactivate_fd);
 
 /*
- * irq_chip must define (startup || enable) &&
- * (shutdown || disable) && end
+ * irq_chip must define at least enable/disable and ack when
+ * the edge handler is used.
  */
-static void dummy(unsigned int irq)
+static void dummy(struct irq_data *d)
 {
 }
 
@@ -371,18 +371,17 @@ static void dummy(unsigned int irq)
 static struct irq_chip normal_irq_type = {
 	.name = "SIGIO",
 	.release = free_irq_by_irq_and_dev,
-	.disable = dummy,
-	.enable = dummy,
-	.ack = dummy,
+	.irq_disable = dummy,
+	.irq_enable = dummy,
+	.irq_ack = dummy,
 };
 
 static struct irq_chip SIGVTALRM_irq_type = {
 	.name = "SIGVTALRM",
 	.release = free_irq_by_irq_and_dev,
-	.shutdown = dummy, /* never called */
-	.disable = dummy,
-	.enable = dummy,
-	.ack = dummy,
+	.irq_disable = dummy,
+	.irq_enable = dummy,
+	.irq_ack = dummy,
 };
 
 void __init init_IRQ(void)
#5 lore raw

PATCH 3/4 um: Use proper accessors in show_interrupts()

In reply to Thomas Gleixner
---
 arch/um/kernel/irq.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
arch/um/kernel/irq.c +6 -4
Index: linux-next/arch/um/kernel/irq.c
===================================================================
@@ -35,8 +35,10 @@ int show_interrupts(struct seq_file *p, 
 	}
 
 	if (i < NR_IRQS) {
-		raw_spin_lock_irqsave(&irq_desc[i].lock, flags);
-		action = irq_desc[i].action;
+		struct irq_desc *desc = irq_to_desc(i);
+
+		raw_spin_lock_irqsave(&desc->lock, flags);
+		action = desc->action;
 		if (!action)
 			goto skip;
 		seq_printf(p, "%3d: ",i);
@@ -46,7 +48,7 @@ int show_interrupts(struct seq_file *p, 
 		for_each_online_cpu(j)
 			seq_printf(p, "%10u ", kstat_irqs_cpu(i, j));
 #endif
-		seq_printf(p, " %14s", irq_desc[i].chip->name);
+		seq_printf(p, " %14s", get_irq_desc_chip(desc)->name);
 		seq_printf(p, "  %s", action->name);
 
 		for (action=action->next; action; action = action->next)
@@ -54,7 +56,7 @@ int show_interrupts(struct seq_file *p, 
 
 		seq_putc(p, '\n');
 skip:
-		raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags);
+		raw_spin_unlock_irqrestore(&desc->lock, flags);
 	} else if (i == NR_IRQS)
 		seq_putc(p, '\n');
 
#6 lore raw

[tip:um/irq] um: Use proper accessors in show_interrupts()

Commit-ID:  d5b4eea1c575b78448fd5dc54d250ff302ca22f9
Gitweb:     http://git.kernel.org/tip/d5b4eea1c575b78448fd5dc54d250ff302ca22f9
Author:     Thomas Gleixner <[email protected]>
AuthorDate: Sun, 6 Feb 2011 22:45:36 +0000
Committer:  Thomas Gleixner <[email protected]>
CommitDate: Mon, 14 Feb 2011 19:37:40 +0100

um: Use proper accessors in show_interrupts()

Cc Jeff Dike <[email protected]>
Cc Andrew Morton <[email protected]>

LKML-Reference: <[email protected]>

---
 arch/um/kernel/irq.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
arch/um/kernel/irq.c +6 -4
index f771b85..64cfea8 100644
@@ -35,8 +35,10 @@ int show_interrupts(struct seq_file *p, void *v)
 	}
 
 	if (i < NR_IRQS) {
-		raw_spin_lock_irqsave(&irq_desc[i].lock, flags);
-		action = irq_desc[i].action;
+		struct irq_desc *desc = irq_to_desc(i);
+
+		raw_spin_lock_irqsave(&desc->lock, flags);
+		action = desc->action;
 		if (!action)
 			goto skip;
 		seq_printf(p, "%3d: ",i);
@@ -46,7 +48,7 @@ int show_interrupts(struct seq_file *p, void *v)
 		for_each_online_cpu(j)
 			seq_printf(p, "%10u ", kstat_irqs_cpu(i, j));
 #endif
-		seq_printf(p, " %14s", irq_desc[i].chip->name);
+		seq_printf(p, " %14s", get_irq_desc_chip(desc)->name);
 		seq_printf(p, "  %s", action->name);
 
 		for (action=action->next; action; action = action->next)
@@ -54,7 +56,7 @@ int show_interrupts(struct seq_file *p, void *v)
 
 		seq_putc(p, '\n');
 skip:
-		raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags);
+		raw_spin_unlock_irqrestore(&desc->lock, flags);
 	} else if (i == NR_IRQS)
 		seq_putc(p, '\n');
 
#7 lore raw

PATCH 4/4 um: Select GENERIC_HARDIRQS_NO_DEPRECATED

In reply to Thomas Gleixner

irq chips converted and proper accessor functions used.

---
 arch/um/Kconfig.common |    1 +
 1 file changed, 1 insertion(+)
arch/um/Kconfig.common +1 -0
Index: linux-next/arch/um/Kconfig.common
===================================================================
@@ -7,6 +7,7 @@ config UML
 	bool
 	default y
 	select HAVE_GENERIC_HARDIRQS
+	select GENERIC_HARDIRQS_NO_DEPRECATED
 
 config MMU
 	bool
#8 lore raw

[tip:um/irq] um: Select GENERIC_HARDIRQS_NO_DEPRECATED

Commit-ID:  53c39ce56d203d80ba8217a16bb024b25185fb7e
Gitweb:     http://git.kernel.org/tip/53c39ce56d203d80ba8217a16bb024b25185fb7e
Author:     Thomas Gleixner <[email protected]>
AuthorDate: Sun, 6 Feb 2011 22:45:38 +0000
Committer:  Thomas Gleixner <[email protected]>
CommitDate: Mon, 14 Feb 2011 19:37:40 +0100

um: Select GENERIC_HARDIRQS_NO_DEPRECATED

irq chips converted and proper accessor functions used.

Cc Jeff Dike <[email protected]>
Cc Andrew Morton <[email protected]>

LKML-Reference: <[email protected]>

---
 arch/um/Kconfig.common |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
arch/um/Kconfig.common +1 -0
index e351e14..1e78940 100644
@@ -7,6 +7,7 @@ config UML
 	bool
 	default y
 	select HAVE_GENERIC_HARDIRQS
+	select GENERIC_HARDIRQS_NO_DEPRECATED
 
 config MMU
 	bool