+++ /dev/null
-From 3220e54e9192d782d2ccfc243784332dcb0554c7 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 26 Mar 2020 16:58:04 +0100
-Subject: ata: move EXPORT_SYMBOL_GPL()s close to exported code
-
-From: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
-
-[ Upstream commit a52fbcfc7b38b50b5b651bab80041a93ba7b29b9 ]
-
-Move EXPORT_SYMBOL_GPL()s close to exported code like it is
-done in other kernel subsystems. As a nice side effect this
-results in the removal of few ifdefs.
-
-Reviewed-by: Christoph Hellwig <hch@lst.de>
-Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
-Stable-dep-of: 24e0e61db3cb ("ata: libata: disallow dev-initiated LPM transitions to unsupported states")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/ata/libata-core.c | 208 +++++++++++++++-----------------------
- drivers/ata/libata-eh.c | 20 +++-
- drivers/ata/libata-scsi.c | 8 ++
- 3 files changed, 109 insertions(+), 127 deletions(-)
-
-diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
-index c06f618b1aa3c..1e057162e00eb 100644
---- a/drivers/ata/libata-core.c
-+++ b/drivers/ata/libata-core.c
-@@ -22,6 +22,11 @@
- * http://www.compactflash.org (CF)
- * http://www.qic.org (QIC157 - Tape and DSC)
- * http://www.ce-ata.org (CE-ATA: not supported)
-+ *
-+ * libata is essentially a library of internal helper functions for
-+ * low-level ATA host controller drivers. As such, the API/ABI is
-+ * likely to change as new drivers are added and updated.
-+ * Do not depend on ABI/API stability.
- */
-
- #include <linux/kernel.h>
-@@ -64,8 +69,11 @@
-
- /* debounce timing parameters in msecs { interval, duration, timeout } */
- const unsigned long sata_deb_timing_normal[] = { 5, 100, 2000 };
-+EXPORT_SYMBOL_GPL(sata_deb_timing_normal);
- const unsigned long sata_deb_timing_hotplug[] = { 25, 500, 2000 };
-+EXPORT_SYMBOL_GPL(sata_deb_timing_hotplug);
- const unsigned long sata_deb_timing_long[] = { 100, 2000, 5000 };
-+EXPORT_SYMBOL_GPL(sata_deb_timing_long);
-
- const struct ata_port_operations ata_base_port_ops = {
- .prereset = ata_std_prereset,
-@@ -74,6 +82,7 @@ const struct ata_port_operations ata_base_port_ops = {
- .sched_eh = ata_std_sched_eh,
- .end_eh = ata_std_end_eh,
- };
-+EXPORT_SYMBOL_GPL(ata_base_port_ops);
-
- const struct ata_port_operations sata_port_ops = {
- .inherits = &ata_base_port_ops,
-@@ -81,6 +90,7 @@ const struct ata_port_operations sata_port_ops = {
- .qc_defer = ata_std_qc_defer,
- .hardreset = sata_std_hardreset,
- };
-+EXPORT_SYMBOL_GPL(sata_port_ops);
-
- static unsigned int ata_dev_init_params(struct ata_device *dev,
- u16 heads, u16 sectors);
-@@ -223,6 +233,7 @@ struct ata_link *ata_link_next(struct ata_link *link, struct ata_port *ap,
-
- return NULL;
- }
-+EXPORT_SYMBOL_GPL(ata_link_next);
-
- /**
- * ata_dev_next - device iteration helper
-@@ -276,6 +287,7 @@ struct ata_device *ata_dev_next(struct ata_device *dev, struct ata_link *link,
- goto next;
- return dev;
- }
-+EXPORT_SYMBOL_GPL(ata_dev_next);
-
- /**
- * ata_dev_phys_link - find physical link for a device
-@@ -520,6 +532,7 @@ int atapi_cmd_type(u8 opcode)
- return ATAPI_MISC;
- }
- }
-+EXPORT_SYMBOL_GPL(atapi_cmd_type);
-
- /**
- * ata_tf_to_fis - Convert ATA taskfile to SATA FIS structure
-@@ -564,6 +577,7 @@ void ata_tf_to_fis(const struct ata_taskfile *tf, u8 pmp, int is_cmd, u8 *fis)
- fis[18] = (tf->auxiliary >> 16) & 0xff;
- fis[19] = (tf->auxiliary >> 24) & 0xff;
- }
-+EXPORT_SYMBOL_GPL(ata_tf_to_fis);
-
- /**
- * ata_tf_from_fis - Convert SATA FIS to ATA taskfile
-@@ -593,6 +607,7 @@ void ata_tf_from_fis(const u8 *fis, struct ata_taskfile *tf)
- tf->nsect = fis[12];
- tf->hob_nsect = fis[13];
- }
-+EXPORT_SYMBOL_GPL(ata_tf_from_fis);
-
- static const u8 ata_rw_cmds[] = {
- /* pio multi */
-@@ -867,6 +882,7 @@ unsigned long ata_pack_xfermask(unsigned long pio_mask,
- ((mwdma_mask << ATA_SHIFT_MWDMA) & ATA_MASK_MWDMA) |
- ((udma_mask << ATA_SHIFT_UDMA) & ATA_MASK_UDMA);
- }
-+EXPORT_SYMBOL_GPL(ata_pack_xfermask);
-
- /**
- * ata_unpack_xfermask - Unpack xfer_mask into pio, mwdma and udma masks
-@@ -888,6 +904,7 @@ void ata_unpack_xfermask(unsigned long xfer_mask, unsigned long *pio_mask,
- if (udma_mask)
- *udma_mask = (xfer_mask & ATA_MASK_UDMA) >> ATA_SHIFT_UDMA;
- }
-+EXPORT_SYMBOL_GPL(ata_unpack_xfermask);
-
- static const struct ata_xfer_ent {
- int shift, bits;
-@@ -922,6 +939,7 @@ u8 ata_xfer_mask2mode(unsigned long xfer_mask)
- return ent->base + highbit - ent->shift;
- return 0xff;
- }
-+EXPORT_SYMBOL_GPL(ata_xfer_mask2mode);
-
- /**
- * ata_xfer_mode2mask - Find matching xfer_mask for XFER_*
-@@ -945,6 +963,7 @@ unsigned long ata_xfer_mode2mask(u8 xfer_mode)
- & ~((1 << ent->shift) - 1);
- return 0;
- }
-+EXPORT_SYMBOL_GPL(ata_xfer_mode2mask);
-
- /**
- * ata_xfer_mode2shift - Find matching xfer_shift for XFER_*
-@@ -967,6 +986,7 @@ int ata_xfer_mode2shift(unsigned long xfer_mode)
- return ent->shift;
- return -1;
- }
-+EXPORT_SYMBOL_GPL(ata_xfer_mode2shift);
-
- /**
- * ata_mode_string - convert xfer_mask to string
-@@ -1013,6 +1033,7 @@ const char *ata_mode_string(unsigned long xfer_mask)
- return xfer_mode_str[highbit];
- return "<n/a>";
- }
-+EXPORT_SYMBOL_GPL(ata_mode_string);
-
- const char *sata_spd_string(unsigned int spd)
- {
-@@ -1093,6 +1114,7 @@ unsigned int ata_dev_classify(const struct ata_taskfile *tf)
- DPRINTK("unknown device\n");
- return ATA_DEV_UNKNOWN;
- }
-+EXPORT_SYMBOL_GPL(ata_dev_classify);
-
- /**
- * ata_id_string - Convert IDENTIFY DEVICE page into string
-@@ -1129,6 +1151,7 @@ void ata_id_string(const u16 *id, unsigned char *s,
- len -= 2;
- }
- }
-+EXPORT_SYMBOL_GPL(ata_id_string);
-
- /**
- * ata_id_c_string - Convert IDENTIFY DEVICE page into C string
-@@ -1156,6 +1179,7 @@ void ata_id_c_string(const u16 *id, unsigned char *s,
- p--;
- *p = '\0';
- }
-+EXPORT_SYMBOL_GPL(ata_id_c_string);
-
- static u64 ata_id_n_sectors(const u16 *id)
- {
-@@ -1513,6 +1537,7 @@ unsigned long ata_id_xfermask(const u16 *id)
-
- return ata_pack_xfermask(pio_mask, mwdma_mask, udma_mask);
- }
-+EXPORT_SYMBOL_GPL(ata_id_xfermask);
-
- static void ata_qc_complete_internal(struct ata_queued_cmd *qc)
- {
-@@ -1770,6 +1795,7 @@ unsigned int ata_pio_need_iordy(const struct ata_device *adev)
- return 1;
- return 0;
- }
-+EXPORT_SYMBOL_GPL(ata_pio_need_iordy);
-
- /**
- * ata_pio_mask_no_iordy - Return the non IORDY mask
-@@ -1810,6 +1836,7 @@ unsigned int ata_do_dev_read_id(struct ata_device *dev,
- return ata_exec_internal(dev, tf, NULL, DMA_FROM_DEVICE,
- id, sizeof(id[0]) * ATA_ID_WORDS, 0);
- }
-+EXPORT_SYMBOL_GPL(ata_do_dev_read_id);
-
- /**
- * ata_dev_read_id - Read ID data from the specified device
-@@ -2808,6 +2835,7 @@ int ata_cable_40wire(struct ata_port *ap)
- {
- return ATA_CBL_PATA40;
- }
-+EXPORT_SYMBOL_GPL(ata_cable_40wire);
-
- /**
- * ata_cable_80wire - return 80 wire cable type
-@@ -2821,6 +2849,7 @@ int ata_cable_80wire(struct ata_port *ap)
- {
- return ATA_CBL_PATA80;
- }
-+EXPORT_SYMBOL_GPL(ata_cable_80wire);
-
- /**
- * ata_cable_unknown - return unknown PATA cable.
-@@ -2833,6 +2862,7 @@ int ata_cable_unknown(struct ata_port *ap)
- {
- return ATA_CBL_PATA_UNK;
- }
-+EXPORT_SYMBOL_GPL(ata_cable_unknown);
-
- /**
- * ata_cable_ignore - return ignored PATA cable.
-@@ -2845,6 +2875,7 @@ int ata_cable_ignore(struct ata_port *ap)
- {
- return ATA_CBL_PATA_IGN;
- }
-+EXPORT_SYMBOL_GPL(ata_cable_ignore);
-
- /**
- * ata_cable_sata - return SATA cable type
-@@ -2857,6 +2888,7 @@ int ata_cable_sata(struct ata_port *ap)
- {
- return ATA_CBL_SATA;
- }
-+EXPORT_SYMBOL_GPL(ata_cable_sata);
-
- /**
- * ata_bus_probe - Reset and probe ATA bus
-@@ -3039,6 +3071,7 @@ struct ata_device *ata_dev_pair(struct ata_device *adev)
- return NULL;
- return pair;
- }
-+EXPORT_SYMBOL_GPL(ata_dev_pair);
-
- /**
- * sata_down_spd_limit - adjust SATA spd limit downward
-@@ -3199,6 +3232,7 @@ int sata_set_spd(struct ata_link *link)
-
- return 1;
- }
-+EXPORT_SYMBOL_GPL(sata_set_spd);
-
- /*
- * This mode timing computation functionality is ported over from
-@@ -3273,6 +3307,7 @@ void ata_timing_merge(const struct ata_timing *a, const struct ata_timing *b,
- if (what & ATA_TIMING_CYCLE ) m->cycle = max(a->cycle, b->cycle);
- if (what & ATA_TIMING_UDMA ) m->udma = max(a->udma, b->udma);
- }
-+EXPORT_SYMBOL_GPL(ata_timing_merge);
-
- const struct ata_timing *ata_timing_find_mode(u8 xfer_mode)
- {
-@@ -3289,6 +3324,7 @@ const struct ata_timing *ata_timing_find_mode(u8 xfer_mode)
-
- return NULL;
- }
-+EXPORT_SYMBOL_GPL(ata_timing_find_mode);
-
- int ata_timing_compute(struct ata_device *adev, unsigned short speed,
- struct ata_timing *t, int T, int UT)
-@@ -3365,6 +3401,7 @@ int ata_timing_compute(struct ata_device *adev, unsigned short speed,
-
- return 0;
- }
-+EXPORT_SYMBOL_GPL(ata_timing_compute);
-
- /**
- * ata_timing_cycle2mode - find xfer mode for the specified cycle duration
-@@ -3416,6 +3453,7 @@ u8 ata_timing_cycle2mode(unsigned int xfer_shift, int cycle)
-
- return last_mode;
- }
-+EXPORT_SYMBOL_GPL(ata_timing_cycle2mode);
-
- /**
- * ata_down_xfermask_limit - adjust dev xfer masks downward
-@@ -3687,6 +3725,7 @@ int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev)
- *r_failed_dev = dev;
- return rc;
- }
-+EXPORT_SYMBOL_GPL(ata_do_set_mode);
-
- /**
- * ata_wait_ready - wait for link to become ready
-@@ -3796,6 +3835,7 @@ int ata_wait_after_reset(struct ata_link *link, unsigned long deadline,
-
- return ata_wait_ready(link, deadline, check_ready);
- }
-+EXPORT_SYMBOL_GPL(ata_wait_after_reset);
-
- /**
- * sata_link_debounce - debounce SATA phy status
-@@ -3866,6 +3906,7 @@ int sata_link_debounce(struct ata_link *link, const unsigned long *params,
- return -EPIPE;
- }
- }
-+EXPORT_SYMBOL_GPL(sata_link_debounce);
-
- /**
- * sata_link_resume - resume SATA link
-@@ -3932,6 +3973,7 @@ int sata_link_resume(struct ata_link *link, const unsigned long *params,
-
- return rc != -EINVAL ? rc : 0;
- }
-+EXPORT_SYMBOL_GPL(sata_link_resume);
-
- /**
- * sata_link_scr_lpm - manipulate SControl IPM and SPM fields
-@@ -4006,6 +4048,7 @@ int sata_link_scr_lpm(struct ata_link *link, enum ata_lpm_policy policy,
- ehc->i.serror &= ~SERR_PHYRDY_CHG;
- return sata_scr_write(link, SCR_ERROR, SERR_PHYRDY_CHG);
- }
-+EXPORT_SYMBOL_GPL(sata_link_scr_lpm);
-
- /**
- * ata_std_prereset - prepare for reset
-@@ -4051,6 +4094,7 @@ int ata_std_prereset(struct ata_link *link, unsigned long deadline)
-
- return 0;
- }
-+EXPORT_SYMBOL_GPL(ata_std_prereset);
-
- /**
- * sata_link_hardreset - reset link via SATA phy reset
-@@ -4163,6 +4207,7 @@ int sata_link_hardreset(struct ata_link *link, const unsigned long *timing,
- DPRINTK("EXIT, rc=%d\n", rc);
- return rc;
- }
-+EXPORT_SYMBOL_GPL(sata_link_hardreset);
-
- /**
- * sata_std_hardreset - COMRESET w/o waiting or classification
-@@ -4189,6 +4234,7 @@ int sata_std_hardreset(struct ata_link *link, unsigned int *class,
- rc = sata_link_hardreset(link, timing, deadline, &online, NULL);
- return online ? -EAGAIN : rc;
- }
-+EXPORT_SYMBOL_GPL(sata_std_hardreset);
-
- /**
- * ata_std_postreset - standard postreset callback
-@@ -4217,6 +4263,7 @@ void ata_std_postreset(struct ata_link *link, unsigned int *classes)
-
- DPRINTK("EXIT\n");
- }
-+EXPORT_SYMBOL_GPL(ata_std_postreset);
-
- /**
- * ata_dev_same_device - Determine whether new ID matches configured device
-@@ -5019,11 +5066,13 @@ int ata_std_qc_defer(struct ata_queued_cmd *qc)
-
- return ATA_DEFER_LINK;
- }
-+EXPORT_SYMBOL_GPL(ata_std_qc_defer);
-
- enum ata_completion_errors ata_noop_qc_prep(struct ata_queued_cmd *qc)
- {
- return AC_ERR_OK;
- }
-+EXPORT_SYMBOL_GPL(ata_noop_qc_prep);
-
- /**
- * ata_sg_init - Associate command with scatter-gather table.
-@@ -5045,6 +5094,7 @@ void ata_sg_init(struct ata_queued_cmd *qc, struct scatterlist *sg,
- qc->n_elem = n_elem;
- qc->cursg = qc->sg;
- }
-+EXPORT_SYMBOL_GPL(ata_sg_init);
-
- #ifdef CONFIG_HAS_DMA
-
-@@ -5367,6 +5417,7 @@ void ata_qc_complete(struct ata_queued_cmd *qc)
- __ata_qc_complete(qc);
- }
- }
-+EXPORT_SYMBOL_GPL(ata_qc_complete);
-
- /**
- * ata_qc_get_active - get bitmask of active qcs
-@@ -5449,6 +5500,7 @@ int ata_qc_complete_multiple(struct ata_port *ap, u64 qc_active)
-
- return nr_done;
- }
-+EXPORT_SYMBOL_GPL(ata_qc_complete_multiple);
-
- /**
- * ata_qc_issue - issue taskfile to device
-@@ -5543,6 +5595,7 @@ int sata_scr_valid(struct ata_link *link)
-
- return (ap->flags & ATA_FLAG_SATA) && ap->ops->scr_read;
- }
-+EXPORT_SYMBOL_GPL(sata_scr_valid);
-
- /**
- * sata_scr_read - read SCR register of the specified port
-@@ -5570,6 +5623,7 @@ int sata_scr_read(struct ata_link *link, int reg, u32 *val)
-
- return sata_pmp_scr_read(link, reg, val);
- }
-+EXPORT_SYMBOL_GPL(sata_scr_read);
-
- /**
- * sata_scr_write - write SCR register of the specified port
-@@ -5597,6 +5651,7 @@ int sata_scr_write(struct ata_link *link, int reg, u32 val)
-
- return sata_pmp_scr_write(link, reg, val);
- }
-+EXPORT_SYMBOL_GPL(sata_scr_write);
-
- /**
- * sata_scr_write_flush - write SCR register of the specified port and flush
-@@ -5629,6 +5684,7 @@ int sata_scr_write_flush(struct ata_link *link, int reg, u32 val)
-
- return sata_pmp_scr_write(link, reg, val);
- }
-+EXPORT_SYMBOL_GPL(sata_scr_write_flush);
-
- /**
- * ata_phys_link_online - test whether the given link is online
-@@ -5703,6 +5759,7 @@ bool ata_link_online(struct ata_link *link)
- return ata_phys_link_online(link) ||
- (slave && ata_phys_link_online(slave));
- }
-+EXPORT_SYMBOL_GPL(ata_link_online);
-
- /**
- * ata_link_offline - test whether the given link is offline
-@@ -5729,6 +5786,7 @@ bool ata_link_offline(struct ata_link *link)
- return ata_phys_link_offline(link) &&
- (!slave || ata_phys_link_offline(slave));
- }
-+EXPORT_SYMBOL_GPL(ata_link_offline);
-
- #ifdef CONFIG_PM
- static void ata_port_request_pm(struct ata_port *ap, pm_message_t mesg,
-@@ -5915,6 +5973,7 @@ int ata_host_suspend(struct ata_host *host, pm_message_t mesg)
- host->dev->power.power_state = mesg;
- return 0;
- }
-+EXPORT_SYMBOL_GPL(ata_host_suspend);
-
- /**
- * ata_host_resume - resume host
-@@ -5926,6 +5985,7 @@ void ata_host_resume(struct ata_host *host)
- {
- host->dev->power.power_state = PMSG_ON;
- }
-+EXPORT_SYMBOL_GPL(ata_host_resume);
- #endif
-
- const struct device_type ata_port_type = {
-@@ -6140,11 +6200,13 @@ void ata_host_get(struct ata_host *host)
- {
- kref_get(&host->kref);
- }
-+EXPORT_SYMBOL_GPL(ata_host_get);
-
- void ata_host_put(struct ata_host *host)
- {
- kref_put(&host->kref, ata_host_release);
- }
-+EXPORT_SYMBOL_GPL(ata_host_put);
-
- /**
- * ata_host_alloc - allocate and init basic ATA host resources
-@@ -6218,6 +6280,7 @@ struct ata_host *ata_host_alloc(struct device *dev, int max_ports)
- kfree(host);
- return NULL;
- }
-+EXPORT_SYMBOL_GPL(ata_host_alloc);
-
- /**
- * ata_host_alloc_pinfo - alloc host and init with port_info array
-@@ -6266,6 +6329,7 @@ struct ata_host *ata_host_alloc_pinfo(struct device *dev,
-
- return host;
- }
-+EXPORT_SYMBOL_GPL(ata_host_alloc_pinfo);
-
- /**
- * ata_slave_link_init - initialize slave link
-@@ -6328,6 +6392,7 @@ int ata_slave_link_init(struct ata_port *ap)
- ap->slave_link = link;
- return 0;
- }
-+EXPORT_SYMBOL_GPL(ata_slave_link_init);
-
- static void ata_host_stop(struct device *gendev, void *res)
- {
-@@ -6476,6 +6541,7 @@ int ata_host_start(struct ata_host *host)
- devres_free(start_dr);
- return rc;
- }
-+EXPORT_SYMBOL_GPL(ata_host_start);
-
- /**
- * ata_sas_host_init - Initialize a host struct for sas (ipr, libsas)
-@@ -6494,6 +6560,7 @@ void ata_host_init(struct ata_host *host, struct device *dev,
- host->ops = ops;
- kref_init(&host->kref);
- }
-+EXPORT_SYMBOL_GPL(ata_host_init);
-
- void __ata_port_probe(struct ata_port *ap)
- {
-@@ -6649,6 +6716,7 @@ int ata_host_register(struct ata_host *host, struct scsi_host_template *sht)
- return rc;
-
- }
-+EXPORT_SYMBOL_GPL(ata_host_register);
-
- /**
- * ata_host_activate - start host, request IRQ and register it
-@@ -6711,6 +6779,7 @@ int ata_host_activate(struct ata_host *host, int irq,
-
- return rc;
- }
-+EXPORT_SYMBOL_GPL(ata_host_activate);
-
- /**
- * ata_port_detach - Detach ATA port in preparation of device removal
-@@ -6786,6 +6855,7 @@ void ata_host_detach(struct ata_host *host)
- /* the host is dead now, dissociate ACPI */
- ata_acpi_dissociate(host);
- }
-+EXPORT_SYMBOL_GPL(ata_host_detach);
-
- #ifdef CONFIG_PCI
-
-@@ -6806,6 +6876,7 @@ void ata_pci_remove_one(struct pci_dev *pdev)
-
- ata_host_detach(host);
- }
-+EXPORT_SYMBOL_GPL(ata_pci_remove_one);
-
- void ata_pci_shutdown_one(struct pci_dev *pdev)
- {
-@@ -6826,6 +6897,7 @@ void ata_pci_shutdown_one(struct pci_dev *pdev)
- ap->ops->port_stop(ap);
- }
- }
-+EXPORT_SYMBOL_GPL(ata_pci_shutdown_one);
-
- /* move to PCI subsystem */
- int pci_test_config_bits(struct pci_dev *pdev, const struct pci_bits *bits)
-@@ -6860,6 +6932,7 @@ int pci_test_config_bits(struct pci_dev *pdev, const struct pci_bits *bits)
-
- return (tmp == bits->val) ? 1 : 0;
- }
-+EXPORT_SYMBOL_GPL(pci_test_config_bits);
-
- #ifdef CONFIG_PM
- void ata_pci_device_do_suspend(struct pci_dev *pdev, pm_message_t mesg)
-@@ -6870,6 +6943,7 @@ void ata_pci_device_do_suspend(struct pci_dev *pdev, pm_message_t mesg)
- if (mesg.event & PM_EVENT_SLEEP)
- pci_set_power_state(pdev, PCI_D3hot);
- }
-+EXPORT_SYMBOL_GPL(ata_pci_device_do_suspend);
-
- int ata_pci_device_do_resume(struct pci_dev *pdev)
- {
-@@ -6888,6 +6962,7 @@ int ata_pci_device_do_resume(struct pci_dev *pdev)
- pci_set_master(pdev);
- return 0;
- }
-+EXPORT_SYMBOL_GPL(ata_pci_device_do_resume);
-
- int ata_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg)
- {
-@@ -6902,6 +6977,7 @@ int ata_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg)
-
- return 0;
- }
-+EXPORT_SYMBOL_GPL(ata_pci_device_suspend);
-
- int ata_pci_device_resume(struct pci_dev *pdev)
- {
-@@ -6913,8 +6989,8 @@ int ata_pci_device_resume(struct pci_dev *pdev)
- ata_host_resume(host);
- return rc;
- }
-+EXPORT_SYMBOL_GPL(ata_pci_device_resume);
- #endif /* CONFIG_PM */
--
- #endif /* CONFIG_PCI */
-
- /**
-@@ -6936,6 +7012,7 @@ int ata_platform_remove_one(struct platform_device *pdev)
-
- return 0;
- }
-+EXPORT_SYMBOL_GPL(ata_platform_remove_one);
-
- static int __init ata_parse_force_one(char **cur,
- struct ata_force_ent *force_ent,
-@@ -7162,6 +7239,7 @@ int ata_ratelimit(void)
- {
- return __ratelimit(&ratelimit);
- }
-+EXPORT_SYMBOL_GPL(ata_ratelimit);
-
- /**
- * ata_msleep - ATA EH owner aware msleep
-@@ -7194,6 +7272,7 @@ void ata_msleep(struct ata_port *ap, unsigned int msecs)
- if (owns_eh)
- ata_eh_acquire(ap);
- }
-+EXPORT_SYMBOL_GPL(ata_msleep);
-
- /**
- * ata_wait_register - wait until register value changes
-@@ -7240,6 +7319,7 @@ u32 ata_wait_register(struct ata_port *ap, void __iomem *reg, u32 mask, u32 val,
-
- return tmp;
- }
-+EXPORT_SYMBOL_GPL(ata_wait_register);
-
- /**
- * sata_lpm_ignore_phy_events - test if PHY event should be ignored
-@@ -7293,10 +7373,12 @@ struct ata_port_operations ata_dummy_port_ops = {
- .sched_eh = ata_std_sched_eh,
- .end_eh = ata_std_end_eh,
- };
-+EXPORT_SYMBOL_GPL(ata_dummy_port_ops);
-
- const struct ata_port_info ata_dummy_port_info = {
- .port_ops = &ata_dummy_port_ops,
- };
-+EXPORT_SYMBOL_GPL(ata_dummy_port_info);
-
- /*
- * Utility print functions
-@@ -7364,127 +7446,3 @@ void ata_print_version(const struct device *dev, const char *version)
- dev_printk(KERN_DEBUG, dev, "version %s\n", version);
- }
- EXPORT_SYMBOL(ata_print_version);
--
--/*
-- * libata is essentially a library of internal helper functions for
-- * low-level ATA host controller drivers. As such, the API/ABI is
-- * likely to change as new drivers are added and updated.
-- * Do not depend on ABI/API stability.
-- */
--EXPORT_SYMBOL_GPL(sata_deb_timing_normal);
--EXPORT_SYMBOL_GPL(sata_deb_timing_hotplug);
--EXPORT_SYMBOL_GPL(sata_deb_timing_long);
--EXPORT_SYMBOL_GPL(ata_base_port_ops);
--EXPORT_SYMBOL_GPL(sata_port_ops);
--EXPORT_SYMBOL_GPL(ata_dummy_port_ops);
--EXPORT_SYMBOL_GPL(ata_dummy_port_info);
--EXPORT_SYMBOL_GPL(ata_link_next);
--EXPORT_SYMBOL_GPL(ata_dev_next);
--EXPORT_SYMBOL_GPL(ata_std_bios_param);
--EXPORT_SYMBOL_GPL(ata_scsi_unlock_native_capacity);
--EXPORT_SYMBOL_GPL(ata_host_init);
--EXPORT_SYMBOL_GPL(ata_host_alloc);
--EXPORT_SYMBOL_GPL(ata_host_alloc_pinfo);
--EXPORT_SYMBOL_GPL(ata_slave_link_init);
--EXPORT_SYMBOL_GPL(ata_host_start);
--EXPORT_SYMBOL_GPL(ata_host_register);
--EXPORT_SYMBOL_GPL(ata_host_activate);
--EXPORT_SYMBOL_GPL(ata_host_detach);
--EXPORT_SYMBOL_GPL(ata_sg_init);
--EXPORT_SYMBOL_GPL(ata_qc_complete);
--EXPORT_SYMBOL_GPL(ata_qc_complete_multiple);
--EXPORT_SYMBOL_GPL(atapi_cmd_type);
--EXPORT_SYMBOL_GPL(ata_tf_to_fis);
--EXPORT_SYMBOL_GPL(ata_tf_from_fis);
--EXPORT_SYMBOL_GPL(ata_pack_xfermask);
--EXPORT_SYMBOL_GPL(ata_unpack_xfermask);
--EXPORT_SYMBOL_GPL(ata_xfer_mask2mode);
--EXPORT_SYMBOL_GPL(ata_xfer_mode2mask);
--EXPORT_SYMBOL_GPL(ata_xfer_mode2shift);
--EXPORT_SYMBOL_GPL(ata_mode_string);
--EXPORT_SYMBOL_GPL(ata_id_xfermask);
--EXPORT_SYMBOL_GPL(ata_do_set_mode);
--EXPORT_SYMBOL_GPL(ata_std_qc_defer);
--EXPORT_SYMBOL_GPL(ata_noop_qc_prep);
--EXPORT_SYMBOL_GPL(ata_dev_disable);
--EXPORT_SYMBOL_GPL(sata_set_spd);
--EXPORT_SYMBOL_GPL(ata_wait_after_reset);
--EXPORT_SYMBOL_GPL(sata_link_debounce);
--EXPORT_SYMBOL_GPL(sata_link_resume);
--EXPORT_SYMBOL_GPL(sata_link_scr_lpm);
--EXPORT_SYMBOL_GPL(ata_std_prereset);
--EXPORT_SYMBOL_GPL(sata_link_hardreset);
--EXPORT_SYMBOL_GPL(sata_std_hardreset);
--EXPORT_SYMBOL_GPL(ata_std_postreset);
--EXPORT_SYMBOL_GPL(ata_dev_classify);
--EXPORT_SYMBOL_GPL(ata_dev_pair);
--EXPORT_SYMBOL_GPL(ata_ratelimit);
--EXPORT_SYMBOL_GPL(ata_msleep);
--EXPORT_SYMBOL_GPL(ata_wait_register);
--EXPORT_SYMBOL_GPL(ata_scsi_queuecmd);
--EXPORT_SYMBOL_GPL(ata_scsi_slave_config);
--EXPORT_SYMBOL_GPL(ata_scsi_slave_destroy);
--EXPORT_SYMBOL_GPL(ata_scsi_change_queue_depth);
--EXPORT_SYMBOL_GPL(__ata_change_queue_depth);
--EXPORT_SYMBOL_GPL(sata_scr_valid);
--EXPORT_SYMBOL_GPL(sata_scr_read);
--EXPORT_SYMBOL_GPL(sata_scr_write);
--EXPORT_SYMBOL_GPL(sata_scr_write_flush);
--EXPORT_SYMBOL_GPL(ata_link_online);
--EXPORT_SYMBOL_GPL(ata_link_offline);
--#ifdef CONFIG_PM
--EXPORT_SYMBOL_GPL(ata_host_suspend);
--EXPORT_SYMBOL_GPL(ata_host_resume);
--#endif /* CONFIG_PM */
--EXPORT_SYMBOL_GPL(ata_id_string);
--EXPORT_SYMBOL_GPL(ata_id_c_string);
--EXPORT_SYMBOL_GPL(ata_do_dev_read_id);
--EXPORT_SYMBOL_GPL(ata_scsi_simulate);
--
--EXPORT_SYMBOL_GPL(ata_pio_need_iordy);
--EXPORT_SYMBOL_GPL(ata_timing_find_mode);
--EXPORT_SYMBOL_GPL(ata_timing_compute);
--EXPORT_SYMBOL_GPL(ata_timing_merge);
--EXPORT_SYMBOL_GPL(ata_timing_cycle2mode);
--
--#ifdef CONFIG_PCI
--EXPORT_SYMBOL_GPL(pci_test_config_bits);
--EXPORT_SYMBOL_GPL(ata_pci_shutdown_one);
--EXPORT_SYMBOL_GPL(ata_pci_remove_one);
--#ifdef CONFIG_PM
--EXPORT_SYMBOL_GPL(ata_pci_device_do_suspend);
--EXPORT_SYMBOL_GPL(ata_pci_device_do_resume);
--EXPORT_SYMBOL_GPL(ata_pci_device_suspend);
--EXPORT_SYMBOL_GPL(ata_pci_device_resume);
--#endif /* CONFIG_PM */
--#endif /* CONFIG_PCI */
--
--EXPORT_SYMBOL_GPL(ata_platform_remove_one);
--
--EXPORT_SYMBOL_GPL(__ata_ehi_push_desc);
--EXPORT_SYMBOL_GPL(ata_ehi_push_desc);
--EXPORT_SYMBOL_GPL(ata_ehi_clear_desc);
--EXPORT_SYMBOL_GPL(ata_port_desc);
--#ifdef CONFIG_PCI
--EXPORT_SYMBOL_GPL(ata_port_pbar_desc);
--#endif /* CONFIG_PCI */
--EXPORT_SYMBOL_GPL(ata_port_schedule_eh);
--EXPORT_SYMBOL_GPL(ata_link_abort);
--EXPORT_SYMBOL_GPL(ata_port_abort);
--EXPORT_SYMBOL_GPL(ata_port_freeze);
--EXPORT_SYMBOL_GPL(sata_async_notification);
--EXPORT_SYMBOL_GPL(ata_eh_freeze_port);
--EXPORT_SYMBOL_GPL(ata_eh_thaw_port);
--EXPORT_SYMBOL_GPL(ata_eh_qc_complete);
--EXPORT_SYMBOL_GPL(ata_eh_qc_retry);
--EXPORT_SYMBOL_GPL(ata_eh_analyze_ncq_error);
--EXPORT_SYMBOL_GPL(ata_do_eh);
--EXPORT_SYMBOL_GPL(ata_std_error_handler);
--
--EXPORT_SYMBOL_GPL(ata_cable_40wire);
--EXPORT_SYMBOL_GPL(ata_cable_80wire);
--EXPORT_SYMBOL_GPL(ata_cable_unknown);
--EXPORT_SYMBOL_GPL(ata_cable_ignore);
--EXPORT_SYMBOL_GPL(ata_cable_sata);
--EXPORT_SYMBOL_GPL(ata_host_get);
--EXPORT_SYMBOL_GPL(ata_host_put);
-diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
-index 5c91183b5b736..fd054dc12a8c4 100644
---- a/drivers/ata/libata-eh.c
-+++ b/drivers/ata/libata-eh.c
-@@ -192,6 +192,7 @@ void __ata_ehi_push_desc(struct ata_eh_info *ehi, const char *fmt, ...)
- __ata_ehi_pushv_desc(ehi, fmt, args);
- va_end(args);
- }
-+EXPORT_SYMBOL_GPL(__ata_ehi_push_desc);
-
- /**
- * ata_ehi_push_desc - push error description with separator
-@@ -215,6 +216,7 @@ void ata_ehi_push_desc(struct ata_eh_info *ehi, const char *fmt, ...)
- __ata_ehi_pushv_desc(ehi, fmt, args);
- va_end(args);
- }
-+EXPORT_SYMBOL_GPL(ata_ehi_push_desc);
-
- /**
- * ata_ehi_clear_desc - clean error description
-@@ -230,6 +232,7 @@ void ata_ehi_clear_desc(struct ata_eh_info *ehi)
- ehi->desc[0] = '\0';
- ehi->desc_len = 0;
- }
-+EXPORT_SYMBOL_GPL(ata_ehi_clear_desc);
-
- /**
- * ata_port_desc - append port description
-@@ -257,9 +260,9 @@ void ata_port_desc(struct ata_port *ap, const char *fmt, ...)
- __ata_ehi_pushv_desc(&ap->link.eh_info, fmt, args);
- va_end(args);
- }
-+EXPORT_SYMBOL_GPL(ata_port_desc);
-
- #ifdef CONFIG_PCI
--
- /**
- * ata_port_pbar_desc - append PCI BAR description
- * @ap: target ATA port
-@@ -296,7 +299,7 @@ void ata_port_pbar_desc(struct ata_port *ap, int bar, ssize_t offset,
- ata_port_desc(ap, "%s 0x%llx", name,
- start + (unsigned long long)offset);
- }
--
-+EXPORT_SYMBOL_GPL(ata_port_pbar_desc);
- #endif /* CONFIG_PCI */
-
- static int ata_lookup_timeout_table(u8 cmd)
-@@ -981,6 +984,7 @@ void ata_port_schedule_eh(struct ata_port *ap)
- /* see: ata_std_sched_eh, unless you know better */
- ap->ops->sched_eh(ap);
- }
-+EXPORT_SYMBOL_GPL(ata_port_schedule_eh);
-
- static int ata_do_link_abort(struct ata_port *ap, struct ata_link *link)
- {
-@@ -1023,6 +1027,7 @@ int ata_link_abort(struct ata_link *link)
- {
- return ata_do_link_abort(link->ap, link);
- }
-+EXPORT_SYMBOL_GPL(ata_link_abort);
-
- /**
- * ata_port_abort - abort all qc's on the port
-@@ -1040,6 +1045,7 @@ int ata_port_abort(struct ata_port *ap)
- {
- return ata_do_link_abort(ap, NULL);
- }
-+EXPORT_SYMBOL_GPL(ata_port_abort);
-
- /**
- * __ata_port_freeze - freeze port
-@@ -1096,6 +1102,7 @@ int ata_port_freeze(struct ata_port *ap)
-
- return nr_aborted;
- }
-+EXPORT_SYMBOL_GPL(ata_port_freeze);
-
- /**
- * sata_async_notification - SATA async notification handler
-@@ -1169,6 +1176,7 @@ int sata_async_notification(struct ata_port *ap)
- return 0;
- }
- }
-+EXPORT_SYMBOL_GPL(sata_async_notification);
-
- /**
- * ata_eh_freeze_port - EH helper to freeze port
-@@ -1190,6 +1198,7 @@ void ata_eh_freeze_port(struct ata_port *ap)
- __ata_port_freeze(ap);
- spin_unlock_irqrestore(ap->lock, flags);
- }
-+EXPORT_SYMBOL_GPL(ata_eh_freeze_port);
-
- /**
- * ata_port_thaw_port - EH helper to thaw port
-@@ -1218,6 +1227,7 @@ void ata_eh_thaw_port(struct ata_port *ap)
-
- DPRINTK("ata%u port thawed\n", ap->print_id);
- }
-+EXPORT_SYMBOL_GPL(ata_eh_thaw_port);
-
- static void ata_eh_scsidone(struct scsi_cmnd *scmd)
- {
-@@ -1252,6 +1262,7 @@ void ata_eh_qc_complete(struct ata_queued_cmd *qc)
- scmd->retries = scmd->allowed;
- __ata_eh_qc_complete(qc);
- }
-+EXPORT_SYMBOL_GPL(ata_eh_qc_complete);
-
- /**
- * ata_eh_qc_retry - Tell midlayer to retry an ATA command after EH
-@@ -1271,6 +1282,7 @@ void ata_eh_qc_retry(struct ata_queued_cmd *qc)
- scmd->allowed++;
- __ata_eh_qc_complete(qc);
- }
-+EXPORT_SYMBOL_GPL(ata_eh_qc_retry);
-
- /**
- * ata_dev_disable - disable ATA device
-@@ -1297,6 +1309,7 @@ void ata_dev_disable(struct ata_device *dev)
- */
- ata_ering_clear(&dev->ering);
- }
-+EXPORT_SYMBOL_GPL(ata_dev_disable);
-
- /**
- * ata_eh_detach_dev - detach ATA device
-@@ -1739,6 +1752,7 @@ void ata_eh_analyze_ncq_error(struct ata_link *link)
-
- ehc->i.err_mask &= ~AC_ERR_DEV;
- }
-+EXPORT_SYMBOL_GPL(ata_eh_analyze_ncq_error);
-
- /**
- * ata_eh_analyze_tf - analyze taskfile of a failed qc
-@@ -4040,6 +4054,7 @@ void ata_do_eh(struct ata_port *ap, ata_prereset_fn_t prereset,
-
- ata_eh_finish(ap);
- }
-+EXPORT_SYMBOL_GPL(ata_do_eh);
-
- /**
- * ata_std_error_handler - standard error handler
-@@ -4061,6 +4076,7 @@ void ata_std_error_handler(struct ata_port *ap)
-
- ata_do_eh(ap, ops->prereset, ops->softreset, hardreset, ops->postreset);
- }
-+EXPORT_SYMBOL_GPL(ata_std_error_handler);
-
- #ifdef CONFIG_PM
- /**
-diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
-index 42309ceee21e9..c60d566c116f7 100644
---- a/drivers/ata/libata-scsi.c
-+++ b/drivers/ata/libata-scsi.c
-@@ -498,6 +498,7 @@ int ata_std_bios_param(struct scsi_device *sdev, struct block_device *bdev,
-
- return 0;
- }
-+EXPORT_SYMBOL_GPL(ata_std_bios_param);
-
- /**
- * ata_scsi_unlock_native_capacity - unlock native capacity
-@@ -527,6 +528,7 @@ void ata_scsi_unlock_native_capacity(struct scsi_device *sdev)
- spin_unlock_irqrestore(ap->lock, flags);
- ata_port_wait_eh(ap);
- }
-+EXPORT_SYMBOL_GPL(ata_scsi_unlock_native_capacity);
-
- /**
- * ata_get_identity - Handler for HDIO_GET_IDENTITY ioctl
-@@ -1335,6 +1337,7 @@ int ata_scsi_slave_config(struct scsi_device *sdev)
-
- return rc;
- }
-+EXPORT_SYMBOL_GPL(ata_scsi_slave_config);
-
- /**
- * ata_scsi_slave_destroy - SCSI device is about to be destroyed
-@@ -1374,6 +1377,7 @@ void ata_scsi_slave_destroy(struct scsi_device *sdev)
- q->dma_drain_buffer = NULL;
- q->dma_drain_size = 0;
- }
-+EXPORT_SYMBOL_GPL(ata_scsi_slave_destroy);
-
- /**
- * __ata_change_queue_depth - helper for ata_scsi_change_queue_depth
-@@ -1417,6 +1421,7 @@ int __ata_change_queue_depth(struct ata_port *ap, struct scsi_device *sdev,
-
- return scsi_change_queue_depth(sdev, queue_depth);
- }
-+EXPORT_SYMBOL_GPL(__ata_change_queue_depth);
-
- /**
- * ata_scsi_change_queue_depth - SCSI callback for queue depth config
-@@ -1439,6 +1444,7 @@ int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth)
-
- return __ata_change_queue_depth(ap, sdev, queue_depth);
- }
-+EXPORT_SYMBOL_GPL(ata_scsi_change_queue_depth);
-
- /**
- * ata_scsi_start_stop_xlat - Translate SCSI START STOP UNIT command
-@@ -4436,6 +4442,7 @@ int ata_scsi_queuecmd(struct Scsi_Host *shost, struct scsi_cmnd *cmd)
-
- return rc;
- }
-+EXPORT_SYMBOL_GPL(ata_scsi_queuecmd);
-
- /**
- * ata_scsi_simulate - simulate SCSI command on ATA device
-@@ -4559,6 +4566,7 @@ void ata_scsi_simulate(struct ata_device *dev, struct scsi_cmnd *cmd)
-
- cmd->scsi_done(cmd);
- }
-+EXPORT_SYMBOL_GPL(ata_scsi_simulate);
-
- int ata_scsi_add_hosts(struct ata_host *host, struct scsi_host_template *sht)
- {
---
-2.40.1
-