[Patch Part2 v4 28/33] x86/irq, ACPI: Kill private function mp_register_gsi()/ mp_unregister_gsi()

2015-01-19 Thread Jiang Liu
Function mp_register_gsi() is only called once, so fold it into caller
acpi_register_gsi_ioapic(). Do the same for mp_unregister_gsi().

Signed-off-by: Jiang Liu 
Cc: Konrad Rzeszutek Wilk 
Cc: Tony Luck 
Cc: Joerg Roedel 
Cc: Greg Kroah-Hartman 
Cc: Bjorn Helgaas 
Cc: Benjamin Herrenschmidt 
Cc: Rafael J. Wysocki 
Cc: Randy Dunlap 
Cc: Yinghai Lu 
Cc: Borislav Petkov 
Cc: Len Brown 
Cc: Pavel Machek 
Link: 
http://lkml.kernel.org/r/1416901802-24211-37-git-send-email-jiang@linux.intel.com
Signed-off-by: Thomas Gleixner 
Tested-by: Joerg Roedel 
---
 arch/x86/kernel/acpi/boot.c |   57 ++-
 1 file changed, 18 insertions(+), 39 deletions(-)

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index dac090468f75..5d91ceb248f0 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -400,42 +400,6 @@ static int mp_config_acpi_gsi(struct device *dev, u32 gsi, 
int trigger,
return 0;
 }
 
