summaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata.h
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-04-07 15:47:21 +0200
committerJeff Garzik <jgarzik@redhat.com>2008-04-17 21:44:24 +0200
commit127102aea2ea9ec4e9ca233e2b1a75c8d3b058c4 (patch)
tree92fb528eac658adbc7307a009bd8a7558db2658a /drivers/ata/libata.h
parentlibata: don't use ap->ioaddr in non-SFF drivers (diff)
downloadlinux-127102aea2ea9ec4e9ca233e2b1a75c8d3b058c4.tar.xz
linux-127102aea2ea9ec4e9ca233e2b1a75c8d3b058c4.zip
libata: make SFF support optional
Now that SFF support is completely separated out from the core layer, it can be made optional. Add CONFIG_ATA_SFF and let SFF drivers depend on it. If CONFIG_ATA_SFF isn't set, all codes in libata-sff.c and data structures for SFF support are disabled. This saves good number of bytes for small systems. Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/ata/libata.h')
-rw-r--r--drivers/ata/libata.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h
index 87f54a1db3b0..6b70a624828c 100644
--- a/drivers/ata/libata.h
+++ b/drivers/ata/libata.h
@@ -42,8 +42,10 @@ static inline int ata_is_builtin_hardreset(ata_reset_fn_t reset)
{
if (reset == sata_std_hardreset)
return 1;
+#ifdef CONFIG_ATA_SFF
if (reset == sata_sff_hardreset)
return 1;
+#endif
return 0;
}
@@ -206,9 +208,11 @@ extern int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
extern void ata_eh_finish(struct ata_port *ap);
/* libata-sff.c */
+#ifdef CONFIG_ATA_SFF
extern void ata_dev_select(struct ata_port *ap, unsigned int device,
unsigned int wait, unsigned int can_sleep);
extern u8 ata_irq_on(struct ata_port *ap);
extern void ata_pio_task(struct work_struct *work);
+#endif /* CONFIG_ATA_SFF */
#endif /* __LIBATA_H__ */