Commit fb7fd614 authored by Tejun Heo's avatar Tejun Heo Committed by Jeff Garzik

libata-pmp-prep: make a number of functions global to libata

Make a number of functions from libata-core.c and libata-eh.c global
to libata (drivers/ata/libata.h).  These will be used by PMP.
Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 422c9daa
...@@ -6218,7 +6218,7 @@ void ata_dev_init(struct ata_device *dev) ...@@ -6218,7 +6218,7 @@ void ata_dev_init(struct ata_device *dev)
* LOCKING: * LOCKING:
* Kernel thread context (may sleep) * Kernel thread context (may sleep)
*/ */
static void ata_link_init(struct ata_port *ap, struct ata_link *link, int pmp) void ata_link_init(struct ata_port *ap, struct ata_link *link, int pmp)
{ {
int i; int i;
...@@ -6253,7 +6253,7 @@ static void ata_link_init(struct ata_port *ap, struct ata_link *link, int pmp) ...@@ -6253,7 +6253,7 @@ static void ata_link_init(struct ata_port *ap, struct ata_link *link, int pmp)
* RETURNS: * RETURNS:
* 0 on success, -errno on failure. * 0 on success, -errno on failure.
*/ */
static int sata_link_init_spd(struct ata_link *link) int sata_link_init_spd(struct ata_link *link)
{ {
u32 scontrol, spd; u32 scontrol, spd;
int rc; int rc;
......
...@@ -74,7 +74,6 @@ static const unsigned long ata_eh_reset_timeouts[] = { ...@@ -74,7 +74,6 @@ static const unsigned long ata_eh_reset_timeouts[] = {
}; };
static void __ata_port_freeze(struct ata_port *ap); static void __ata_port_freeze(struct ata_port *ap);
static void ata_eh_finish(struct ata_port *ap);
#ifdef CONFIG_PM #ifdef CONFIG_PM
static void ata_eh_handle_port_suspend(struct ata_port *ap); static void ata_eh_handle_port_suspend(struct ata_port *ap);
static void ata_eh_handle_port_resume(struct ata_port *ap); static void ata_eh_handle_port_resume(struct ata_port *ap);
...@@ -1015,7 +1014,7 @@ void ata_eh_qc_retry(struct ata_queued_cmd *qc) ...@@ -1015,7 +1014,7 @@ void ata_eh_qc_retry(struct ata_queued_cmd *qc)
* LOCKING: * LOCKING:
* None. * None.
*/ */
static void ata_eh_detach_dev(struct ata_device *dev) void ata_eh_detach_dev(struct ata_device *dev)
{ {
struct ata_link *link = dev->link; struct ata_link *link = dev->link;
struct ata_port *ap = link->ap; struct ata_port *ap = link->ap;
...@@ -1052,8 +1051,8 @@ static void ata_eh_detach_dev(struct ata_device *dev) ...@@ -1052,8 +1051,8 @@ static void ata_eh_detach_dev(struct ata_device *dev)
* LOCKING: * LOCKING:
* None. * None.
*/ */
static void ata_eh_about_to_do(struct ata_link *link, struct ata_device *dev, void ata_eh_about_to_do(struct ata_link *link, struct ata_device *dev,
unsigned int action) unsigned int action)
{ {
struct ata_port *ap = link->ap; struct ata_port *ap = link->ap;
struct ata_eh_info *ehi = &link->eh_info; struct ata_eh_info *ehi = &link->eh_info;
...@@ -1095,8 +1094,8 @@ static void ata_eh_about_to_do(struct ata_link *link, struct ata_device *dev, ...@@ -1095,8 +1094,8 @@ static void ata_eh_about_to_do(struct ata_link *link, struct ata_device *dev,
* LOCKING: * LOCKING:
* None. * None.
*/ */
static void ata_eh_done(struct ata_link *link, struct ata_device *dev, void ata_eh_done(struct ata_link *link, struct ata_device *dev,
unsigned int action) unsigned int action)
{ {
struct ata_eh_context *ehc = &link->eh_context; struct ata_eh_context *ehc = &link->eh_context;
...@@ -1756,7 +1755,7 @@ static void ata_eh_link_autopsy(struct ata_link *link) ...@@ -1756,7 +1755,7 @@ static void ata_eh_link_autopsy(struct ata_link *link)
* LOCKING: * LOCKING:
* Kernel thread context (may sleep). * Kernel thread context (may sleep).
*/ */
static void ata_eh_autopsy(struct ata_port *ap) void ata_eh_autopsy(struct ata_port *ap)
{ {
struct ata_link *link; struct ata_link *link;
...@@ -1867,7 +1866,7 @@ static void ata_eh_link_report(struct ata_link *link) ...@@ -1867,7 +1866,7 @@ static void ata_eh_link_report(struct ata_link *link)
* LOCKING: * LOCKING:
* None. * None.
*/ */
static void ata_eh_report(struct ata_port *ap) void ata_eh_report(struct ata_port *ap)
{ {
struct ata_link *link; struct ata_link *link;
...@@ -1918,9 +1917,9 @@ static int ata_eh_followup_srst_needed(int rc, int classify, ...@@ -1918,9 +1917,9 @@ static int ata_eh_followup_srst_needed(int rc, int classify,
return 0; return 0;
} }
static int ata_eh_reset(struct ata_link *link, int classify, int ata_eh_reset(struct ata_link *link, int classify,
ata_prereset_fn_t prereset, ata_reset_fn_t softreset, ata_prereset_fn_t prereset, ata_reset_fn_t softreset,
ata_reset_fn_t hardreset, ata_postreset_fn_t postreset) ata_reset_fn_t hardreset, ata_postreset_fn_t postreset)
{ {
struct ata_eh_context *ehc = &link->eh_context; struct ata_eh_context *ehc = &link->eh_context;
unsigned int *classes = ehc->classes; unsigned int *classes = ehc->classes;
...@@ -2296,10 +2295,10 @@ static int ata_eh_handle_dev_fail(struct ata_device *dev, int err) ...@@ -2296,10 +2295,10 @@ static int ata_eh_handle_dev_fail(struct ata_device *dev, int err)
* RETURNS: * RETURNS:
* 0 on success, -errno on failure. * 0 on success, -errno on failure.
*/ */
static int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset, int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
ata_reset_fn_t softreset, ata_reset_fn_t hardreset, ata_reset_fn_t softreset, ata_reset_fn_t hardreset,
ata_postreset_fn_t postreset, ata_postreset_fn_t postreset,
struct ata_link **r_failed_link) struct ata_link **r_failed_link)
{ {
struct ata_link *link; struct ata_link *link;
struct ata_device *dev; struct ata_device *dev;
...@@ -2445,7 +2444,7 @@ static int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset, ...@@ -2445,7 +2444,7 @@ static int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
* LOCKING: * LOCKING:
* None. * None.
*/ */
static void ata_eh_finish(struct ata_port *ap) void ata_eh_finish(struct ata_port *ap)
{ {
int tag; int tag;
......
...@@ -95,6 +95,8 @@ extern void ata_dev_select(struct ata_port *ap, unsigned int device, ...@@ -95,6 +95,8 @@ extern void ata_dev_select(struct ata_port *ap, unsigned int device,
extern void swap_buf_le16(u16 *buf, unsigned int buf_words); extern void swap_buf_le16(u16 *buf, unsigned int buf_words);
extern int ata_flush_cache(struct ata_device *dev); extern int ata_flush_cache(struct ata_device *dev);
extern void ata_dev_init(struct ata_device *dev); extern void ata_dev_init(struct ata_device *dev);
extern void ata_link_init(struct ata_port *ap, struct ata_link *link, int pmp);
extern int sata_link_init_spd(struct ata_link *link);
extern int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg); extern int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg);
extern int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg); extern int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg);
extern struct ata_port *ata_port_alloc(struct ata_host *host); extern struct ata_port *ata_port_alloc(struct ata_host *host);
...@@ -156,6 +158,21 @@ extern void ata_scsi_error(struct Scsi_Host *host); ...@@ -156,6 +158,21 @@ extern void ata_scsi_error(struct Scsi_Host *host);
extern void ata_port_wait_eh(struct ata_port *ap); extern void ata_port_wait_eh(struct ata_port *ap);
extern void ata_eh_fastdrain_timerfn(unsigned long arg); extern void ata_eh_fastdrain_timerfn(unsigned long arg);
extern void ata_qc_schedule_eh(struct ata_queued_cmd *qc); extern void ata_qc_schedule_eh(struct ata_queued_cmd *qc);
extern void ata_eh_detach_dev(struct ata_device *dev);
extern void ata_eh_about_to_do(struct ata_link *link, struct ata_device *dev,
unsigned int action);
extern void ata_eh_done(struct ata_link *link, struct ata_device *dev,
unsigned int action);
extern void ata_eh_autopsy(struct ata_port *ap);
extern void ata_eh_report(struct ata_port *ap);
extern int ata_eh_reset(struct ata_link *link, int classify,
ata_prereset_fn_t prereset, ata_reset_fn_t softreset,
ata_reset_fn_t hardreset, ata_postreset_fn_t postreset);
extern int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
ata_reset_fn_t softreset, ata_reset_fn_t hardreset,
ata_postreset_fn_t postreset,
struct ata_link **r_failed_disk);
extern void ata_eh_finish(struct ata_port *ap);
/* libata-sff.c */ /* libata-sff.c */
extern u8 ata_irq_on(struct ata_port *ap); extern u8 ata_irq_on(struct ata_port *ap);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment