mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 02:04:19 +08:00
[PATCH] libata: move ->set_mode() handling into ata_set_mode()
Move ->set_mode() handlng into ata_set_mode(). Signed-off-by: Tejun Heo <htejun@gmail.com>
This commit is contained in:
parent
fe635c7e91
commit
3adcebb2b5
@ -1426,20 +1426,7 @@ static int ata_bus_probe(struct ata_port *ap)
|
||||
}
|
||||
|
||||
/* configure transfer mode */
|
||||
if (ap->ops->set_mode) {
|
||||
/* FIXME: make ->set_mode handle no device case and
|
||||
* return error code and failing device on failure as
|
||||
* ata_set_mode() does.
|
||||
*/
|
||||
for (i = 0; i < ATA_MAX_DEVICES; i++)
|
||||
if (ata_dev_enabled(&ap->device[i])) {
|
||||
ap->ops->set_mode(ap);
|
||||
break;
|
||||
}
|
||||
rc = 0;
|
||||
} else
|
||||
rc = ata_set_mode(ap, &dev);
|
||||
|
||||
rc = ata_set_mode(ap, &dev);
|
||||
if (rc) {
|
||||
down_xfermask = 1;
|
||||
goto fail;
|
||||
@ -1997,6 +1984,20 @@ int ata_set_mode(struct ata_port *ap, struct ata_device **r_failed_dev)
|
||||
struct ata_device *dev;
|
||||
int i, rc = 0, used_dma = 0, found = 0;
|
||||
|
||||
/* has private set_mode? */
|
||||
if (ap->ops->set_mode) {
|
||||
/* FIXME: make ->set_mode handle no device case and
|
||||
* return error code and failing device on failure.
|
||||
*/
|
||||
for (i = 0; i < ATA_MAX_DEVICES; i++) {
|
||||
if (ata_dev_enabled(&ap->device[i])) {
|
||||
ap->ops->set_mode(ap);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* step 1: calculate xfer_mask */
|
||||
for (i = 0; i < ATA_MAX_DEVICES; i++) {
|
||||
unsigned int pio_mask, dma_mask;
|
||||
|
Loading…
Reference in New Issue
Block a user