Re: [PATCH v4 2/4] AHCI: Move host activation code into ahci_host_activate()

From: Tejun Heo
Date: Sun Sep 28 2014 - 12:04:18 EST


On Thu, Sep 25, 2014 at 03:13:22PM +0200, Alexander Gordeev wrote:
> -/**
> - * ahci_host_activate - start AHCI host, request IRQs and register it
> - * @host: target ATA host
> - * @irq: base IRQ number to request
> - * @irq_handler: irq_handler used when requesting IRQs
> - * @irq_flags: irq_flags used when requesting IRQs
> - *
> - * Similar to ata_host_activate, but requests IRQs according to AHCI-1.1
> - * when multiple MSIs were allocated. That is one MSI per port, starting
> - * from @irq.
> - *
> - * LOCKING:
> - * Inherited from calling layer (may sleep).
> - *
> - * RETURNS:
> - * 0 on success, -errno otherwise.
> - */
> -int ahci_host_activate(struct ata_host *host, int irq)
> -{
> - int i, rc;
> -
> - rc = ata_host_start(host);
> - if (rc)
> - return rc;
> -
> - for (i = 0; i < host->n_ports; i++) {
> - struct ahci_port_priv *pp = host->ports[i]->private_data;
> -
> - /* Do not receive interrupts sent by dummy ports */
> - if (!pp) {
> - disable_irq(irq + i);
> - continue;
> - }
> -
> - rc = devm_request_threaded_irq(host->dev, irq + i,
> - ahci_hw_interrupt,
> - ahci_thread_fn, IRQF_SHARED,
> - pp->irq_desc, host->ports[i]);
> - if (rc)
> - goto out_free_irqs;
> - }
> -
> - for (i = 0; i < host->n_ports; i++)
> - ata_port_desc(host->ports[i], "irq %d", irq + i);
> -
> - rc = ata_host_register(host, &ahci_sht);
> - if (rc)
> - goto out_free_all_irqs;
> -
> - return 0;
> -
> -out_free_all_irqs:
> - i = host->n_ports;
> -out_free_irqs:
> - for (i--; i >= 0; i--)
> - devm_free_irq(host->dev, irq + i, host->ports[i]);
> -
> - return rc;
> -}

It's generally a bad idea to mix code movement w/ other changes. I'm
applying this one but please separate code movements to separate
patches from now on.

Thanks.

--
tejun
--
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/