All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: linux-ide@vger.kernel.org
Cc: linuxppc-dev@ozlabs.org,
	Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: [PATCH 06/18] ide: factor out code unregistering devices from ide_unregister()
Date: Fri, 08 Feb 2008 01:45:02 +0100	[thread overview]
Message-ID: <20080208004502.17746.73284.sendpatchset@localhost.localdomain> (raw)
In-Reply-To: <20080208004421.17746.32557.sendpatchset@localhost.localdomain>

Factor out code unregistering devices from ide_unregister() to
ide_port_unregister_devices().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/ide.c |   30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

Index: b/drivers/ide/ide.c
===================================================================
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -494,6 +494,23 @@ void ide_remove_port_from_hwgroup(ide_hw
 	spin_unlock_irq(&ide_lock);
 }
 
+/* Called with ide_lock held. */
+static void ide_port_unregister_devices(ide_hwif_t *hwif)
+{
+	int i;
+
+	for (i = 0; i < MAX_DRIVES; i++) {
+		ide_drive_t *drive = &hwif->drives[i];
+
+		if (drive->present) {
+			spin_unlock_irq(&ide_lock);
+			device_unregister(&drive->gendev);
+			wait_for_completion(&drive->gendev_rel_comp);
+			spin_lock_irq(&ide_lock);
+		}
+	}
+}
+
 /**
  *	ide_unregister		-	free an IDE interface
  *	@index: index of interface (will change soon to a pointer)
@@ -520,11 +537,10 @@ void ide_remove_port_from_hwgroup(ide_hw
 
 void ide_unregister(unsigned int index, int init_default, int restore)
 {
-	ide_drive_t *drive;
 	ide_hwif_t *hwif, *g;
 	static ide_hwif_t tmp_hwif; /* protected by ide_cfg_mtx */
 	ide_hwgroup_t *hwgroup;
-	int irq_count = 0, unit;
+	int irq_count = 0;
 
 	BUG_ON(index >= MAX_HWIFS);
 
