diff options
author | Tejun Heo <htejun@gmail.com> | 2007-04-17 10:44:07 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-04-28 14:16:03 -0400 |
commit | 21b0ad4fb8306ac2bf5a249ffc978b1b8924c7d0 (patch) | |
tree | 9f82cc6a4bca146ce1021f0825cc12f18f9063b9 /drivers/ata/libata-core.c | |
parent | d491b27b1959565671e2c05dff09b5f535a854ce (diff) |
libata: add init helpers including ata_pci_prepare_native_host()
These will be used to convert LLDs to new init model.
* Add irq_handler field to port_info. In new init model, requesting
IRQ is LLD's responsibility and libata doesn't need to know about
irq_handler. Most LLDs can simply register their irq_handler but
some need different irq_handler depending on specific chip. The
added port_info->irq_handler field can be used by LLDs to select
the matching IRQ handler in such cases.
* Add ata_dummy_port_info.
* Implement ata_pci_prepare_native_host(), a helper to alloc ATA host,
acquire all resources and init the host in one go.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/libata-core.c')
-rw-r--r-- | drivers/ata/libata-core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 8d3ae66572e9..2a38aa2841fd 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
@@ -6623,6 +6623,10 @@ const struct ata_port_operations ata_dummy_port_ops = { | |||
6623 | .port_stop = ata_dummy_noret, | 6623 | .port_stop = ata_dummy_noret, |
6624 | }; | 6624 | }; |
6625 | 6625 | ||
6626 | const struct ata_port_info ata_dummy_port_info = { | ||
6627 | .port_ops = &ata_dummy_port_ops, | ||
6628 | }; | ||
6629 | |||
6626 | /* | 6630 | /* |
6627 | * libata is essentially a library of internal helper functions for | 6631 | * libata is essentially a library of internal helper functions for |
6628 | * low-level ATA host controller drivers. As such, the API/ABI is | 6632 | * low-level ATA host controller drivers. As such, the API/ABI is |
@@ -6634,6 +6638,7 @@ EXPORT_SYMBOL_GPL(sata_deb_timing_normal); | |||
6634 | EXPORT_SYMBOL_GPL(sata_deb_timing_hotplug); | 6638 | EXPORT_SYMBOL_GPL(sata_deb_timing_hotplug); |
6635 | EXPORT_SYMBOL_GPL(sata_deb_timing_long); | 6639 | EXPORT_SYMBOL_GPL(sata_deb_timing_long); |
6636 | EXPORT_SYMBOL_GPL(ata_dummy_port_ops); | 6640 | EXPORT_SYMBOL_GPL(ata_dummy_port_ops); |
6641 | EXPORT_SYMBOL_GPL(ata_dummy_port_info); | ||
6637 | EXPORT_SYMBOL_GPL(ata_std_bios_param); | 6642 | EXPORT_SYMBOL_GPL(ata_std_bios_param); |
6638 | EXPORT_SYMBOL_GPL(ata_std_ports); | 6643 | EXPORT_SYMBOL_GPL(ata_std_ports); |
6639 | EXPORT_SYMBOL_GPL(ata_host_init); | 6644 | EXPORT_SYMBOL_GPL(ata_host_init); |
@@ -6727,6 +6732,7 @@ EXPORT_SYMBOL_GPL(ata_timing_merge); | |||
6727 | EXPORT_SYMBOL_GPL(pci_test_config_bits); | 6732 | EXPORT_SYMBOL_GPL(pci_test_config_bits); |
6728 | EXPORT_SYMBOL_GPL(ata_pci_init_native_mode); | 6733 | EXPORT_SYMBOL_GPL(ata_pci_init_native_mode); |
6729 | EXPORT_SYMBOL_GPL(ata_pci_init_native_host); | 6734 | EXPORT_SYMBOL_GPL(ata_pci_init_native_host); |
6735 | EXPORT_SYMBOL_GPL(ata_pci_prepare_native_host); | ||
6730 | EXPORT_SYMBOL_GPL(ata_pci_init_one); | 6736 | EXPORT_SYMBOL_GPL(ata_pci_init_one); |
6731 | EXPORT_SYMBOL_GPL(ata_pci_remove_one); | 6737 | EXPORT_SYMBOL_GPL(ata_pci_remove_one); |
6732 | #ifdef CONFIG_PM | 6738 | #ifdef CONFIG_PM |