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

Simon Glass sjg at chromium.org
Fri Nov 27 03:51:27 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 v3:
- Fix 'switch (cmd)' merge error

Changes in v2:
- Refactor the patch based on dropping the earlier refactor patch

 common/cmd_pci.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/common/cmd_pci.c b/common/cmd_pci.c
index 4874033..857e3e5 100644
--- a/common/cmd_pci.c
+++ b/common/cmd_pci.c
@@ -444,6 +444,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_SIZE_32;
+	pci_dev_t dev;
 	int busnum = 0;
 	pci_dev_t bdf = 0;
 	char cmd = 's';
@@ -488,12 +489,14 @@ static int do_pci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 		return 0;
 	}
 
+	dev = bdf;
+
 	switch (argv[1][0]) {
 	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
@@ -506,17 +509,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