aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-05-10 15:41:37 -0400
committerJeff Garzik <jgarzik@redhat.com>2010-05-19 13:35:47 -0400
commit5fe7454aa9c6ef5fcf506b0f2dfc20f696891f1a (patch)
tree94e01d83671ed916dd6c931333722702bf46c7ef
parent8244cd05979ef924787aa70fd80304f1773976a1 (diff)
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>
-rw-r--r--drivers/ata/libata-core.c2
-rw-r--r--drivers/ata/libata-sff.c2
-rw-r--r--include/linux/libata.h8
3 files changed, 8 insertions, 4 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 200f49d09228..bf6ffc1273a0 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -5634,10 +5634,8 @@ struct ata_port *ata_port_alloc(struct ata_host *host)
5634 ap->pflags |= ATA_PFLAG_INITIALIZING; 5634 ap->pflags |= ATA_PFLAG_INITIALIZING;
5635 ap->lock = &host->lock; 5635 ap->lock = &host->lock;
5636 ap->print_id = -1; 5636 ap->print_id = -1;
5637 ap->ctl = ATA_DEVCTL_OBS;
5638 ap->host = host; 5637 ap->host = host;
5639 ap->dev = host->dev; 5638 ap->dev = host->dev;
5640 ap->last_ctl = 0xFF;
5641 5639
5642#if defined(ATA_VERBOSE_DEBUG) 5640#if defined(ATA_VERBOSE_DEBUG)
5643 /* turn on all debugging levels */ 5641 /* turn on all debugging levels */
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 6a103b310cac..8a1396f52a3a 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -3074,6 +3074,8 @@ EXPORT_SYMBOL_GPL(ata_pci_bmdma_init);
3074 */ 3074 */
3075void ata_sff_port_init(struct ata_port *ap) 3075void ata_sff_port_init(struct ata_port *ap)
3076{ 3076{
3077 ap->ctl = ATA_DEVCTL_OBS;
3078 ap->last_ctl = 0xFF;
3077} 3079}
3078 3080
3079int __init ata_sff_init(void) 3081int __init ata_sff_init(void)
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 {
721 721
722#ifdef CONFIG_ATA_SFF 722#ifdef CONFIG_ATA_SFF
723 struct ata_ioports ioaddr; /* ATA cmd/ctl/dma register blocks */ 723 struct ata_ioports ioaddr; /* ATA cmd/ctl/dma register blocks */
724#endif /* CONFIG_ATA_SFF */
725
726 u8 ctl; /* cache of ATA control register */ 724 u8 ctl; /* cache of ATA control register */
727 u8 last_ctl; /* Cache last written value */ 725 u8 last_ctl; /* Cache last written value */
726#endif /* CONFIG_ATA_SFF */
727
728 unsigned int pio_mask; 728 unsigned int pio_mask;
729 unsigned int mwdma_mask; 729 unsigned int mwdma_mask;
730 unsigned int udma_mask; 730 unsigned int udma_mask;
@@ -1435,7 +1435,11 @@ static inline void ata_tf_init(struct ata_device *dev, struct ata_taskfile *tf)
1435{ 1435{
1436 memset(tf, 0, sizeof(*tf)); 1436 memset(tf, 0, sizeof(*tf));
1437 1437
1438#ifdef CONFIG_ATA_SFF
1438 tf->ctl = dev->link->ap->ctl; 1439 tf->ctl = dev->link->ap->ctl;
1440#else
1441 tf->ctl = ATA_DEVCTL_OBS;
1442#endif
1439 if (dev->devno == 0) 1443 if (dev->devno == 0)
1440 tf->device = ATA_DEVICE_OBS; 1444 tf->device = ATA_DEVICE_OBS;
1441 else 1445 else