mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-28 07:03:31 +08:00
sata: call device_probe() after scanning
Every time a sata bus/port is scanned and a new device is detected, we want to call device_probe() as it will give us a chance to run additional post-processings for some purposes. In particular, support for creating partitions on a device will be added. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
df1ed8b2a8
commit
c662edd6de
@ -1026,6 +1026,11 @@ int dwc_ahsata_scan(struct udevice *dev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = blk_probe_or_unbind(dev);
|
||||
if (ret < 0)
|
||||
/* TODO: undo create */
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -982,6 +982,17 @@ static int fsl_ata_probe(struct udevice *dev)
|
||||
failed_number++;
|
||||
continue;
|
||||
}
|
||||
|
||||
ret = device_probe(dev);
|
||||
if (ret < 0) {
|
||||
debug("Probing %s failed (%d)\n", dev->name, ret);
|
||||
ret = fsl_unbind_device(blk);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
failed_number++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (failed_number == nr_ports)
|
||||
|
@ -1099,6 +1099,11 @@ static int sata_mv_probe(struct udevice *dev)
|
||||
continue;
|
||||
}
|
||||
|
||||
ret = blk_probe_or_unbind(dev);
|
||||
if (ret < 0)
|
||||
/* TODO: undo create */
|
||||
continue;
|
||||
|
||||
/* If we got here, the current SATA port was probed
|
||||
* successfully, so set the probe status to successful.
|
||||
*/
|
||||
|
@ -753,6 +753,18 @@ static int sil_pci_probe(struct udevice *dev)
|
||||
failed_number++;
|
||||
continue;
|
||||
}
|
||||
|
||||
ret = device_probe(dev);
|
||||
if (ret < 0) {
|
||||
debug("Probing %s failed (%d)\n", dev->name, ret);
|
||||
ret = sil_unbind_device(blk);
|
||||
device_unbind(dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
failed_number++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (failed_number == sata_info.maxport)
|
||||
|
Loading…
Reference in New Issue
Block a user