Re: [patch 08/32] x86: htirq: Use irq_alloc/free_irq()

From: Bjorn Helgaas
Date: Wed May 07 2014 - 12:04:05 EST


On Wed, May 7, 2014 at 9:44 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> No functional change, just cleaned up a bit.
>
> This does not replace the requirement to move x86 to irq domains, but
> it limits the mess to some degree.
>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>

I assume you'll merge this along with the rest of your series. Let me
know if you need me to do anything.

> Cc: x86@xxxxxxxxxx
> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> Cc: linux-pci@xxxxxxxxxxxxxxx
> ---
> drivers/pci/htirq.c | 13 ++++---------
> 1 file changed, 4 insertions(+), 9 deletions(-)
>
> Index: tip/drivers/pci/htirq.c
> ===================================================================
> --- tip.orig/drivers/pci/htirq.c
> +++ tip/drivers/pci/htirq.c
> @@ -87,12 +87,9 @@ void unmask_ht_irq(struct irq_data *data
> int __ht_create_irq(struct pci_dev *dev, int idx, ht_irq_update_t *update)
> {
> struct ht_irq_cfg *cfg;
> + int max_irq, pos, irq;
> unsigned long flags;
> u32 data;
> - int max_irq;
> - int pos;
> - int irq;
> - int node;
>
> pos = pci_find_ht_capability(dev, HT_CAPTYPE_IRQ);
> if (!pos)
> @@ -120,10 +117,8 @@ int __ht_create_irq(struct pci_dev *dev,
> cfg->msg.address_lo = 0xffffffff;
> cfg->msg.address_hi = 0xffffffff;
>
> - node = dev_to_node(&dev->dev);
> - irq = create_irq_nr(0, node);
> -
> - if (irq <= 0) {
> + irq = irq_alloc_hwirq(dev_to_node(&dev->dev));
> + if (!irq) {
> kfree(cfg);
> return -EBUSY;
> }
> @@ -166,7 +161,7 @@ void ht_destroy_irq(unsigned int irq)
> cfg = irq_get_handler_data(irq);
> irq_set_chip(irq, NULL);
> irq_set_handler_data(irq, NULL);
> - destroy_irq(irq);
> + irq_free_hwirq(irq);
>
> kfree(cfg);
> }
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/