Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5bc6592df85dbbb300e0d62af89645602c97551
Commit:     d5bc6592df85dbbb300e0d62af89645602c97551
Parent:     0947e0dcd62c15c67dba71561624d87b2d0cf131
Author:     Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
AuthorDate: Sat Feb 2 19:56:41 2008 +0100
Committer:  Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
CommitDate: Sat Feb 2 19:56:41 2008 +0100

    ide: factor out devices setup from init_irq()
    
    * Factor out devices setup from init_irq() to ide_port_setup_devices().
    
    While at it:
    * Do devices setup after printing port information.
    
    Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
---
 drivers/ide/ide-probe.c |   44 ++++++++++++++++++++++++++++----------------
 1 files changed, 28 insertions(+), 16 deletions(-)

diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 4d940d1..91c352c 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -929,6 +929,31 @@ static void ide_add_drive_to_hwgroup(ide_drive_t *drive)
 }
 
 /*
+ * For any present drive:
+ * - allocate the block device queue
+ * - link drive into the hwgroup
+ */
+static void ide_port_setup_devices(ide_hwif_t *hwif)
+{
+       int i;
+
+       for (i = 0; i < MAX_DRIVES; i++) {
+               ide_drive_t *drive = &hwif->drives[i];
+
+               if (!drive->present)
+                       continue;
+
+               if (ide_init_queue(drive)) {
+                       printk(KERN_ERR "ide: failed to init %s\n",
+                                       drive->name);
+                       continue;
+               }
+
+               ide_add_drive_to_hwgroup(drive);
+       }
+}
+
+/*
  * This routine sets up the irq for an ide interface, and creates a new
  * hwgroup for the irq/hwif if none was previously assigned.
  *
@@ -1037,22 +1062,6 @@ static int init_irq (ide_hwif_t *hwif)
                        hwif->rqsize = 65536;
        }
 
-       /*
-        * For any present drive:
-        * - allocate the block device queue
-        * - link drive into the hwgroup
-        */
-       for (index = 0; index < MAX_DRIVES; ++index) {
-               ide_drive_t *drive = &hwif->drives[index];
-               if (!drive->present)
-                       continue;
-               if (ide_init_queue(drive)) {
-                       printk(KERN_ERR "ide: failed to init %s\n",drive->name);
-                       continue;
-               }
-               ide_add_drive_to_hwgroup(drive);
-       }
-
 #if !defined(__mc68000__) && !defined(CONFIG_APUS)
        printk("%s at 0x%03lx-0x%03lx,0x%03lx on irq %d", hwif->name,
                hwif->io_ports[IDE_DATA_OFFSET],
@@ -1066,6 +1075,9 @@ static int init_irq (ide_hwif_t *hwif)
                printk(" (%sed with %s)",
                        hwif->sharing_irq ? "shar" : "serializ", match->name);
        printk("\n");
+
+       ide_port_setup_devices(hwif);
+
        mutex_unlock(&ide_cfg_mtx);
        return 0;
 out_unlink:
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to