All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: jgarzik@pobox.com, mlord@pobox.com, albertcc@tw.ibm.com,
	alan@lxorguk.ukuu.org.uk, axboe@suse.de, forrest.zhao@intel.com,
	linux-ide@vger.kernel.org
Cc: Tejun Heo <htejun@gmail.com>
Subject: [PATCH 02/12] libata-hp-prep: implement ata_dev_init()
Date: Wed, 31 May 2006 20:05:41 +0900	[thread overview]
Message-ID: <11490735412522-git-send-email-htejun@gmail.com> (raw)
In-Reply-To: <1149073540186-git-send-email-htejun@gmail.com>

Move initialization of struct ata_device into ata_dev_init() in
preparation for hotplug.  This patch calls ata_dev_init() from
ata_host_init() and thus makes no functional difference.

Signed-off-by: Tejun Heo <htejun@gmail.com>

---

 drivers/scsi/libata-core.c |   26 +++++++++++++++++++++-----
 drivers/scsi/libata.h      |    1 +
 2 files changed, 22 insertions(+), 5 deletions(-)

3ef3b43d5633d30fa3f033f62094ec2e9c5b8376
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 66df895..8fda822 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -5142,6 +5142,26 @@ static void ata_host_remove(struct ata_p
 }
 
 /**
+ *	ata_dev_init - Initialize an ata_device structure
+ *	@dev: Device structure to initialize
+ *
+ *	Initialize @dev in preparation for probing.
+ *
+ *	LOCKING:
+ *	Inherited from caller.
+ */
+void ata_dev_init(struct ata_device *dev)
+{
+	struct ata_port *ap = dev->ap;
+
+	memset((void *)dev, 0, sizeof(*dev));
+	dev->devno = dev - ap->device;
+	dev->pio_mask = UINT_MAX;
+	dev->mwdma_mask = UINT_MAX;
+	dev->udma_mask = UINT_MAX;
+}
+
+/**
  *	ata_host_init - Initialize an ata_port structure
  *	@ap: Structure to initialize
  *	@host: associated SCSI mid-layer structure
@@ -5155,7 +5175,6 @@ static void ata_host_remove(struct ata_p
  *	LOCKING:
  *	Inherited from caller.
  */
-
 static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host,
 			  struct ata_host_set *host_set,
 			  const struct ata_probe_ent *ent, unsigned int port_no)
@@ -5199,10 +5218,7 @@ static void ata_host_init(struct ata_por
 	for (i = 0; i < ATA_MAX_DEVICES; i++) {
 		struct ata_device *dev = &ap->device[i];
 		dev->ap = ap;
-		dev->devno = i;
-		dev->pio_mask = UINT_MAX;
-		dev->mwdma_mask = UINT_MAX;
-		dev->udma_mask = UINT_MAX;
+		ata_dev_init(dev);
 	}
 
 #ifdef ATA_IRQ_TRAP
diff --git a/drivers/scsi/libata.h b/drivers/scsi/libata.h
index d56d9e1..c2b1c91 100644
--- a/drivers/scsi/libata.h
+++ b/drivers/scsi/libata.h
@@ -62,6 +62,7 @@ extern int ata_check_atapi_dma(struct at
 extern void ata_dev_select(struct ata_port *ap, unsigned int device,
                            unsigned int wait, unsigned int can_sleep);
 extern void swap_buf_le16(u16 *buf, unsigned int buf_words);
+extern void ata_dev_init(struct ata_device *dev);
 extern int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg);
 extern int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg);
 
-- 
1.3.2



  parent reply	other threads:[~2006-05-31 11:05 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-31 11:05 [PATCHSET 01/03] prep for hotplug support, take 5 Tejun Heo
2006-05-31 11:05 ` [PATCH 03/12] libata-hp-prep: make some ata_device fields persistent Tejun Heo
2006-05-31 11:05 ` [PATCH 06/12] libata-hp-prep: implement ap->hw_sata_spd_limit Tejun Heo
2006-05-31 11:05 ` Tejun Heo [this message]
2006-05-31 11:05 ` [PATCH 01/12] libata-hp-prep: add flags and eh_info/context fields for hotplug Tejun Heo
2006-05-31 11:05 ` [PATCH 05/12] libata-hp-prep: use __ata_scsi_find_dev() Tejun Heo
2006-05-31 11:05 ` [PATCH 04/12] libata-hp-prep: update ata_scsi_find_dev() and friends Tejun Heo
2006-05-31 11:05 ` [PATCH 11/12] libata-hp-prep: add prereset() method and implement ata_std_prereset() Tejun Heo
2006-05-31 11:05 ` [PATCH 08/12] libata-hp-prep: add ata_aux_wq Tejun Heo
2006-05-31 11:05 ` [PATCH 07/12] libata-hp-prep: store attached SCSI device Tejun Heo
2006-05-31 11:05 ` [PATCH 10/12] libata-hp-prep: implement sata_phy_debounce() Tejun Heo
2006-05-31 11:05 ` [PATCH 09/12] libata-hp-prep: make probing related functions global Tejun Heo
2006-05-31 11:05 ` [PATCH 12/12] libata-hp-prep: implement followup softreset handling Tejun Heo
2006-05-31 11:08 ` [PATCHSET 01/03] prep for hotplug support, take 5 Tejun Heo
2006-06-08 20:52 ` Jeff Garzik
  -- strict thread matches above, loose matches on Subject: below --
2006-05-29  6:25 [PATCHSET 01/03] prep for hotplug support, take 4 Tejun Heo
2006-05-29  6:25 ` [PATCH 02/12] libata-hp-prep: implement ata_dev_init() Tejun Heo

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=11490735412522-git-send-email-htejun@gmail.com \
    --to=htejun@gmail.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=albertcc@tw.ibm.com \
    --cc=axboe@suse.de \
    --cc=forrest.zhao@intel.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=mlord@pobox.com \
    /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.