-static int mp_register_gsi(struct device *dev, u32 gsi, int trigger,
-  int polarity)
-{
-   int irq, node;
-   struct irq_alloc_info info;
-
-   if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC)
-   return gsi;
-
-   trigger = trigger == ACPI_EDGE_SENSITIVE ? 0 : 1;
-   polarity = polarity == ACPI_ACTIVE_HIGH ? 0 : 1;
-   node = dev ? dev_to_node(dev) : NUMA_NO_NODE;
-   ioapic_set_alloc_attr(, node, trigger, polarity);
-   irq = mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC, );
-   if (irq < 0)
-   return irq;
-
-   /* Don't set up the ACPI SCI because it's already set up */
-   if (enable_update_mptable && acpi_gbl_FADT.sci_interrupt != gsi)
-   mp_config_acpi_gsi(dev, gsi, trigger, polarity);
-
-   return irq;
-}
-
-static void mp_unregister_gsi(u32 gsi)
-{
-   int irq;
-
-   if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC)
-   return;
-
-   irq = mp_map_gsi_to_irq(gsi, 0, NULL);
-   if (irq > 0)
-   mp_unmap_irq(irq);
-}
-
 static struct irq_domain_ops acpi_irqdomain_ops = {
.alloc = mp_irqdomain_alloc,
.free = mp_irqdomain_free,
@@ -657,10 +621,21 @@ static int acpi_register_gsi_ioapic(struct device *dev, 
u32 gsi,
int trigger, int polarity)
 {
int irq = gsi;
-
 #ifdef CONFIG_X86_IO_APIC
+   int node;
+   struct irq_alloc_info info;
+
+   node = dev ? dev_to_node(dev) : NUMA_NO_NODE;
+   trigger = trigger == ACPI_EDGE_SENSITIVE ? 0 : 1;
+   polarity = polarity == ACPI_ACTIVE_HIGH ? 0 : 1;
+   ioapic_set_alloc_attr(, node, trigger, polarity);
+
mutex_lock(_ioapic_lock);
-   irq = mp_register_gsi(dev, gsi, trigger, polarity);
+   irq = mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC, );
+   /* Don't set up the ACPI SCI because it's already set up */
+   if (irq >= 0 && enable_update_mptable &&
+   acpi_gbl_FADT.sci_interrupt != gsi)
+   mp_config_acpi_gsi(dev, gsi, trigger, polarity);
mutex_unlock(_ioapic_lock);
 #endif
 
@@ -670,8 +645,12 @@ static int acpi_register_gsi_ioapic(struct device *dev, 
u32 gsi,
 static void acpi_unregister_gsi_ioapic(u32 gsi)
 {
 #ifdef CONFIG_X86_IO_APIC
+   int irq;
+
mutex_lock(_ioapic_lock);
-   mp_unregister_gsi(gsi);
+   irq = mp_map_gsi_to_irq(gsi, 0, NULL);
+   if (irq > 0)
+   mp_unmap_irq(irq);
mutex_unlock(_ioapic_lock);
 #endif
 }
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[Patch Part2 v4 28/33] x86/irq, ACPI: Kill private function mp_register_gsi()/ mp_unregister_gsi()

2015-01-19 Thread Jiang Liu
Function mp_register_gsi() is only called once, so fold it into caller
acpi_register_gsi_ioapic(). Do the same for mp_unregister_gsi().

Signed-off-by: Jiang Liu jiang@linux.intel.com
Cc: Konrad Rzeszutek Wilk konrad.w...@oracle.com
Cc: Tony Luck tony.l...@intel.com
Cc: Joerg Roedel j...@8bytes.org
Cc: Greg Kroah-Hartman gre...@linuxfoundation.org
Cc: Bjorn Helgaas bhelg...@google.com
Cc: Benjamin Herrenschmidt b...@kernel.crashing.org
Cc: Rafael J. Wysocki r...@rjwysocki.net
Cc: Randy Dunlap rdun...@infradead.org
Cc: Yinghai Lu ying...@kernel.org
Cc: Borislav Petkov b...@alien8.de
Cc: Len Brown len.br...@intel.com
Cc: Pavel Machek pa...@ucw.cz
Link: 
http://lkml.kernel.org/r/1416901802-24211-37-git-send-email-jiang@linux.intel.com
Signed-off-by: Thomas Gleixner t...@linutronix.de
Tested-by: Joerg Roedel jroe...@suse.de
---
 arch/x86/kernel/acpi/boot.c |   57 ++-
 1 file changed, 18 insertions(+), 39 deletions(-)

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index dac090468f75..5d91ceb248f0 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -400,42 +400,6 @@ static int mp_config_acpi_gsi(struct device *dev, u32 gsi, 
int trigger,
return 0;
 }
 
-static int mp_register_gsi(struct device *dev, u32 gsi, int trigger,
-  int polarity)
-{
-   int irq, node;
-   struct irq_alloc_info info;
-
-   if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC)
-   return gsi;
-
-   trigger = trigger == ACPI_EDGE_SENSITIVE ? 0 : 1;
-   polarity = polarity == ACPI_ACTIVE_HIGH ? 0 : 1;
-   node = dev ? dev_to_node(dev) : NUMA_NO_NODE;
-   ioapic_set_alloc_attr(info, node, trigger, polarity);
-   irq = mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC, info);
-   if (irq  0)
-   return irq;
-
-   /* Don't set up the ACPI SCI because it's already set up */
-   if (enable_update_mptable  acpi_gbl_FADT.sci_interrupt != gsi)
-   mp_config_acpi_gsi(dev, gsi, trigger, polarity);
-
-   return irq;
-}
-
-static void mp_unregister_gsi(u32 gsi)
-{
-   int irq;
-
-   if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC)
-   return;
-
-   irq = mp_map_gsi_to_irq(gsi, 0, NULL);
-   if (irq  0)
-   mp_unmap_irq(irq);
-}
-
 static struct irq_domain_ops acpi_irqdomain_ops = {
.alloc = mp_irqdomain_alloc,
.free = mp_irqdomain_free,
@@ -657,10 +621,21 @@ static int acpi_register_gsi_ioapic(struct device *dev, 
u32 gsi,
int trigger, int polarity)
 {
int irq = gsi;
-
 #ifdef CONFIG_X86_IO_APIC
+   int node;
+   struct irq_alloc_info info;
+
+   node = dev ? dev_to_node(dev) : NUMA_NO_NODE;
+   trigger = trigger == ACPI_EDGE_SENSITIVE ? 0 : 1;
+   polarity = polarity == ACPI_ACTIVE_HIGH ? 0 : 1;
+   ioapic_set_alloc_attr(info, node, trigger, polarity);
+
mutex_lock(acpi_ioapic_lock);
-   irq = mp_register_gsi(dev, gsi, trigger, polarity);
+   irq = mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC, info);
+   /* Don't set up the ACPI SCI because it's already set up */
+   if (irq = 0  enable_update_mptable 
+   acpi_gbl_FADT.sci_interrupt != gsi)
+   mp_config_acpi_gsi(dev, gsi, trigger, polarity);
mutex_unlock(acpi_ioapic_lock);
 #endif
 
@@ -670,8 +645,12 @@ static int acpi_register_gsi_ioapic(struct device *dev, 
u32 gsi,
 static void acpi_unregister_gsi_ioapic(u32 gsi)
 {
 #ifdef CONFIG_X86_IO_APIC
+   int irq;
+
mutex_lock(acpi_ioapic_lock);
-   mp_unregister_gsi(gsi);
+   irq = mp_map_gsi_to_irq(gsi, 0, NULL);
+   if (irq  0)
+   mp_unmap_irq(irq);
mutex_unlock(acpi_ioapic_lock);
 #endif
 }
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/