Implement scsi_init() api to probe driver model based sata devices. Signed-off-by: Mugunthan V N <mugunthan...@ti.com> --- drivers/block/disk-uclass.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)
diff --git a/drivers/block/disk-uclass.c b/drivers/block/disk-uclass.c index d665b35..4bd7b56 100644 --- a/drivers/block/disk-uclass.c +++ b/drivers/block/disk-uclass.c @@ -7,6 +7,45 @@ #include <common.h> #include <dm.h> +#include <dm/uclass-internal.h> +#include <dm/device-internal.h> +#include <scsi.h> + +int scsi_get_device(int index, struct udevice **devp) +{ + struct udevice *dev; + int ret; + + ret = uclass_find_device(UCLASS_DISK, index, &dev); + if (ret || !dev) { + printf("%d device not found\n", index); + return ret; + } + + ret = device_probe(dev); + if (ret) { + error("device probe error\n"); + return ret; + } + + *devp = dev; + + return ret; +} + +void scsi_init(void) +{ + struct udevice *dev; + int ret; + + ret = scsi_get_device(0, &dev); + if (ret || !dev) { + error("scsi device not found\n"); + return; + } + + scsi_scan(1); +} UCLASS_DRIVER(disk) = { .id = UCLASS_DISK, -- 2.7.0.75.g3ee1e0f _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot