libata: move ata_set_mode() to libata-eh.c
Move ata_set_mode() to libata-eh.c. ata_set_mode() is surely an EH action and will be more tightly coupled with the rest of error handling. Move it to libata-eh.c. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Родитель
02c05a27e8
Коммит
6f1d1e3a03
|
@ -3182,31 +3182,6 @@ int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev)
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* ata_set_mode - Program timings and issue SET FEATURES - XFER
|
|
||||||
* @link: link on which timings will be programmed
|
|
||||||
* @r_failed_dev: out paramter for failed device
|
|
||||||
*
|
|
||||||
* Set ATA device disk transfer mode (PIO3, UDMA6, etc.). If
|
|
||||||
* ata_set_mode() fails, pointer to the failing device is
|
|
||||||
* returned in @r_failed_dev.
|
|
||||||
*
|
|
||||||
* LOCKING:
|
|
||||||
* PCI/etc. bus probe sem.
|
|
||||||
*
|
|
||||||
* RETURNS:
|
|
||||||
* 0 on success, negative errno otherwise
|
|
||||||
*/
|
|
||||||
int ata_set_mode(struct ata_link *link, struct ata_device **r_failed_dev)
|
|
||||||
{
|
|
||||||
struct ata_port *ap = link->ap;
|
|
||||||
|
|
||||||
/* has private set_mode? */
|
|
||||||
if (ap->ops->set_mode)
|
|
||||||
return ap->ops->set_mode(link, r_failed_dev);
|
|
||||||
return ata_do_set_mode(link, r_failed_dev);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ata_tf_to_host - issue ATA taskfile to host controller
|
* ata_tf_to_host - issue ATA taskfile to host controller
|
||||||
* @ap: port to which command is being issued
|
* @ap: port to which command is being issued
|
||||||
|
|
|
@ -2329,6 +2329,31 @@ static int ata_eh_revalidate_and_attach(struct ata_link *link,
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ata_set_mode - Program timings and issue SET FEATURES - XFER
|
||||||
|
* @link: link on which timings will be programmed
|
||||||
|
* @r_failed_dev: out paramter for failed device
|
||||||
|
*
|
||||||
|
* Set ATA device disk transfer mode (PIO3, UDMA6, etc.). If
|
||||||
|
* ata_set_mode() fails, pointer to the failing device is
|
||||||
|
* returned in @r_failed_dev.
|
||||||
|
*
|
||||||
|
* LOCKING:
|
||||||
|
* PCI/etc. bus probe sem.
|
||||||
|
*
|
||||||
|
* RETURNS:
|
||||||
|
* 0 on success, negative errno otherwise
|
||||||
|
*/
|
||||||
|
int ata_set_mode(struct ata_link *link, struct ata_device **r_failed_dev)
|
||||||
|
{
|
||||||
|
struct ata_port *ap = link->ap;
|
||||||
|
|
||||||
|
/* has private set_mode? */
|
||||||
|
if (ap->ops->set_mode)
|
||||||
|
return ap->ops->set_mode(link, r_failed_dev);
|
||||||
|
return ata_do_set_mode(link, r_failed_dev);
|
||||||
|
}
|
||||||
|
|
||||||
static int ata_link_nr_enabled(struct ata_link *link)
|
static int ata_link_nr_enabled(struct ata_link *link)
|
||||||
{
|
{
|
||||||
struct ata_device *dev;
|
struct ata_device *dev;
|
||||||
|
|
|
@ -86,7 +86,6 @@ extern int ata_dev_configure(struct ata_device *dev);
|
||||||
extern int sata_down_spd_limit(struct ata_link *link);
|
extern int sata_down_spd_limit(struct ata_link *link);
|
||||||
extern int sata_set_spd_needed(struct ata_link *link);
|
extern int sata_set_spd_needed(struct ata_link *link);
|
||||||
extern int ata_down_xfermask_limit(struct ata_device *dev, unsigned int sel);
|
extern int ata_down_xfermask_limit(struct ata_device *dev, unsigned int sel);
|
||||||
extern int ata_set_mode(struct ata_link *link, struct ata_device **r_failed_dev);
|
|
||||||
extern void ata_sg_clean(struct ata_queued_cmd *qc);
|
extern void ata_sg_clean(struct ata_queued_cmd *qc);
|
||||||
extern void ata_qc_free(struct ata_queued_cmd *qc);
|
extern void ata_qc_free(struct ata_queued_cmd *qc);
|
||||||
extern void ata_qc_issue(struct ata_queued_cmd *qc);
|
extern void ata_qc_issue(struct ata_queued_cmd *qc);
|
||||||
|
@ -187,6 +186,7 @@ extern void ata_eh_report(struct ata_port *ap);
|
||||||
extern int ata_eh_reset(struct ata_link *link, int classify,
|
extern 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);
|
||||||
|
extern int ata_set_mode(struct ata_link *link, struct ata_device **r_failed_dev);
|
||||||
extern int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
|
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_reset_fn_t softreset, ata_reset_fn_t hardreset,
|
||||||
ata_postreset_fn_t postreset,
|
ata_postreset_fn_t postreset,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче