[U-Boot] [PATCH v2 10/13] pci: Use a separate 'dev' variable for the PCI device

Simon Glass sjg at chromium.org
Sun Nov 22 00:28:25 CET 2015


In the 'pci' command, add a separate variable to hold the PCI device. When
this code is converted to driver model, this variable will be used to hold a
struct udevice instead.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v2:
- Use 'return 0' instead of 'break' after the 's' command

 common/cmd_pci.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/common/cmd_pci.c b/common/cmd_pci.c
index 51e1f1c..bfebc80 100644
--- a/common/cmd_pci.c
+++ b/common/cmd_pci.c
@@ -437,6 +437,7 @@ static int do_pci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr = 0, value = 0, cmd_size = 0;
 	enum pci_size_t size;
+	pci_dev_t dev;
 	int busnum = 0;
 	pci_dev_t bdf = 0;
 	char cmd = 's';
@@ -481,12 +482,14 @@ static int do_pci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 		return 0;
 	}
 
-	switch (argv[1][0]) {
+	dev = bdf;
+
+	switch (cmd) {
 	case 'h':		/* header */
-		pci_header_show(bdf);
+		pci_header_show(dev);
 		break;
 	case 'd':		/* display */
-		return pci_cfg_display(bdf, addr, size, value);
+		return pci_cfg_display(dev, addr, size, value);
 #ifdef CONFIG_CMD_PCI_ENUM
 	case 'e':
 # ifdef CONFIG_DM_PCI
@@ -499,17 +502,17 @@ static int do_pci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	case 'n':		/* next */
 		if (argc < 4)
 			goto usage;
-		ret = pci_cfg_modify(bdf, addr, size, value, 0);
+		ret = pci_cfg_modify(dev, addr, size, value, 0);
 		break;
 	case 'm':		/* modify */
 		if (argc < 4)
 			goto usage;
-		ret = pci_cfg_modify(bdf, addr, size, value, 1);
+		ret = pci_cfg_modify(dev, addr, size, value, 1);
 		break;
 	case 'w':		/* write */
 		if (argc < 5)
 			goto usage;
-		ret = pci_cfg_write(bdf, addr, size, value);
+		ret = pci_cfg_write(dev, addr, size, value);
 		break;
 	default:
 		ret = CMD_RET_USAGE;
-- 
2.6.0.rc2.230.g3dd15c0



More information about the U-Boot mailing list