summaryrefslogtreecommitdiff
path: root/include/linux/libata.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-05-10 23:41:37 +0400
committerJeff Garzik <jgarzik@redhat.com>2010-05-19 21:35:47 +0400
commit5fe7454aa9c6ef5fcf506b0f2dfc20f696891f1a (patch)
tree94e01d83671ed916dd6c931333722702bf46c7ef /include/linux/libata.h
parent8244cd05979ef924787aa70fd80304f1773976a1 (diff)
downloadlinux-5fe7454aa9c6ef5fcf506b0f2dfc20f696891f1a.tar.xz
libata-sff: ap->[last_]ctl are SFF specific
ap->[last_]ctl are specific to SFF controllers. Put them inside CONFIG_ATA_SFF and move initialization into ata_sff_port_init(). Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r--include/linux/libata.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 19f716edd3be..85b99b83f990 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -721,10 +721,10 @@ struct ata_port {
#ifdef CONFIG_ATA_SFF
struct ata_ioports ioaddr; /* ATA cmd/ctl/dma register blocks */
-#endif /* CONFIG_ATA_SFF */
-
u8 ctl; /* cache of ATA control register */
u8 last_ctl; /* Cache last written value */
+#endif /* CONFIG_ATA_SFF */
+
unsigned int pio_mask;
unsigned int mwdma_mask;
unsigned int udma_mask;
@@ -1435,7 +1435,11 @@ static inline void ata_tf_init(struct ata_device *dev, struct ata_taskfile *tf)
{
memset(tf, 0, sizeof(*tf));
+#ifdef CONFIG_ATA_SFF
tf->ctl = dev->link->ap->ctl;
+#else
+ tf->ctl = ATA_DEVCTL_OBS;
+#endif
if (dev->devno == 0)
tf->device = ATA_DEVICE_OBS;
else