Use new irqdomain interfaces to allocate/free IRQ for HPET, so we could kill GENERIC_IRQ_LEGACY_ALLOC_HWIRQ later.
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: Srivatsa S. Bhat <srivatsa.b...@linux.vnet.ibm.com> Cc: Andy Lutomirski <l...@amacapital.net> Link: http://lkml.kernel.org/r/1416894816-23245-4-git-send-email-jiang....@linux.intel.com Signed-off-by: Thomas Gleixner <t...@linutronix.de> --- arch/x86/kernel/hpet.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c index 319bcb9372fe..24db2d33fab7 100644 --- a/arch/x86/kernel/hpet.c +++ b/arch/x86/kernel/hpet.c @@ -11,6 +11,7 @@ #include <linux/cpu.h> #include <linux/pm.h> #include <linux/io.h> +#include <linux/irqdomain.h> #include <asm/fixmap.h> #include <asm/hpet.h> @@ -476,7 +477,7 @@ static int hpet_msi_next_event(unsigned long delta, static int hpet_setup_msi_irq(unsigned int irq) { if (x86_msi.setup_hpet_msi(irq, hpet_blockid)) { - irq_free_hwirq(irq); + irq_domain_free_irqs(irq, 1); return -EINVAL; } return 0; @@ -484,9 +485,10 @@ static int hpet_setup_msi_irq(unsigned int irq) static int hpet_assign_irq(struct hpet_dev *dev) { - unsigned int irq = irq_alloc_hwirq(-1); + int irq; - if (!irq) + irq = irq_domain_alloc_irqs(NULL, 1, NUMA_NO_NODE, NULL); + if (irq <= 0) return -EINVAL; irq_set_handler_data(irq, dev); -- 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/