[U-Boot] [PATCH v2 06/26] dm: pci: scsi: Use driver-model PCI API
Simon Glass
sjg at chromium.org
Sun Nov 29 21:17:51 CET 2015
Adjust the SCSI command to use driver model for its PCI interface.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
Changes in v2:
- Use dm_pci_get_bdf()
common/cmd_scsi.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c
index 31c4319..8695408 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;
}
--
2.6.0.rc2.230.g3dd15c0
More information about the U-Boot
mailing list