aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-08-06 05:36:22 -0400
committerJeff Garzik <jeff@garzik.org>2007-10-12 14:55:30 -0400
commit9af5c9c97dc9d599281778864c72b385f0c63341 (patch)
tree8359986bd42c4a9a5b1993078aa9ee4c7971ac3d /drivers/scsi
parent640fdb504941fa2b9f6f274716fc9f97f2bf6bff (diff)
libata-link: introduce ata_link
Introduce ata_link. It abstracts PHY and sits between ata_port and ata_device. This new level of abstraction is necessary to support SATA Port Multiplier, which basically adds a bunch of links (PHYs) to a ATA host port. Fields related to command execution, spd_limit and EH are per-link and thus moved to ata_link. This patch only defines the host link. Multiple link handling will be added later. Also, a lot of ap->link derefences are added but many of them will be removed as each part is converted to deal directly with ata_link instead of ata_port. This patch introduces no behavior change. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: James Bottomley <James.Bottomley@SteelEye.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/ipr.c6
-rw-r--r--drivers/scsi/libsas/sas_ata.c10
2 files changed, 8 insertions, 8 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index f142eafb6fc7..affd77aafb23 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -4988,14 +4988,14 @@ static void ipr_ata_phy_reset(struct ata_port *ap)
4988 switch(res->cfgte.proto) { 4988 switch(res->cfgte.proto) {
4989 case IPR_PROTO_SATA: 4989 case IPR_PROTO_SATA:
4990 case IPR_PROTO_SAS_STP: 4990 case IPR_PROTO_SAS_STP:
4991 ap->device[0].class = ATA_DEV_ATA; 4991 ap->link.device[0].class = ATA_DEV_ATA;
4992 break; 4992 break;
4993 case IPR_PROTO_SATA_ATAPI: 4993 case IPR_PROTO_SATA_ATAPI:
4994 case IPR_PROTO_SAS_STP_ATAPI: 4994 case IPR_PROTO_SAS_STP_ATAPI:
4995 ap->device[0].class = ATA_DEV_ATAPI; 4995 ap->link.device[0].class = ATA_DEV_ATAPI;
4996 break; 4996 break;
4997 default: 4997 default:
4998 ap->device[0].class = ATA_DEV_UNKNOWN; 4998 ap->link.device[0].class = ATA_DEV_UNKNOWN;
4999 ap->ops->port_disable(ap); 4999 ap->ops->port_disable(ap);
5000 break; 5000 break;
5001 }; 5001 };
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c
index 5e573efcf0a7..1d6503d85f02 100644
--- a/drivers/scsi/libsas/sas_ata.c
+++ b/drivers/scsi/libsas/sas_ata.c
@@ -249,17 +249,17 @@ static void sas_ata_phy_reset(struct ata_port *ap)
249 switch (dev->sata_dev.command_set) { 249 switch (dev->sata_dev.command_set) {
250 case ATA_COMMAND_SET: 250 case ATA_COMMAND_SET:
251 SAS_DPRINTK("%s: Found ATA device.\n", __FUNCTION__); 251 SAS_DPRINTK("%s: Found ATA device.\n", __FUNCTION__);
252 ap->device[0].class = ATA_DEV_ATA; 252 ap->link.device[0].class = ATA_DEV_ATA;
253 break; 253 break;
254 case ATAPI_COMMAND_SET: 254 case ATAPI_COMMAND_SET:
255 SAS_DPRINTK("%s: Found ATAPI device.\n", __FUNCTION__); 255 SAS_DPRINTK("%s: Found ATAPI device.\n", __FUNCTION__);
256 ap->device[0].class = ATA_DEV_ATAPI; 256 ap->link.device[0].class = ATA_DEV_ATAPI;
257 break; 257 break;
258 default: 258 default:
259 SAS_DPRINTK("%s: Unknown SATA command set: %d.\n", 259 SAS_DPRINTK("%s: Unknown SATA command set: %d.\n",
260 __FUNCTION__, 260 __FUNCTION__,
261 dev->sata_dev.command_set); 261 dev->sata_dev.command_set);
262 ap->device[0].class = ATA_DEV_UNKNOWN; 262 ap->link.device[0].class = ATA_DEV_UNKNOWN;
263 break; 263 break;
264 } 264 }
265 265
@@ -317,7 +317,7 @@ static int sas_ata_scr_write(struct ata_port *ap, unsigned int sc_reg_in,
317 dev->sata_dev.serror = val; 317 dev->sata_dev.serror = val;
318 break; 318 break;
319 case SCR_ACTIVE: 319 case SCR_ACTIVE:
320 dev->sata_dev.ap->sactive = val; 320 dev->sata_dev.ap->link.sactive = val;
321 break; 321 break;
322 default: 322 default:
323 return -EINVAL; 323 return -EINVAL;
@@ -342,7 +342,7 @@ static int sas_ata_scr_read(struct ata_port *ap, unsigned int sc_reg_in,
342 *val = dev->sata_dev.serror; 342 *val = dev->sata_dev.serror;
343 return 0; 343 return 0;
344 case SCR_ACTIVE: 344 case SCR_ACTIVE:
345 *val = dev->sata_dev.ap->sactive; 345 *val = dev->sata_dev.ap->link.sactive;
346 return 0; 346 return 0;
347 default: 347 default:
348 return -EINVAL; 348 return -EINVAL;