From: Simon Glass Date: Sun, 29 Nov 2015 20:17:51 +0000 (-0700) Subject: dm: pci: scsi: Use driver-model PCI API X-Git-Url: http://git.dujemihanovic.xyz/img/static/gitweb.css?a=commitdiff_plain;h=9fbdb94667b7316ef2a48fce325ae2da147d7d66;p=u-boot.git dm: pci: scsi: Use driver-model PCI API Adjust the SCSI command to use driver model for its PCI interface. Signed-off-by: Simon Glass Reviewed-by: Bin Meng Tested-by: Bin Meng --- diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c index 31c43195e4..86954089fe 100644 --- a/common/cmd_scsi.c +++ b/common/cmd_scsi.c @@ -184,7 +184,7 @@ int scsi_get_disk_count(void) #if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT) void scsi_init(void) { - int busdevfunc; + int busdevfunc = -1; int i; /* * Find a device from the list, this driver will support a single @@ -192,9 +192,21 @@ void scsi_init(void) */ for (i = 0; i < ARRAY_SIZE(scsi_device_list); i++) { /* get PCI Device ID */ +#ifdef CONFIG_DM_PCI + struct udevice *dev; + int ret; + + ret = dm_pci_find_device(scsi_device_list[i].vendor, + scsi_device_list[i].device, 0, &dev); + if (!ret) { + busdevfunc = dm_pci_get_bdf(dev); + break; + } +#else busdevfunc = pci_find_device(scsi_device_list[i].vendor, scsi_device_list[i].device, 0); +#endif if (busdevfunc != -1) break; }