[PATCH 16/22] ide: factor out devices setup from init_irq()

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <linux-ide@...>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@...>, <linux-kernel@...>
Date: Wednesday, January 16, 2008 - 7:27 pm

* 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 <bzolnier@gmail.com>
---
 drivers/ide/ide-probe.c |   44 ++++++++++++++++++++++++++++----------------
 1 file changed, 28 insertions(+), 16 deletions(-)

Index: b/drivers/ide/ide-probe.c
===================================================================
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -929,6 +929,31 @@ static void ide_add_drive_to_hwgroup(ide
 }
 
 /*
+ * 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:
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00/22] ide: even more IDE probing code rework, Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:25 pm)
[PATCH 22/22] ide: move create_proc_ide_drives() call to ide..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:28 pm)
[PATCH 21/22] ide: move hwif-&gt;present check out from ide_..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:28 pm)
[PATCH 20/22] ide: factor out devices setup from ide_acpi_in..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:28 pm)
[PATCH 19/22] ide-acpi: remove dead code from do_drive_get_G..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:28 pm)
[PATCH 15/22] ide: factor out adding drive to hwgroup from i..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:27 pm)
[PATCH 18/22] ide-acpi: remove needless exports, Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:28 pm)
[PATCH 17/22] ide: move ide_acpi_init() call to ide_device_a..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:28 pm)
[PATCH 16/22] ide: factor out devices setup from init_irq(), Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:27 pm)
[PATCH 14/22] ide: move hwif-&gt;rqsize init from ide_init_q..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:27 pm)
[PATCH 13/22] ide: merge init_gendisk() into hwif_register_d..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:27 pm)
[PATCH 12/22] ide: call init_gendisk() after ide_acpi_init(), Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:27 pm)
[PATCH 11/22] ide: move blk_register_region() call out from ..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:27 pm)
[PATCH 10/22] ide: skip not present devices in init_gendisk(), Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:27 pm)
[PATCH 09/22] ide: remove incorrect init_gendisk() comment, Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:27 pm)
[PATCH 08/22] ide: add -&gt;init_port_devs method to ide_hwif_t, Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:27 pm)
[PATCH 07/22] ide: add IDE_HFLAG_NO_{IO32_BIT,UNMASK_IRQS} h..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:26 pm)
[PATCH 06/22] ide: factor out code initializing devices from..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:26 pm)
[PATCH 05/22] ide: fix ide_unregister() usage in host drivers, Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:26 pm)
[PATCH 04/22] ide: add ide_deprecated_find_port() helper, Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:26 pm)
Re: [PATCH 04/22] ide: add ide_deprecated_find_port() helper, Sergei Shtylyov, (Wed May 21, 10:29 am)
Re: [PATCH 04/22] ide: add ide_deprecated_find_port() helper, Bartlomiej Zolnierkiewicz..., (Tue May 27, 2:36 pm)
[PATCH 03/22] ide: add 'init_default' and 'restore' argument..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:26 pm)
[PATCH 02/22] ide: remove redundant init_hwif_default() call..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:26 pm)
[PATCH 01/22] ide: remove redundant hwif-&gt;present check f..., Bartlomiej Zolnierkiewicz..., (Wed Jan 16, 7:26 pm)