AHCI: Pass SCSI host template as arg to ahci_host_activate()
authorAlexander Gordeev <agordeev@redhat.com>
Mon, 29 Sep 2014 16:25:57 +0000 (18:25 +0200)
committerTejun Heo <tj@kernel.org>
Mon, 6 Oct 2014 15:43:34 +0000 (11:43 -0400)
This update is a prerequisite for consolidation of
AHCI host activation code within ahci_host_activate()
function.

Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: linux-ide@vger.kernel.org
drivers/ata/ahci.c
drivers/ata/ahci.h

index f68a995ec3fdde123c2405fccca7767beefa2612..fcda5b663030551b744782a1eda47a18b26f2dfe 100644 (file)
@@ -1230,8 +1230,7 @@ intx:
  *     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
+ *     @sht: scsi_host_template to use when registering the host
  *
  *     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
@@ -1243,7 +1242,8 @@ intx:
  *     RETURNS:
  *     0 on success, -errno otherwise.
  */
-int ahci_host_activate(struct ata_host *host, int irq)
+int ahci_host_activate(struct ata_host *host, int irq,
+                      struct scsi_host_template *sht)
 {
        int i, rc;
 
@@ -1271,7 +1271,7 @@ int ahci_host_activate(struct ata_host *host, int irq)
        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);
+       rc = ata_host_register(host, sht);
        if (rc)
                goto out_free_all_irqs;
 
@@ -1488,7 +1488,7 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
        pci_set_master(pdev);
 
        if (hpriv->flags & AHCI_HFLAG_MULTI_MSI)
-               return ahci_host_activate(host, pdev->irq);
+               return ahci_host_activate(host, pdev->irq, &ahci_sht);
 
        return ata_host_activate(host, pdev->irq, ahci_interrupt, IRQF_SHARED,
                                 &ahci_sht);
index a074c7301504a353aacc7bca583c7090bb8d669f..31b4c44e3f71078be4589fc2d9f1906c55701ade 100644 (file)
@@ -392,7 +392,8 @@ irqreturn_t ahci_interrupt(int irq, void *dev_instance);
 irqreturn_t ahci_hw_interrupt(int irq, void *dev_instance);
 irqreturn_t ahci_thread_fn(int irq, void *dev_instance);
 void ahci_print_info(struct ata_host *host, const char *scc_s);
-int ahci_host_activate(struct ata_host *host, int irq);
+int ahci_host_activate(struct ata_host *host, int irq,
+                      struct scsi_host_template *sht);
 void ahci_error_handler(struct ata_port *ap);
 
 static inline void __iomem *__ahci_port_base(struct ata_host *host,