@@ -535,15 +551,7 @@ void ide_unregister(unsigned int index, 
 	hwif = &ide_hwifs[index];
 	if (!hwif->present)
 		goto abort;
-	for (unit = 0; unit < MAX_DRIVES; ++unit) {
-		drive = &hwif->drives[unit];
-		if (!drive->present)
-			continue;
-		spin_unlock_irq(&ide_lock);
-		device_unregister(&drive->gendev);
-		wait_for_completion(&drive->gendev_rel_comp);
-		spin_lock_irq(&ide_lock);
-	}
+	ide_port_unregister_devices(hwif);
 	hwif->present = 0;
 
 	spin_unlock_irq(&ide_lock);

WARNING: multiple messages have this Message-ID (diff)
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: linux-ide@vger.kernel.org
Cc: linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org,
	Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Subject: [PATCH 06/18] ide: factor out code unregistering devices from ide_unregister()
Date: Fri, 08 Feb 2008 01:45:02 +0100	[thread overview]
Message-ID: <20080208004502.17746.73284.sendpatchset@localhost.localdomain> (raw)
In-Reply-To: <20080208004421.17746.32557.sendpatchset@localhost.localdomain>

Factor out code unregistering devices from ide_unregister() to
ide_port_unregister_devices().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/ide.c |   30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

Index: b/drivers/ide/ide.c
===================================================================
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -494,6 +494,23 @@ void ide_remove_port_from_hwgroup(ide_hw
 	spin_unlock_irq(&ide_lock);
 }
 
+/* Called with ide_lock held. */
+static void ide_port_unregister_devices(ide_hwif_t *hwif)
+{
+	int i;
+
+	for (i = 0; i < MAX_DRIVES; i++) {
+		ide_drive_t *drive = &hwif->drives[i];
+
+		if (drive->present) {
+			spin_unlock_irq(&ide_lock);
+			device_unregister(&drive->gendev);
+			wait_for_completion(&drive->gendev_rel_comp);
+			spin_lock_irq(&ide_lock);
+		}
+	}
+}
+
 /**
  *	ide_unregister		-	free an IDE interface
  *	@index: index of interface (will change soon to a pointer)
@@ -520,11 +537,10 @@ void ide_remove_port_from_hwgroup(ide_hw
 
 void ide_unregister(unsigned int index, int init_default, int restore)
 {
-	ide_drive_t *drive;
 	ide_hwif_t *hwif, *g;
 	static ide_hwif_t tmp_hwif; /* protected by ide_cfg_mtx */
 	ide_hwgroup_t *hwgroup;
-	int irq_count = 0, unit;
+	int irq_count = 0;
 
 	BUG_ON(index >= MAX_HWIFS);
 
@@ -535,15 +551,7 @@ void ide_unregister(unsigned int index, 
 	hwif = &ide_hwifs[index];
 	if (!hwif->present)
 		goto abort;
-	for (unit = 0; unit < MAX_DRIVES; ++unit) {
-		drive = &hwif->drives[unit];
-		if (!drive->present)
-			continue;
-		spin_unlock_irq(&ide_lock);
-		device_unregister(&drive->gendev);
-		wait_for_completion(&drive->gendev_rel_comp);
-		spin_lock_irq(&ide_lock);
-	}
+	ide_port_unregister_devices(hwif);
 	hwif->present = 0;
 
 	spin_unlock_irq(&ide_lock);

  parent reply	other threads:[~2008-02-08  0:30 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-08  0:44 [PATCH 00/18] ide: warm-plug support for IDE devices and other goodies Bartlomiej Zolnierkiewicz
2008-02-08  0:44 ` Bartlomiej Zolnierkiewicz
2008-02-08  0:44 ` [PATCH 01/18] ide-generic: set hwif->chipset Bartlomiej Zolnierkiewicz
2008-02-08  0:44   ` Bartlomiej Zolnierkiewicz
2008-02-08  0:44 ` [PATCH 02/18] ide: fix ide_find_port() Bartlomiej Zolnierkiewicz
2008-02-08  0:44   ` Bartlomiej Zolnierkiewicz
2008-02-08 17:23   ` Sergei Shtylyov
2008-02-08 17:23     ` Sergei Shtylyov
2008-02-08  0:44 ` [PATCH 03/18] ide: use ide_find_port() instead of ide_deprecated_find_port() Bartlomiej Zolnierkiewicz
2008-02-08  0:44   ` Bartlomiej Zolnierkiewicz
2008-02-08  0:44 ` [PATCH 04/18] ide-acpi: add missing drive->acpidata zeroing Bartlomiej Zolnierkiewicz
2008-02-08  0:44   ` Bartlomiej Zolnierkiewicz
2008-02-08  0:44 ` [PATCH 05/18] ide: factor out cable detection from ide_init_port() Bartlomiej Zolnierkiewicz
2008-02-08  0:44   ` Bartlomiej Zolnierkiewicz
2008-02-08 17:18   ` Sergei Shtylyov
2008-02-08 17:18     ` Sergei Shtylyov
2008-02-08  0:45 ` Bartlomiej Zolnierkiewicz [this message]
2008-02-08  0:45   ` [PATCH 06/18] ide: factor out code unregistering devices from ide_unregister() Bartlomiej Zolnierkiewicz
2008-02-09 18:07   ` Sergei Shtylyov
2008-02-09 18:07     ` Sergei Shtylyov
2008-02-08  0:45 ` [PATCH 07/18] ide: factor out devices init from ide_init_port_data() Bartlomiej Zolnierkiewicz
2008-02-08  0:45   ` Bartlomiej Zolnierkiewicz
2008-02-09 18:10   ` Sergei Shtylyov
2008-02-09 18:10     ` Sergei Shtylyov
2008-02-08  0:45 ` [PATCH 08/18] ide: move ide_port_setup_devices() call to ide_device_add_all() Bartlomiej Zolnierkiewicz
2008-02-08  0:45   ` Bartlomiej Zolnierkiewicz
2008-02-08 17:20   ` Sergei Shtylyov
2008-02-08 17:20     ` Sergei Shtylyov
2008-02-08  0:45 ` [PATCH 09/18] ide: rework PowerMac media-bay support Bartlomiej Zolnierkiewicz
2008-02-08  0:45   ` Bartlomiej Zolnierkiewicz
2008-02-13  7:29   ` Michael Ellerman
2008-02-13  7:29     ` Michael Ellerman
2008-02-13 12:26     ` Bartlomiej Zolnierkiewicz
2008-02-13 12:26       ` Bartlomiej Zolnierkiewicz
2008-02-08  0:45 ` [PATCH 10/18] ide: add warm-plug support for IDE devices Bartlomiej Zolnierkiewicz
2008-02-08  0:45   ` Bartlomiej Zolnierkiewicz
2008-02-08  0:45 ` [PATCH 11/18] ide-generic: add ide_generic class and attribute for adding new interfaces Bartlomiej Zolnierkiewicz
2008-02-08  0:45   ` Bartlomiej Zolnierkiewicz
2008-02-08  0:45 ` [PATCH 12/18] ide: remove needless CONFIG_BLK_DEV_HD hack from init_hwif() Bartlomiej Zolnierkiewicz
2008-02-08  0:45   ` Bartlomiej Zolnierkiewicz
2008-02-08  0:45 ` [PATCH 13/18] ide: remove CONFIG_BLK_DEV_HD_IDE config option Bartlomiej Zolnierkiewicz
2008-02-08  0:45   ` Bartlomiej Zolnierkiewicz
2008-02-08  0:45 ` [PATCH 14/18] ide: remove obsoleted "idex=base[,ctl[,irq]]" kernel parameters Bartlomiej Zolnierkiewicz
2008-02-08  0:45   ` [PATCH 14/18] ide: remove obsoleted "idex=base[, ctl[, irq]]" " Bartlomiej Zolnierkiewicz
2008-02-08  0:46 ` [PATCH 15/18] ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls Bartlomiej Zolnierkiewicz
2008-02-08  0:46   ` [PATCH 15/18] ide: remove broken/dangerous HDIO_[UNREGISTER, SCAN]_HWIF ioctls Bartlomiej Zolnierkiewicz
2008-03-27 17:38   ` [PATCH 15/18] ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls Sergei Shtylyov
2008-03-27 17:38     ` [PATCH 15/18] ide: remove broken/dangerous HDIO_[UNREGISTER, SCAN]_HWIF ioctls Sergei Shtylyov
2008-03-28 19:14     ` [PATCH 15/18] ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls Mark Lord
2008-03-28 19:14       ` [PATCH 15/18] ide: remove broken/dangerous HDIO_[UNREGISTER, SCAN]_HWIF ioctls Mark Lord
2008-03-29 16:10       ` Bartlomiej Zolnierkiewicz
2008-03-29 16:10         ` [PATCH 15/18] ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls Bartlomiej Zolnierkiewicz
2008-03-29 16:03     ` Bartlomiej Zolnierkiewicz
2008-03-29 16:03       ` [PATCH 15/18] ide: remove broken/dangerous HDIO_[UNREGISTER, SCAN]_HWIF ioctls Bartlomiej Zolnierkiewicz
2008-02-08  0:46 ` [PATCH 16/18] ide: remove ->hold field from ide_hwif_t Bartlomiej Zolnierkiewicz
2008-02-08  0:46   ` Bartlomiej Zolnierkiewicz
2008-02-08  0:46 ` [PATCH 17/18] ide: remove init_hwif_default() Bartlomiej Zolnierkiewicz
2008-02-08  0:46   ` Bartlomiej Zolnierkiewicz
2008-02-08  0:46 ` [PATCH 18/18] ide: remove ide_init_hwif_ports() Bartlomiej Zolnierkiewicz
2008-02-08  0:46   ` Bartlomiej Zolnierkiewicz
2008-02-08  8:40 ` [PATCH 00/18] ide: warm-plug support for IDE devices and other goodies Benjamin Herrenschmidt
2008-02-08  8:40   ` Benjamin Herrenschmidt
2008-02-12 11:49   ` Gabriel Paubert
2008-02-12 11:49     ` Gabriel Paubert
2008-02-12 12:30     ` Gabriel Paubert
2008-02-13 10:08       ` Gabriel Paubert
2008-02-12 20:59     ` Benjamin Herrenschmidt
2008-02-12 20:59       ` Benjamin Herrenschmidt
2008-02-12 21:04   ` Benjamin Herrenschmidt
2008-02-12 21:41     ` Alan Cox
2008-02-12 21:41       ` Alan Cox
2008-02-12 22:00       ` Benjamin Herrenschmidt
2008-02-12 22:00         ` Benjamin Herrenschmidt
2008-02-12 21:54     ` Bartlomiej Zolnierkiewicz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080208004502.17746.73284.sendpatchset@localhost.localdomain \
    --to=bzolnier@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.