Commit 3adcebb2 authored by Tejun Heo's avatar Tejun Heo
Browse files

[PATCH] libata: move ->set_mode() handling into ata_set_mode()



Move ->set_mode() handlng into ata_set_mode().

Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
parent fe635c7e
Loading
Loading
Loading
Loading
+15 −14
Original line number Diff line number Diff line
@@ -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);

	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;