libata: replace tf_read with qc_fill_rtf for non-SFF drivers
authorTejun Heo <htejun@gmail.com>
Mon, 7 Apr 2008 13:47:20 +0000 (22:47 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 17 Apr 2008 19:44:23 +0000 (15:44 -0400)
commit4c9bf4e799ce06a7378f1196587084802a414c03
tree70a7d3741e756b975468850537f222349143a0be
parent79f97dadfe9b4b561634d202225ba2fa910dc225
libata: replace tf_read with qc_fill_rtf for non-SFF drivers

Now that all SFF stuff is separated out of core layer, core layer
doesn't call ops->tf_read directly.  It gets called only via
ops->qc_fill_rtf() for non-SFF drivers.  This patch directly
implements private ops->qc_fill_rtf() for non-SFF controllers and kill
ops->tf_read().

This is much cleaner for non-SFF controllers as some of them have to
cache SFF register values in private data structure and report the
cached values via ops->tf_read().  Also, ops->tf_read() gets nasty for
controllers which don't have clear notion of TF registers when
operation is not in progress.

As this change makes default ops->qc_fill_rtf unnecessary, move
ata_sff_qc_fill_rtf() form ata_base_port_ops to ata_sff_port_ops where
it belongs.

Signed-off-by: Tejun Heo <htejun@gmail.com>
drivers/ata/ahci.c
drivers/ata/libata-core.c
drivers/ata/libata-sff.c
drivers/ata/sata_fsl.c
drivers/ata/sata_sil24.c
drivers/scsi/ipr.c
drivers/scsi/libsas/sas_ata.c