All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [PATCH v2 02/26] dm: Avoid accessing seq directly
Date: Thu, 10 Dec 2020 18:31:27 -0700	[thread overview]
Message-ID: <20201210183140.v2.2.I6e939465f1a75ac2e7daaafdea5fbf6fb06050f2@changeid> (raw)
In-Reply-To: <20201211013151.1927814-1-sjg@chromium.org>

At present various drivers etc. access the device's 'seq' member directly.
This makes it harder to change the meaning of that member. Change access
to go through a function instead.

The drivers/i2c/lpc32xx_i2c.c file is left unchanged for now.

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

(no changes since v1)

 arch/arm/include/asm/mach-imx/mxc_i2c.h  |  2 +-
 arch/x86/cpu/broadwell/cpu_full.c        |  2 +-
 arch/x86/cpu/ivybridge/model_206ax.c     |  2 +-
 board/xilinx/versal/board.c              | 12 ++++----
 board/xilinx/zynqmp/zynqmp.c             | 12 ++++----
 cmd/axi.c                                |  4 +--
 cmd/cpu.c                                |  2 +-
 cmd/i2c.c                                |  4 +--
 cmd/misc.c                               |  2 +-
 cmd/osd.c                                |  4 +--
 cmd/pci.c                                |  7 +++--
 cmd/pmic.c                               |  4 +--
 cmd/remoteproc.c                         |  2 +-
 cmd/w1.c                                 |  4 +--
 drivers/core/device.c                    |  2 +-
 drivers/core/dump.c                      |  4 +--
 drivers/core/uclass.c                    |  6 ++--
 drivers/gpio/octeon_gpio.c               |  2 +-
 drivers/i2c/ast_i2c.c                    |  4 +--
 drivers/i2c/davinci_i2c.c                |  2 +-
 drivers/i2c/exynos_hs_i2c.c              |  2 +-
 drivers/i2c/i2c-gpio.c                   |  2 +-
 drivers/i2c/imx_lpi2c.c                  | 12 ++++----
 drivers/i2c/lpc32xx_i2c.c                |  6 +++-
 drivers/i2c/mxc_i2c.c                    | 10 +++----
 drivers/i2c/nx_i2c.c                     |  2 +-
 drivers/i2c/octeon_i2c.c                 |  2 +-
 drivers/i2c/s3c24x0_i2c.c                |  2 +-
 drivers/i2c/tegra_i2c.c                  |  5 ++--
 drivers/mmc/fsl_esdhc_imx.c              |  4 +--
 drivers/mtd/spi/sandbox.c                |  4 +--
 drivers/net/fec_mxc.c                    |  7 +++--
 drivers/net/fsl-mc/mc.c                  |  2 +-
 drivers/net/fsl_mcdmafec.c               |  2 +-
 drivers/net/ftgmac100.c                  |  2 +-
 drivers/net/higmacv300.c                 |  2 +-
 drivers/net/mcffec.c                     |  2 +-
 drivers/net/octeontx/nicvf_main.c        |  9 +++---
 drivers/net/octeontx/smi.c               |  2 +-
 drivers/net/octeontx2/nix.c              |  2 +-
 drivers/net/octeontx2/rvu_pf.c           |  6 ++--
 drivers/net/xilinx_axi_emac.c            |  2 +-
 drivers/net/xilinx_emaclite.c            |  2 +-
 drivers/net/zynq_gem.c                   |  2 +-
 drivers/pci/pci-aardvark.c               |  2 +-
 drivers/pci/pci-uclass.c                 | 36 ++++++++++++------------
 drivers/pci/pci_auto.c                   |  6 ++--
 drivers/pci/pcie_dw_mvebu.c              |  6 ++--
 drivers/pci/pcie_dw_ti.c                 |  6 ++--
 drivers/pci/pcie_ecam_generic.c          |  2 +-
 drivers/pci/pcie_fsl.c                   | 16 +++++------
 drivers/pci/pcie_intel_fpga.c            |  2 +-
 drivers/pci/pcie_layerscape_fixup.c      |  4 +--
 drivers/pci/pcie_layerscape_gen4.c       | 10 +++----
 drivers/pci/pcie_layerscape_gen4_fixup.c |  2 +-
 drivers/pci/pcie_layerscape_rc.c         | 12 ++++----
 drivers/pci/pcie_mediatek.c              |  2 +-
 drivers/pci/pcie_rockchip.c              |  6 ++--
 drivers/serial/serial_mcf.c              |  2 +-
 drivers/serial/serial_s5p.c              |  2 +-
 drivers/spi/altera_spi.c                 |  2 +-
 drivers/spi/cf_spi.c                     | 12 ++++----
 drivers/spi/fsl_dspi.c                   |  6 ++--
 drivers/spi/fsl_espi.c                   |  2 +-
 drivers/spi/octeon_spi.c                 |  2 +-
 drivers/spi/pic32_spi.c                  |  4 +--
 drivers/spi/sandbox_spi.c                |  2 +-
 drivers/spi/tegra114_spi.c               |  2 +-
 drivers/spi/tegra20_sflash.c             |  2 +-
 drivers/spi/tegra20_slink.c              |  2 +-
 drivers/spi/tegra210_qspi.c              |  2 +-
 drivers/spi/xilinx_spi.c                 |  2 +-
 drivers/spi/zynq_qspi.c                  |  2 +-
 drivers/spi/zynq_spi.c                   |  2 +-
 drivers/usb/gadget/max3420_udc.c         |  2 +-
 drivers/usb/host/ehci-mx5.c              |  2 +-
 drivers/usb/host/ehci-mx6.c              |  2 +-
 drivers/usb/host/ehci-omap.c             |  2 +-
 drivers/usb/host/ehci-vf.c               |  2 +-
 drivers/usb/host/usb-sandbox.c           |  2 +-
 drivers/usb/host/usb-uclass.c            |  2 +-
 drivers/video/vidconsole-uclass.c        |  4 +--
 drivers/virtio/virtio-uclass.c           |  2 +-
 drivers/watchdog/ast_wdt.c               |  2 +-
 drivers/watchdog/at91sam9_wdt.c          |  2 +-
 drivers/watchdog/cdns_wdt.c              |  2 +-
 drivers/watchdog/omap_wdt.c              |  2 +-
 drivers/watchdog/orion_wdt.c             |  2 +-
 drivers/watchdog/sbsa_gwdt.c             |  2 +-
 drivers/watchdog/sp805_wdt.c             |  2 +-
 drivers/watchdog/tangier_wdt.c           |  2 +-
 drivers/watchdog/xilinx_tb_wdt.c         |  2 +-
 drivers/watchdog/xilinx_wwdt.c           |  2 +-
 include/dm/device.h                      |  5 ++++
 include/pci.h                            |  2 +-
 include/spi.h                            |  2 +-
 lib/efi_loader/efi_device_path.c         |  4 +--
 net/eth-uclass.c                         | 19 +++++++------
 98 files changed, 211 insertions(+), 197 deletions(-)

diff --git a/arch/arm/include/asm/mach-imx/mxc_i2c.h b/arch/arm/include/asm/mach-imx/mxc_i2c.h
index 81fd9814447..c016aa74741 100644
--- a/arch/arm/include/asm/mach-imx/mxc_i2c.h
+++ b/arch/arm/include/asm/mach-imx/mxc_i2c.h
@@ -42,7 +42,7 @@ struct mxc_i2c_bus {
 	/*
 	 * board file can use this index to locate which i2c_pads_info is for
 	 * i2c_idle_bus. When pinmux is implement, this entry can be
-	 * discarded. Here we do not use dev->seq, because we do not want to
+	 * discarded. Here we do not use dev_seq(dev), because we do not want to
 	 * export device to board file.
 	 */
 	int index;
diff --git a/arch/x86/cpu/broadwell/cpu_full.c b/arch/x86/cpu/broadwell/cpu_full.c
index 706f68f63d6..ff066028fe6 100644
--- a/arch/x86/cpu/broadwell/cpu_full.c
+++ b/arch/x86/cpu/broadwell/cpu_full.c
@@ -638,7 +638,7 @@ static int broadwell_get_count(const struct udevice *dev)
 
 static int cpu_x86_broadwell_probe(struct udevice *dev)
 {
-	if (dev->seq == 0) {
+	if (dev_seq(dev) == 0) {
 		cpu_core_init(dev);
 		return broadwell_init(dev);
 	}
diff --git a/arch/x86/cpu/ivybridge/model_206ax.c b/arch/x86/cpu/ivybridge/model_206ax.c
index 55f7cc2b2ec..598ebcdf084 100644
--- a/arch/x86/cpu/ivybridge/model_206ax.c
+++ b/arch/x86/cpu/ivybridge/model_206ax.c
@@ -425,7 +425,7 @@ static int model_206ax_get_count(const struct udevice *dev)
 
 static int cpu_x86_model_206ax_probe(struct udevice *dev)
 {
-	if (dev->seq == 0)
+	if (dev_seq(dev) == 0)
 		model_206ax_init(dev);
 
 	return 0;
diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c
index 912c1143a8a..2782a346f07 100644
--- a/board/xilinx/versal/board.c
+++ b/board/xilinx/versal/board.c
@@ -153,9 +153,9 @@ int board_late_init(void)
 			puts("Boot from EMMC but without SD1 enabled!\n");
 			return -1;
 		}
-		debug("mmc1 device found at %p, seq %d\n", dev, dev->seq);
+		debug("mmc1 device found at %p, seq %d\n", dev, dev_seq(dev));
 		mode = "mmc";
-		bootseq = dev->seq;
+		bootseq = dev_seq(dev);
 		break;
 	case SD_MODE:
 		puts("SD_MODE\n");
@@ -164,10 +164,10 @@ int board_late_init(void)
 			puts("Boot from SD0 but without SD0 enabled!\n");
 			return -1;
 		}
-		debug("mmc0 device found at %p, seq %d\n", dev, dev->seq);
+		debug("mmc0 device found at %p, seq %d\n", dev, dev_seq(dev));
 
 		mode = "mmc";
-		bootseq = dev->seq;
+		bootseq = dev_seq(dev);
 		break;
 	case SD1_LSHFT_MODE:
 		puts("LVL_SHFT_");
@@ -179,10 +179,10 @@ int board_late_init(void)
 			puts("Boot from SD1 but without SD1 enabled!\n");
 			return -1;
 		}
-		debug("mmc1 device found at %p, seq %d\n", dev, dev->seq);
+		debug("mmc1 device found at %p, seq %d\n", dev, dev_seq(dev));
 
 		mode = "mmc";
-		bootseq = dev->seq;
+		bootseq = dev_seq(dev);
 		break;
 	default:
 		mode = "";
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index 731285a7367..047b0704859 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -596,10 +596,10 @@ int board_late_init(void)
 			puts("Boot from EMMC but without SD0 enabled!\n");
 			return -1;
 		}
-		debug("mmc0 device found at %p, seq %d\n", dev, dev->seq);
+		debug("mmc0 device found at %p, seq %d\n", dev, dev_seq(dev));
 
 		mode = "mmc";
-		bootseq = dev->seq;
+		bootseq = dev_seq(dev);
 		break;
 	case SD_MODE:
 		puts("SD_MODE\n");
@@ -610,10 +610,10 @@ int board_late_init(void)
 			puts("Boot from SD0 but without SD0 enabled!\n");
 			return -1;
 		}
-		debug("mmc0 device found at %p, seq %d\n", dev, dev->seq);
+		debug("mmc0 device found at %p, seq %d\n", dev, dev_seq(dev));
 
 		mode = "mmc";
-		bootseq = dev->seq;
+		bootseq = dev_seq(dev);
 		env_set("modeboot", "sdboot");
 		break;
 	case SD1_LSHFT_MODE:
@@ -628,10 +628,10 @@ int board_late_init(void)
 			puts("Boot from SD1 but without SD1 enabled!\n");
 			return -1;
 		}
-		debug("mmc1 device found at %p, seq %d\n", dev, dev->seq);
+		debug("mmc1 device found at %p, seq %d\n", dev, dev_seq(dev));
 
 		mode = "mmc";
-		bootseq = dev->seq;
+		bootseq = dev_seq(dev);
 		env_set("modeboot", "sdboot");
 		break;
 	case NAND_MODE:
diff --git a/cmd/axi.c b/cmd/axi.c
index c9d53c049e8..f7e206c04a7 100644
--- a/cmd/axi.c
+++ b/cmd/axi.c
@@ -35,7 +35,7 @@ static void show_bus(struct udevice *bus)
 
 	printf("Bus %d:\t%s", bus->req_seq, bus->name);
 	if (device_active(bus))
-		printf("  (active %d)", bus->seq);
+		printf("  (active %d)", dev_seq(bus));
 	printf("\n");
 	for (device_find_first_child(bus, &dev);
 	     dev;
@@ -147,7 +147,7 @@ static int do_axi_bus_num(struct cmd_tbl *cmdtp, int flag, int argc,
 		struct udevice *bus;
 
 		if (!axi_get_cur_bus(&bus))
-			bus_no = bus->seq;
+			bus_no = dev_seq(bus);
 		else
 			bus_no = -1;
 
diff --git a/cmd/cpu.c b/cmd/cpu.c
index ff553c16c4e..af2a42a6c25 100644
--- a/cmd/cpu.c
+++ b/cmd/cpu.c
@@ -32,7 +32,7 @@ static int print_cpu_list(bool detail)
 		int ret, i;
 
 		ret = cpu_get_desc(dev, buf, sizeof(buf));
-		printf("%3d: %-10s %s\n", dev->seq, dev->name,
+		printf("%3d: %-10s %s\n", dev_seq(dev), dev->name,
 		       ret ? "<no description>" : buf);
 		if (!detail)
 			continue;
diff --git a/cmd/i2c.c b/cmd/i2c.c
index cc01119b210..f97d437af47 100644
--- a/cmd/i2c.c
+++ b/cmd/i2c.c
@@ -1702,7 +1702,7 @@ static void show_bus(struct udevice *bus)
 
 	printf("Bus %d:\t%s", bus->req_seq, bus->name);
 	if (device_active(bus))
-		printf("  (active %d)", bus->seq);
+		printf("  (active %d)", dev_seq(bus));
 	printf("\n");
 	for (device_find_first_child(bus, &dev);
 	     dev;
@@ -1825,7 +1825,7 @@ static int do_i2c_bus_num(struct cmd_tbl *cmdtp, int flag, int argc,
 		struct udevice *bus;
 
 		if (!i2c_get_cur_bus(&bus))
-			bus_no = bus->seq;
+			bus_no = dev_seq(bus);
 		else
 			bus_no = -1;
 #else
diff --git a/cmd/misc.c b/cmd/misc.c
index 653deed7f57..ef540e836f2 100644
--- a/cmd/misc.c
+++ b/cmd/misc.c
@@ -34,7 +34,7 @@ static int do_misc_list(struct cmd_tbl *cmdtp, int flag,
 	for (uclass_first_device(UCLASS_MISC, &dev);
 	     dev;
 	     uclass_next_device(&dev)) {
-		printf("%-20s %5d %10s\n", dev->name, dev->seq,
+		printf("%-20s %5d %10s\n", dev->name, dev_seq(dev),
 		       dev->driver->name);
 	}
 
diff --git a/cmd/osd.c b/cmd/osd.c
index bdad5d8e963..9b8fd5c921e 100644
--- a/cmd/osd.c
+++ b/cmd/osd.c
@@ -77,7 +77,7 @@ static void show_osd(struct udevice *osd)
 {
 	printf("OSD %d:\t%s", osd->req_seq, osd->name);
 	if (device_active(osd))
-		printf("  (active %d)", osd->seq);
+		printf("  (active %d)", dev_seq(osd));
 	printf("\n");
 }
 
@@ -235,7 +235,7 @@ static int do_osd_num(struct cmd_tbl *cmdtp, int flag, int argc,
 		struct udevice *osd;
 
 		if (!osd_get_osd_cur(&osd))
-			osd_no = osd->seq;
+			osd_no = dev_seq(osd);
 		else
 			osd_no = -1;
 		printf("Current osd is %d\n", osd_no);
diff --git a/cmd/pci.c b/cmd/pci.c
index f91a4eb8ed0..0b08b5d76de 100644
--- a/cmd/pci.c
+++ b/cmd/pci.c
@@ -334,7 +334,7 @@ static void pciinfo(struct udevice *bus, bool short_listing)
 {
 	struct udevice *dev;
 
-	pciinfo_header(bus->seq, short_listing);
+	pciinfo_header(dev_seq(bus), short_listing);
 
 	for (device_find_first_child(bus, &dev);
 	     dev;
@@ -343,11 +343,12 @@ static void pciinfo(struct udevice *bus, bool short_listing)
 
 		pplat = dev_get_parent_platdata(dev);
 		if (short_listing) {
-			printf("%02x.%02x.%02x   ", bus->seq,
+			printf("%02x.%02x.%02x   ", dev_seq(bus),
 			       PCI_DEV(pplat->devfn), PCI_FUNC(pplat->devfn));
 			pci_header_show_brief(dev);
 		} else {
-			printf("\nFound PCI device %02x.%02x.%02x:\n", bus->seq,
+			printf("\nFound PCI device %02x.%02x.%02x:\n",
+			       dev_seq(bus),
 			       PCI_DEV(pplat->devfn), PCI_FUNC(pplat->devfn));
 			pci_header_show(dev);
 		}
diff --git a/cmd/pmic.c b/cmd/pmic.c
index 3bda0534a36..0cb44d07409 100644
--- a/cmd/pmic.c
+++ b/cmd/pmic.c
@@ -41,7 +41,7 @@ static int do_dev(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 			return CMD_RET_USAGE;
 		}
 
-		printf("dev: %d @ %s\n", currdev->seq, currdev->name);
+		printf("dev: %d @ %s\n", dev_seq(currdev), currdev->name);
 	}
 
 	return CMD_RET_SUCCESS;
@@ -66,7 +66,7 @@ static int do_list(struct cmd_tbl *cmdtp, int flag, int argc,
 		printf("| %-*.*s| %-*.*s| %s @ %d\n",
 		       LIMIT_DEV, LIMIT_DEV, dev->name,
 		       LIMIT_PARENT, LIMIT_PARENT, dev->parent->name,
-		       dev_get_uclass_name(dev->parent), dev->parent->seq);
+		       dev_get_uclass_name(dev->parent), dev_seq(dev->parent));
 	}
 
 	if (ret)
diff --git a/cmd/remoteproc.c b/cmd/remoteproc.c
index e8b9178e740..c111ef21756 100644
--- a/cmd/remoteproc.c
+++ b/cmd/remoteproc.c
@@ -47,7 +47,7 @@ static int print_remoteproc_list(void)
 			break;
 		}
 		printf("%d - Name:'%s' type:'%s' supports: %s%s%s%s%s%s\n",
-		       dev->seq,
+		       dev_seq(dev),
 		       uc_pdata->name,
 		       type,
 		       ops->load ? "load " : "",
diff --git a/cmd/w1.c b/cmd/w1.c
index 459094bf809..d0f0ee1234b 100644
--- a/cmd/w1.c
+++ b/cmd/w1.c
@@ -21,7 +21,7 @@ static int w1_bus(void)
 		printf("one wire interface not found\n");
 		return CMD_RET_FAILURE;
 	}
-	printf("Bus %d:\t%s", bus->seq, bus->name);
+	printf("Bus %d:\t%s", dev_seq(bus), bus->name);
 	if (device_active(bus))
 		printf("  (active)");
 	printf("\n");
@@ -31,7 +31,7 @@ static int w1_bus(void)
 	     device_find_next_child(&dev)) {
 		ret = device_probe(dev);
 
-		printf("\t%s (%d) uclass %s : ", dev->name, dev->seq,
+		printf("\t%s (%d) uclass %s : ", dev->name, dev_seq(dev),
 		       dev->uclass->uc_drv->name);
 
 		if (ret)
diff --git a/drivers/core/device.c b/drivers/core/device.c
index 79afaf06290..5660310c754 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -661,7 +661,7 @@ int device_find_child_by_seq(const struct udevice *parent, int seq_or_req_seq,
 		return -ENODEV;
 
 	list_for_each_entry(dev, &parent->child_head, sibling_node) {
-		if ((find_req_seq ? dev->req_seq : dev->seq) ==
+		if ((find_req_seq ? dev->req_seq : dev_seq(dev)) ==
 				seq_or_req_seq) {
 			*devp = dev;
 			return 0;
diff --git a/drivers/core/dump.c b/drivers/core/dump.c
index 6debaf97a1d..9f440366734 100644
--- a/drivers/core/dump.c
+++ b/drivers/core/dump.c
@@ -67,8 +67,8 @@ static void dm_display_line(struct udevice *dev, int index)
 	printf("%-3i %c %s @ %08lx", index,
 	       dev->flags & DM_FLAG_ACTIVATED ? '*' : ' ',
 	       dev->name, (ulong)map_to_sysmem(dev));
-	if (dev->seq != -1 || dev->req_seq != -1)
-		printf(", seq %d, (req %d)", dev->seq, dev->req_seq);
+	if (dev_seq(dev) != -1 || dev->req_seq != -1)
+		printf(", seq %d, (req %d)", dev_seq(dev), dev->req_seq);
 	puts("\n");
 }
 
diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
index c3f1b73cd6b..699f24843cf 100644
--- a/drivers/core/uclass.c
+++ b/drivers/core/uclass.c
@@ -311,8 +311,8 @@ int uclass_find_device_by_seq(enum uclass_id id, int seq_or_req_seq,
 
 	uclass_foreach_dev(dev, uc) {
 		log_debug("   - %d %d '%s'\n",
-			  dev->req_seq, dev->seq, dev->name);
-		if ((find_req_seq ? dev->req_seq : dev->seq) ==
+			  dev->req_seq, dev_seq(dev), dev->name);
+		if ((find_req_seq ? dev->req_seq : dev_seq(dev)) ==
 				seq_or_req_seq) {
 			*devp = dev;
 			log_debug("   - found\n");
@@ -695,7 +695,7 @@ int uclass_resolve_seq(struct udevice *dev)
 	int seq = 0;
 	int ret;
 
-	assert(dev->seq == -1);
+	assert(dev_seq(dev) == -1);
 	ret = uclass_find_device_by_seq(uc_drv->id, dev->req_seq, false, &dup);
 	if (!ret) {
 		dm_warn("Device '%s': seq %d is in use by '%s'\n",
diff --git a/drivers/gpio/octeon_gpio.c b/drivers/gpio/octeon_gpio.c
index 45acaadcdb6..f1c67fd006d 100644
--- a/drivers/gpio/octeon_gpio.c
+++ b/drivers/gpio/octeon_gpio.c
@@ -202,7 +202,7 @@ static int octeon_gpio_probe(struct udevice *dev)
 
 	uc_priv->bank_name  = strdup(dev->name);
 	end = strchr(uc_priv->bank_name, '@');
-	end[0] = 'A' + dev->seq;
+	end[0] = 'A' + dev_seq(dev);
 	end[1] = '\0';
 
 	debug("%s(%s): base address: %p, pin count: %d\n",
diff --git a/drivers/i2c/ast_i2c.c b/drivers/i2c/ast_i2c.c
index 2cdfb5561b7..afd4b44100b 100644
--- a/drivers/i2c/ast_i2c.c
+++ b/drivers/i2c/ast_i2c.c
@@ -110,7 +110,7 @@ static int ast_i2c_probe(struct udevice *dev)
 {
 	struct ast2500_scu *scu;
 
-	debug("Enabling I2C%u\n", dev->seq);
+	debug("Enabling I2C%u\n", dev_seq(dev));
 
 	/*
 	 * Get all I2C devices out of Reset.
@@ -307,7 +307,7 @@ static int ast_i2c_set_speed(struct udevice *dev, unsigned int speed)
 	struct ast_i2c_regs *regs = priv->regs;
 	ulong i2c_rate, divider;
 
-	debug("Setting speed for I2C%d to <%u>\n", dev->seq, speed);
+	debug("Setting speed for I2C%d to <%u>\n", dev_seq(dev), speed);
 	if (!speed) {
 		debug("No valid speed specified\n");
 		return -EINVAL;
diff --git a/drivers/i2c/davinci_i2c.c b/drivers/i2c/davinci_i2c.c
index a54f2151fd3..478385ad683 100644
--- a/drivers/i2c/davinci_i2c.c
+++ b/drivers/i2c/davinci_i2c.c
@@ -470,7 +470,7 @@ static int davinci_i2c_probe(struct udevice *dev)
 {
 	struct i2c_bus *i2c_bus = dev_get_priv(dev);
 
-	i2c_bus->id = dev->seq;
+	i2c_bus->id = dev_seq(dev);
 	i2c_bus->regs = dev_read_addr_ptr(dev);
 
 	i2c_bus->speed = 100000;
diff --git a/drivers/i2c/exynos_hs_i2c.c b/drivers/i2c/exynos_hs_i2c.c
index 5785adedb6d..87fc9c19940 100644
--- a/drivers/i2c/exynos_hs_i2c.c
+++ b/drivers/i2c/exynos_hs_i2c.c
@@ -533,7 +533,7 @@ static int s3c_i2c_ofdata_to_platdata(struct udevice *dev)
 		dev_read_u32_default(dev, "clock-frequency",
 				     I2C_SPEED_STANDARD_RATE);
 	i2c_bus->node = node;
-	i2c_bus->bus_num = dev->seq;
+	i2c_bus->bus_num = dev_seq(dev);
 
 	exynos_pinmux_config(i2c_bus->id, PINMUX_FLAG_HS_MODE);
 
diff --git a/drivers/i2c/i2c-gpio.c b/drivers/i2c/i2c-gpio.c
index 381938c956f..3eb31672bec 100644
--- a/drivers/i2c/i2c-gpio.c
+++ b/drivers/i2c/i2c-gpio.c
@@ -298,7 +298,7 @@ static int i2c_gpio_probe(struct udevice *dev, uint chip, uint chip_flags)
 	i2c_gpio_send_stop(bus, delay);
 
 	debug("%s: bus: %d (%s) chip: %x flags: %x ret: %d\n",
-	      __func__, dev->seq, dev->name, chip, chip_flags, ret);
+	      __func__, dev_seq(dev), dev->name, chip, chip_flags, ret);
 
 	return ret;
 }
diff --git a/drivers/i2c/imx_lpi2c.c b/drivers/i2c/imx_lpi2c.c
index feeed1e9a2f..a4e8ab795d4 100644
--- a/drivers/i2c/imx_lpi2c.c
+++ b/drivers/i2c/imx_lpi2c.c
@@ -289,7 +289,7 @@ static int bus_i2c_set_bus_speed(struct udevice *bus, int speed)
 			return clock_rate;
 		}
 	} else {
-		clock_rate = imx_get_i2cclk(bus->seq);
+		clock_rate = imx_get_i2cclk(dev_seq(bus));
 		if (!clock_rate)
 			return -EPERM;
 	}
@@ -377,7 +377,7 @@ static int bus_i2c_init(struct udevice *bus, int speed)
 	val = readl(&regs->mcr) & ~LPI2C_MCR_MEN_MASK;
 	writel(val | LPI2C_MCR_MEN(1), &regs->mcr);
 
-	debug("i2c : controller bus %d, speed %d:\n", bus->seq, speed);
+	debug("i2c : controller bus %d, speed %d:\n", dev_seq(bus), speed);
 
 	return ret;
 }
@@ -452,11 +452,11 @@ static int imx_lpi2c_probe(struct udevice *bus)
 		return -EINVAL;
 
 	i2c_bus->base = addr;
-	i2c_bus->index = bus->seq;
+	i2c_bus->index = dev_seq(bus);
 	i2c_bus->bus = bus;
 
 	/* power up i2c resource */
-	ret = init_i2c_power(bus->seq);
+	ret = init_i2c_power(dev_seq(bus));
 	if (ret) {
 		debug("init_i2c_power err = %d\n", ret);
 		return ret;
@@ -486,7 +486,7 @@ static int imx_lpi2c_probe(struct udevice *bus)
 		}
 	} else {
 		/* To i.MX7ULP, only i2c4-7 can be handled by A7 core */
-		ret = enable_i2c_clk(1, bus->seq);
+		ret = enable_i2c_clk(1, dev_seq(bus));
 		if (ret < 0)
 			return ret;
 	}
@@ -496,7 +496,7 @@ static int imx_lpi2c_probe(struct udevice *bus)
 		return ret;
 
 	debug("i2c : controller bus %d@0x%lx , speed %d: ",
-	      bus->seq, i2c_bus->base,
+	      dev_seq(bus), i2c_bus->base,
 	      i2c_bus->speed);
 
 	return 0;
diff --git a/drivers/i2c/lpc32xx_i2c.c b/drivers/i2c/lpc32xx_i2c.c
index 6af2e975cf3..4858479b142 100644
--- a/drivers/i2c/lpc32xx_i2c.c
+++ b/drivers/i2c/lpc32xx_i2c.c
@@ -282,7 +282,11 @@ U_BOOT_I2C_ADAP_COMPLETE(lpc32xx_2, lpc32xx_i2c_init, NULL,
 static int lpc32xx_i2c_probe(struct udevice *bus)
 {
 	struct lpc32xx_i2c_dev *dev = dev_get_platdata(bus);
-	bus->seq = dev->index;
+
+	/*
+	 * FIXME: This is not permitted
+	 *	dev_seq(bus) = dev->index;
+	 */
 
 	__i2c_init(dev->base, dev->speed, 0, dev->index);
 	return 0;
diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
index 7609594bd01..d7f8e821aca 100644
--- a/drivers/i2c/mxc_i2c.c
+++ b/drivers/i2c/mxc_i2c.c
@@ -914,7 +914,7 @@ static int mxc_i2c_probe(struct udevice *bus)
 	}
 
 	i2c_bus->base = addr;
-	i2c_bus->index = bus->seq;
+	i2c_bus->index = dev_seq(bus);
 	i2c_bus->bus = bus;
 
 	/* Enable clk */
@@ -930,7 +930,7 @@ static int mxc_i2c_probe(struct udevice *bus)
 		return ret;
 	}
 #else
-	ret = enable_i2c_clk(1, bus->seq);
+	ret = enable_i2c_clk(1, dev_seq(bus));
 	if (ret < 0)
 		return ret;
 #endif
@@ -942,7 +942,7 @@ static int mxc_i2c_probe(struct udevice *bus)
 	ret = fdt_stringlist_search(fdt, node, "pinctrl-names", "gpio");
 	if (ret < 0) {
 		debug("i2c bus %d@0x%2lx, no gpio pinctrl state.\n",
-		      bus->seq, i2c_bus->base);
+		      dev_seq(bus), i2c_bus->base);
 	} else {
 		ret = gpio_request_by_name_nodev(offset_to_ofnode(node),
 				"scl-gpios", 0, &i2c_bus->scl_gpio,
@@ -955,7 +955,7 @@ static int mxc_i2c_probe(struct udevice *bus)
 		    ret || ret2) {
 			dev_err(bus,
 				"i2c bus %d at %lu, fail to request scl/sda gpio\n",
-				bus->seq, i2c_bus->base);
+				dev_seq(bus), i2c_bus->base);
 			return -EINVAL;
 		}
 	}
@@ -966,7 +966,7 @@ static int mxc_i2c_probe(struct udevice *bus)
 	 */
 
 	debug("i2c : controller bus %d at %lu , speed %d: ",
-	      bus->seq, i2c_bus->base,
+	      dev_seq(bus), i2c_bus->base,
 	      i2c_bus->speed);
 
 	return 0;
diff --git a/drivers/i2c/nx_i2c.c b/drivers/i2c/nx_i2c.c
index ca14a0ecac7..3f0e7124b72 100644
--- a/drivers/i2c/nx_i2c.c
+++ b/drivers/i2c/nx_i2c.c
@@ -240,7 +240,7 @@ static int nx_i2c_probe(struct udevice *dev)
 		return -EINVAL;
 	bus->regs = (struct nx_i2c_regs *)addr;
 
-	bus->bus_num = dev->seq;
+	bus->bus_num = dev_seq(dev);
 
 	/* i2c node parsing */
 	i2c_process_node(dev);
diff --git a/drivers/i2c/octeon_i2c.c b/drivers/i2c/octeon_i2c.c
index 23dcb1563ea..38839e45758 100644
--- a/drivers/i2c/octeon_i2c.c
+++ b/drivers/i2c/octeon_i2c.c
@@ -811,7 +811,7 @@ static int octeon_i2c_probe(struct udevice *dev)
 	if (ret)
 		return ret;
 
-	debug("TWSI bus %d at %p\n", dev->seq, twsi->base);
+	debug("TWSI bus %d at %p\n", dev_seq(dev), twsi->base);
 
 	/* Start with standard speed, real speed set via DT or cmd */
 	return twsi_init(twsi->base, i2c_slave_addr);
diff --git a/drivers/i2c/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c
index cb45d3c100f..29ba217e709 100644
--- a/drivers/i2c/s3c24x0_i2c.c
+++ b/drivers/i2c/s3c24x0_i2c.c
@@ -318,7 +318,7 @@ static int s3c_i2c_ofdata_to_platdata(struct udevice *dev)
 		dev_read_u32_default(dev, "clock-frequency",
 				     I2C_SPEED_STANDARD_RATE);
 	i2c_bus->node = node;
-	i2c_bus->bus_num = dev->seq;
+	i2c_bus->bus_num = dev_seq(dev);
 
 	exynos_pinmux_config(i2c_bus->id, 0);
 
diff --git a/drivers/i2c/tegra_i2c.c b/drivers/i2c/tegra_i2c.c
index 65b3734348b..19212020e84 100644
--- a/drivers/i2c/tegra_i2c.c
+++ b/drivers/i2c/tegra_i2c.c
@@ -362,7 +362,7 @@ static int tegra_i2c_probe(struct udevice *dev)
 	int ret;
 	bool is_dvc;
 
-	i2c_bus->id = dev->seq;
+	i2c_bus->id = dev_seq(dev);
 	i2c_bus->type = dev_get_driver_data(dev);
 	i2c_bus->regs = (struct i2c_ctlr *)dev_read_addr(dev);
 	if ((ulong)i2c_bus->regs == FDT_ADDR_T_NONE) {
@@ -408,7 +408,8 @@ static int tegra_i2c_probe(struct udevice *dev)
 	}
 	i2c_init_controller(i2c_bus);
 	debug("%s: controller bus %d at %p, speed %d: ",
-	      is_dvc ? "dvc" : "i2c", dev->seq, i2c_bus->regs, i2c_bus->speed);
+	      is_dvc ? "dvc" : "i2c", dev_seq(dev), i2c_bus->regs,
+	      i2c_bus->speed);
 
 	return 0;
 }
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
index e5409ade1bc..7b1c1d86271 100644
--- a/drivers/mmc/fsl_esdhc_imx.c
+++ b/drivers/mmc/fsl_esdhc_imx.c
@@ -1558,7 +1558,7 @@ static int fsl_esdhc_probe(struct udevice *dev)
 	 * work as expected.
 	 */
 
-	init_clk_usdhc(dev->seq);
+	init_clk_usdhc(dev_seq(dev));
 
 #if CONFIG_IS_ENABLED(CLK)
 	/* Assigned clock already set clock */
@@ -1575,7 +1575,7 @@ static int fsl_esdhc_probe(struct udevice *dev)
 
 	priv->sdhc_clk = clk_get_rate(&priv->per_clk);
 #else
-	priv->sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK + dev->seq);
+	priv->sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK + dev_seq(dev));
 	if (priv->sdhc_clk <= 0) {
 		dev_err(dev, "Unable to get clk for %s\n", dev->name);
 		return -EINVAL;
diff --git a/drivers/mtd/spi/sandbox.c b/drivers/mtd/spi/sandbox.c
index 1d0c1cb3fa2..1a362616694 100644
--- a/drivers/mtd/spi/sandbox.c
+++ b/drivers/mtd/spi/sandbox.c
@@ -131,7 +131,7 @@ static int sandbox_sf_probe(struct udevice *dev)
 	int ret = 0;
 	int cs = -1;
 
-	debug("%s: bus %d, looking for emul=%p: ", __func__, bus->seq, dev);
+	debug("%s: bus %d, looking for emul=%p: ", __func__, dev_seq(bus), dev);
 	ret = sandbox_spi_get_emul(state, bus, dev, &emul);
 	if (ret) {
 		printf("Error: Unknown chip select for device '%s'\n",
@@ -565,7 +565,7 @@ int sandbox_spi_get_emul(struct sandbox_state *state,
 			 struct udevice **emulp)
 {
 	struct sandbox_spi_info *info;
-	int busnum = bus->seq;
+	int busnum = dev_seq(bus);
 	int cs = spi_chip_select(slave);
 	int ret;
 
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index bb55be9a267..4560dd80015 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -1451,7 +1451,7 @@ static int fecmxc_probe(struct udevice *dev)
 
 	fec_reg_setup(priv);
 
-	priv->dev_id = dev->seq;
+	priv->dev_id = dev_seq(dev);
 
 #ifdef CONFIG_DM_ETH_PHY
 	bus = eth_phy_get_mdio_bus(dev);
@@ -1459,9 +1459,10 @@ static int fecmxc_probe(struct udevice *dev)
 
 	if (!bus) {
 #ifdef CONFIG_FEC_MXC_MDIO_BASE
-		bus = fec_get_miibus((ulong)CONFIG_FEC_MXC_MDIO_BASE, dev->seq);
+		bus = fec_get_miibus((ulong)CONFIG_FEC_MXC_MDIO_BASE,
+				     dev_seq(dev));
 #else
-		bus = fec_get_miibus((ulong)priv->eth, dev->seq);
+		bus = fec_get_miibus((ulong)priv->eth, dev_seq(dev));
 #endif
 	}
 	if (!bus) {
diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c
index 84db6be624a..7497e9b735e 100644
--- a/drivers/net/fsl-mc/mc.c
+++ b/drivers/net/fsl-mc/mc.c
@@ -187,7 +187,7 @@ static int mc_fixup_mac_addr(void *blob, int nodeoffset,
 #ifdef CONFIG_DM_ETH
 	struct eth_pdata *plat = dev_get_platdata(eth_dev);
 	unsigned char *enetaddr = plat->enetaddr;
-	int eth_index = eth_dev->seq;
+	int eth_index = dev_seq(eth_dev);
 #else
 	unsigned char *enetaddr = eth_dev->enetaddr;
 	int eth_index = eth_dev->index;
diff --git a/drivers/net/fsl_mcdmafec.c b/drivers/net/fsl_mcdmafec.c
index e27f7e5321a..6eaa60ac187 100644
--- a/drivers/net/fsl_mcdmafec.c
+++ b/drivers/net/fsl_mcdmafec.c
@@ -502,7 +502,7 @@ static int mcdmafec_probe(struct udevice *dev)
 	int retval;
 	const u32 *val;
 
-	info->index = dev->seq;
+	info->index = dev_seq(dev);
 	info->iobase = pdata->iobase;
 	info->miibase = pdata->iobase;
 	info->phy_addr = -1;
diff --git a/drivers/net/ftgmac100.c b/drivers/net/ftgmac100.c
index 00bda24f1fd..2ed012d5dd0 100644
--- a/drivers/net/ftgmac100.c
+++ b/drivers/net/ftgmac100.c
@@ -171,7 +171,7 @@ static int ftgmac100_mdio_init(struct udevice *dev)
 	bus->write = ftgmac100_mdio_write;
 	bus->priv  = priv;
 
-	ret = mdio_register_seq(bus, dev->seq);
+	ret = mdio_register_seq(bus, dev_seq(dev));
 	if (ret) {
 		free(bus);
 		return ret;
diff --git a/drivers/net/higmacv300.c b/drivers/net/higmacv300.c
index 2aae7f4863c..00c07770290 100644
--- a/drivers/net/higmacv300.c
+++ b/drivers/net/higmacv300.c
@@ -528,7 +528,7 @@ static int higmac_probe(struct udevice *dev)
 	bus->priv = priv;
 	priv->bus = bus;
 
-	ret = mdio_register_seq(bus, dev->seq);
+	ret = mdio_register_seq(bus, dev_seq(dev));
 	if (ret)
 		return ret;
 
diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index f94a2d8123c..43b7dbb1a01 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -524,7 +524,7 @@ static int mcffec_probe(struct udevice *dev)
 	int retval, fec_idx;
 	const u32 *val;
 
-	info->index = dev->seq;
+	info->index = dev_seq(dev);
 	info->iobase = pdata->iobase;
 	info->phy_addr = -1;
 
diff --git a/drivers/net/octeontx/nicvf_main.c b/drivers/net/octeontx/nicvf_main.c
index e13c8b95569..800df8a500b 100644
--- a/drivers/net/octeontx/nicvf_main.c
+++ b/drivers/net/octeontx/nicvf_main.c
@@ -452,11 +452,12 @@ int nicvf_write_hwaddr(struct udevice *dev)
 	 * u-boot framework updates MAC to random address.
 	 * Use this hook to update mac address in environment.
 	 */
-	if (!eth_env_get_enetaddr_by_index("eth", dev->seq, ethaddr)) {
-		eth_env_set_enetaddr_by_index("eth", dev->seq, pdata->enetaddr);
+	if (!eth_env_get_enetaddr_by_index("eth", dev_seq(dev), ethaddr)) {
+		eth_env_set_enetaddr_by_index("eth", dev_seq(dev),
+					      pdata->enetaddr);
 		debug("%s: pMAC %pM\n", __func__, pdata->enetaddr);
 	}
-	eth_env_get_enetaddr_by_index("eth", dev->seq, ethaddr);
+	eth_env_get_enetaddr_by_index("eth", dev_seq(dev), ethaddr);
 	if (memcmp(ethaddr, pdata->enetaddr, ARP_HLEN)) {
 		debug("%s: pMAC %pM\n", __func__, pdata->enetaddr);
 		nicvf_hw_set_mac_addr(nic, dev);
@@ -540,7 +541,7 @@ int nicvf_initialize(struct udevice *dev)
 
 	if (is_valid_ethaddr(ethaddr)) {
 		memcpy(pdata->enetaddr, ethaddr, ARP_HLEN);
-		eth_env_set_enetaddr_by_index("eth", dev->seq, ethaddr);
+		eth_env_set_enetaddr_by_index("eth", dev_seq(dev), ethaddr);
 	}
 	debug("%s enetaddr %pM ethaddr %pM\n", __func__,
 	      pdata->enetaddr, ethaddr);
diff --git a/drivers/net/octeontx/smi.c b/drivers/net/octeontx/smi.c
index 8e2c3ca5a30..d4baddb7ef5 100644
--- a/drivers/net/octeontx/smi.c
+++ b/drivers/net/octeontx/smi.c
@@ -335,7 +335,7 @@ int octeontx_smi_probe(struct udevice *dev)
 		priv = malloc(sizeof(*priv));
 		if (!bus || !priv) {
 			printf("Failed to allocate OcteonTX MDIO bus # %u\n",
-			       dev->seq);
+			       dev_seq(dev));
 			return -1;
 		}
 
diff --git a/drivers/net/octeontx2/nix.c b/drivers/net/octeontx2/nix.c
index 0a3e8e4af0b..54e1875ce19 100644
--- a/drivers/net/octeontx2/nix.c
+++ b/drivers/net/octeontx2/nix.c
@@ -736,7 +736,7 @@ int nix_lf_setup_mac(struct udevice *dev)
 	 */
 	if (memcmp(nix->lmac->mac_addr, pdata->enetaddr, ARP_HLEN)) {
 		memcpy(nix->lmac->mac_addr, pdata->enetaddr, 6);
-		eth_env_set_enetaddr_by_index("eth", rvu->dev->seq,
+		eth_env_set_enetaddr_by_index("eth", dev_seq(rvu->dev),
 					      pdata->enetaddr);
 		cgx_lmac_mac_filter_setup(nix->lmac);
 		/* Update user given MAC address to ATF for update
diff --git a/drivers/net/octeontx2/rvu_pf.c b/drivers/net/octeontx2/rvu_pf.c
index 201ecf2c168..853914968bb 100644
--- a/drivers/net/octeontx2/rvu_pf.c
+++ b/drivers/net/octeontx2/rvu_pf.c
@@ -34,7 +34,7 @@ int rvu_pf_init(struct rvu_pf *rvu)
 	/* to make post_probe happy */
 	if (is_valid_ethaddr(nix->lmac->mac_addr)) {
 		memcpy(pdata->enetaddr, nix->lmac->mac_addr, 6);
-		eth_env_set_enetaddr_by_index("eth", rvu->dev->seq,
+		eth_env_set_enetaddr_by_index("eth", dev_seq(rvu->dev),
 					      pdata->enetaddr);
 	}
 
@@ -59,7 +59,7 @@ int rvu_pf_probe(struct udevice *dev)
 	debug("%s: name: %s\n", __func__, dev->name);
 
 	rvu->pf_base = dm_pci_map_bar(dev, PCI_BASE_ADDRESS_2, PCI_REGION_MEM);
-	rvu->pfid = dev->seq + 1; // RVU PF's start from 1;
+	rvu->pfid = dev_seq(dev) + 1; // RVU PF's start from 1;
 	rvu->dev = dev;
 	if (!rvu_af_dev) {
 		printf("%s: Error: Could not find RVU AF device\n",
@@ -80,7 +80,7 @@ int rvu_pf_probe(struct udevice *dev)
 	 * modify device name to include index/sequence number,
 	 * for better readability, this is 1:1 mapping with eth0/1/2.. names.
 	 */
-	sprintf(name, "rvu_pf#%d", dev->seq);
+	sprintf(name, "rvu_pf#%d", dev_seq(dev));
 	device_set_name(dev, name);
 	debug("%s: name: %s\n", __func__, dev->name);
 	return err;
diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c
index 8af37112046..3fe9a617f7b 100644
--- a/drivers/net/xilinx_axi_emac.c
+++ b/drivers/net/xilinx_axi_emac.c
@@ -697,7 +697,7 @@ static int axi_emac_probe(struct udevice *dev)
 	priv->bus->write = axiemac_miiphy_write;
 	priv->bus->priv = priv;
 
-	ret = mdio_register_seq(priv->bus, dev->seq);
+	ret = mdio_register_seq(priv->bus, dev_seq(dev));
 	if (ret)
 		return ret;
 
diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
index 64c18bae74b..256d073da4a 100644
--- a/drivers/net/xilinx_emaclite.c
+++ b/drivers/net/xilinx_emaclite.c
@@ -568,7 +568,7 @@ static int emaclite_probe(struct udevice *dev)
 	emaclite->bus->write = emaclite_miiphy_write;
 	emaclite->bus->priv = emaclite;
 
-	ret = mdio_register_seq(emaclite->bus, dev->seq);
+	ret = mdio_register_seq(emaclite->bus, dev_seq(dev));
 	if (ret)
 		return ret;
 
diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c
index 8afec8bbfcf..75a6f8f280b 100644
--- a/drivers/net/zynq_gem.c
+++ b/drivers/net/zynq_gem.c
@@ -705,7 +705,7 @@ static int zynq_gem_probe(struct udevice *dev)
 	priv->bus->write = zynq_gem_miiphy_write;
 	priv->bus->priv = priv;
 
-	ret = mdio_register_seq(priv->bus, dev->seq);
+	ret = mdio_register_seq(priv->bus, dev_seq(dev));
 	if (ret)
 		goto err2;
 
diff --git a/drivers/pci/pci-aardvark.c b/drivers/pci/pci-aardvark.c
index babb84ca937..0ce60ddf7db 100644
--- a/drivers/pci/pci-aardvark.c
+++ b/drivers/pci/pci-aardvark.c
@@ -638,7 +638,7 @@ static int pcie_advk_probe(struct udevice *dev)
 		dev_warn(pcie->dev, "PCIE Reset on GPIO support is missing\n");
 	}
 
-	pcie->first_busno = dev->seq;
+	pcie->first_busno = dev_seq(dev);
 	pcie->dev = pci_get_controller(dev);
 
 	return pcie_advk_setup_hw(pcie);
diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c
index 9230cfe88b5..99dcd342efe 100644
--- a/drivers/pci/pci-uclass.c
+++ b/drivers/pci/pci-uclass.c
@@ -65,7 +65,7 @@ pci_dev_t dm_pci_get_bdf(const struct udevice *dev)
 	if (!device_active(bus))
 		log_err("PCI: Device '%s' on unprobed bus '%s'\n", dev->name,
 			bus->name);
-	return PCI_ADD_BUS(bus->seq, pplat->devfn);
+	return PCI_ADD_BUS(dev_seq(bus), pplat->devfn);
 }
 
 /**
@@ -81,8 +81,8 @@ static int pci_get_bus_max(void)
 
 	ret = uclass_get(UCLASS_PCI, &uc);
 	uclass_foreach_dev(bus, uc) {
-		if (bus->seq > ret)
-			ret = bus->seq;
+		if (dev_seq(bus) > ret)
+			ret = dev_seq(bus);
 	}
 
 	debug("%s: ret=%d\n", __func__, ret);
@@ -513,7 +513,7 @@ static void set_vga_bridge_bits(struct udevice *dev)
 	struct udevice *parent = dev->parent;
 	u16 bc;
 
-	while (parent->seq != 0) {
+	while (dev_seq(parent) != 0) {
 		dm_pci_read_config16(parent, PCI_BRIDGE_CONTROL, &bc);
 		bc |= PCI_BRIDGE_CTL_VGA;
 		dm_pci_write_config16(parent, PCI_BRIDGE_CONTROL, bc);
@@ -529,7 +529,7 @@ int pci_auto_config_devices(struct udevice *bus)
 	struct udevice *dev;
 	int ret;
 
-	sub_bus = bus->seq;
+	sub_bus = dev_seq(bus);
 	debug("%s: start\n", __func__);
 	pciauto_config_init(hose);
 	for (ret = device_find_first_child(bus, &dev);
@@ -645,9 +645,9 @@ int dm_pci_hose_probe_bus(struct udevice *bus)
 	}
 
 	if (!ea_pos) {
-		if (sub_bus != bus->seq) {
+		if (sub_bus != dev_seq(bus)) {
 			debug("%s: Internal error, bus '%s' got seq %d, expected %d\n",
-			      __func__, bus->name, bus->seq, sub_bus);
+			      __func__, bus->name, dev_seq(bus), sub_bus);
 			return -EPIPE;
 		}
 		sub_bus = pci_get_bus_max();
@@ -771,7 +771,7 @@ static int pci_find_and_bind_driver(struct udevice *parent,
 		return -EPERM;
 
 	/* Bind a generic driver so that the device can be used */
-	sprintf(name, "pci_%x:%x.%x", parent->seq, PCI_DEV(bdf),
+	sprintf(name, "pci_%x:%x.%x", dev_seq(parent), PCI_DEV(bdf),
 		PCI_FUNC(bdf));
 	str = strdup(name);
 	if (!str)
@@ -803,9 +803,9 @@ int pci_bind_bus_devices(struct udevice *bus)
 	int ret;
 
 	found_multi = false;
-	end = PCI_BDF(bus->seq, PCI_MAX_PCI_DEVICES - 1,
+	end = PCI_BDF(dev_seq(bus), PCI_MAX_PCI_DEVICES - 1,
 		      PCI_MAX_PCI_FUNCTIONS - 1);
-	for (bdf = PCI_BDF(bus->seq, 0, 0); bdf <= end;
+	for (bdf = PCI_BDF(dev_seq(bus), 0, 0); bdf <= end;
 	     bdf += PCI_BDF(0, 0, 1)) {
 		struct pci_child_platdata *pplat;
 		struct udevice *dev;
@@ -832,7 +832,7 @@ int pci_bind_bus_devices(struct udevice *bus)
 			found_multi = header_type & 0x80;
 
 		debug("%s: bus %d/%s: found device %x, function %d", __func__,
-		      bus->seq, bus->name, PCI_DEV(bdf), PCI_FUNC(bdf));
+		      dev_seq(bus), bus->name, PCI_DEV(bdf), PCI_FUNC(bdf));
 		pci_bus_read_config(bus, bdf, PCI_DEVICE_ID, &device,
 				    PCI_SIZE_16);
 		pci_bus_read_config(bus, bdf, PCI_CLASS_REVISION, &class,
@@ -1010,7 +1010,7 @@ static int pci_uclass_pre_probe(struct udevice *bus)
 {
 	struct pci_controller *hose;
 
-	debug("%s, bus=%d/%s, parent=%s\n", __func__, bus->seq, bus->name,
+	debug("%s, bus=%d/%s, parent=%s\n", __func__, dev_seq(bus), bus->name,
 	      bus->parent->name);
 	hose = bus->uclass_priv;
 
@@ -1025,8 +1025,8 @@ static int pci_uclass_pre_probe(struct udevice *bus)
 		hose->ctlr = parent_hose->bus;
 	}
 	hose->bus = bus;
-	hose->first_busno = bus->seq;
-	hose->last_busno = bus->seq;
+	hose->first_busno = dev_seq(bus);
+	hose->last_busno = dev_seq(bus);
 	if (dev_of_valid(bus)) {
 		hose->skip_auto_config_until_reloc =
 			dev_read_bool(bus,
@@ -1041,7 +1041,7 @@ static int pci_uclass_post_probe(struct udevice *bus)
 	struct pci_controller *hose = dev_get_uclass_priv(bus);
 	int ret;
 
-	debug("%s: probing bus %d\n", __func__, bus->seq);
+	debug("%s: probing bus %d\n", __func__, dev_seq(bus));
 	ret = pci_bind_bus_devices(bus);
 	if (ret)
 		return ret;
@@ -1068,7 +1068,7 @@ static int pci_uclass_post_probe(struct udevice *bus)
 	 * Note we only call this 1) after U-Boot is relocated, and 2)
 	 * root bus has finished probing.
 	 */
-	if ((gd->flags & GD_FLG_RELOC) && bus->seq == 0 && ll_boot_init()) {
+	if ((gd->flags & GD_FLG_RELOC) && dev_seq(bus) == 0 && ll_boot_init()) {
 		ret = fsp_init_phase_pci();
 		if (ret)
 			return ret;
@@ -1732,7 +1732,7 @@ int pci_sriov_init(struct udevice *pdev, int vf_en)
 				    &class, PCI_SIZE_16);
 
 		debug("%s: bus %d/%s: found VF %x:%x\n", __func__,
-		      bus->seq, bus->name, PCI_DEV(bdf), PCI_FUNC(bdf));
+		      dev_seq(bus), bus->name, PCI_DEV(bdf), PCI_FUNC(bdf));
 
 		/* Find this device in the device tree */
 		ret = pci_bus_find_devfn(bus, PCI_MASK_BUS(bdf), &dev);
@@ -1763,7 +1763,7 @@ int pci_sriov_init(struct udevice *pdev, int vf_en)
 		pplat->virtid = vf * vf_stride + vf_offset;
 
 		debug("%s: bus %d/%s: found VF %x:%x %x:%x class %lx id %x\n",
-		      __func__, dev->seq, dev->name, PCI_DEV(bdf),
+		      __func__, dev_seq(dev), dev->name, PCI_DEV(bdf),
 		      PCI_FUNC(bdf), vendor, device, class, pplat->virtid);
 		bdf += PCI_BDF(0, 0, vf_stride);
 	}
diff --git a/drivers/pci/pci_auto.c b/drivers/pci/pci_auto.c
index 3f46b7697d7..4d797ec034b 100644
--- a/drivers/pci/pci_auto.c
+++ b/drivers/pci/pci_auto.c
@@ -189,8 +189,8 @@ void dm_pciauto_prescan_setup_bridge(struct udevice *dev, int sub_bus)
 
 	/* Configure bus number registers */
 	dm_pci_write_config8(dev, PCI_PRIMARY_BUS,
-			     PCI_BUS(dm_pci_get_bdf(dev)) - ctlr->seq);
-	dm_pci_write_config8(dev, PCI_SECONDARY_BUS, sub_bus - ctlr->seq);
+			     PCI_BUS(dm_pci_get_bdf(dev)) - dev_seq(ctlr));
+	dm_pci_write_config8(dev, PCI_SECONDARY_BUS, sub_bus - dev_seq(ctlr));
 	dm_pci_write_config8(dev, PCI_SUBORDINATE_BUS, 0xff);
 
 	if (pci_mem) {
@@ -265,7 +265,7 @@ void dm_pciauto_postscan_setup_bridge(struct udevice *dev, int sub_bus)
 	pci_io = ctlr_hose->pci_io;
 
 	/* Configure bus number registers */
-	dm_pci_write_config8(dev, PCI_SUBORDINATE_BUS, sub_bus - ctlr->seq);
+	dm_pci_write_config8(dev, PCI_SUBORDINATE_BUS, sub_bus - dev_seq(ctlr));
 
 	if (pci_mem) {
 		/* Round memory allocator to 1MB boundary */
diff --git a/drivers/pci/pcie_dw_mvebu.c b/drivers/pci/pcie_dw_mvebu.c
index c773f8d28d2..8fbc8fb7d0a 100644
--- a/drivers/pci/pcie_dw_mvebu.c
+++ b/drivers/pci/pcie_dw_mvebu.c
@@ -500,13 +500,13 @@ static int pcie_dw_mvebu_probe(struct udevice *dev)
 	debug("PCIE Reset on GPIO support is missing\n");
 #endif /* DM_GPIO */
 
-	pcie->first_busno = dev->seq;
+	pcie->first_busno = dev_seq(dev);
 
 	/* Don't register host if link is down */
 	if (!pcie_dw_mvebu_pcie_link_up(pcie->ctrl_base, LINK_SPEED_GEN_3)) {
-		printf("PCIE-%d: Link down\n", dev->seq);
+		printf("PCIE-%d: Link down\n", dev_seq(dev));
 	} else {
-		printf("PCIE-%d: Link up (Gen%d-x%d, Bus%d)\n", dev->seq,
+		printf("PCIE-%d: Link up (Gen%d-x%d, Bus%d)\n", dev_seq(dev),
 		       pcie_dw_get_link_speed(pcie->ctrl_base),
 		       pcie_dw_get_link_width(pcie->ctrl_base),
 		       hose->first_busno);
diff --git a/drivers/pci/pcie_dw_ti.c b/drivers/pci/pcie_dw_ti.c
index 742dd93633e..e0635e07c21 100644
--- a/drivers/pci/pcie_dw_ti.c
+++ b/drivers/pci/pcie_dw_ti.c
@@ -634,7 +634,7 @@ static int pcie_dw_ti_probe(struct udevice *dev)
 	generic_phy_init(&phy1);
 	generic_phy_power_on(&phy1);
 
-	pci->first_busno = dev->seq;
+	pci->first_busno = dev_seq(dev);
 	pci->dev = dev;
 
 	pcie_dw_setup_host(pci);
@@ -644,11 +644,11 @@ static int pcie_dw_ti_probe(struct udevice *dev)
 		pcie_am654_set_mode(pci, DW_PCIE_RC_TYPE);
 
 	if (!pcie_dw_ti_pcie_link_up(pci, LINK_SPEED_GEN_2)) {
-		printf("PCIE-%d: Link down\n", dev->seq);
+		printf("PCIE-%d: Link down\n", dev_seq(dev));
 		return -ENODEV;
 	}
 
-	printf("PCIE-%d: Link up (Gen%d-x%d, Bus%d)\n", dev->seq,
+	printf("PCIE-%d: Link up (Gen%d-x%d, Bus%d)\n", dev_seq(dev),
 	       pcie_dw_get_link_speed(pci),
 	       pcie_dw_get_link_width(pci),
 	       hose->first_busno);
diff --git a/drivers/pci/pcie_ecam_generic.c b/drivers/pci/pcie_ecam_generic.c
index 890b6a8fb69..96afa4263df 100644
--- a/drivers/pci/pcie_ecam_generic.c
+++ b/drivers/pci/pcie_ecam_generic.c
@@ -146,7 +146,7 @@ static int pci_generic_ecam_probe(struct udevice *dev)
 {
 	struct generic_ecam_pcie *pcie = dev_get_priv(dev);
 
-	pcie->first_busno = dev->seq;
+	pcie->first_busno = dev_seq(dev);
 
 	return 0;
 }
diff --git a/drivers/pci/pcie_fsl.c b/drivers/pci/pcie_fsl.c
index fb50b8f5180..da6a6b15534 100644
--- a/drivers/pci/pcie_fsl.c
+++ b/drivers/pci/pcie_fsl.c
@@ -29,16 +29,16 @@ static int fsl_pcie_addr_valid(struct fsl_pcie *pcie, pci_dev_t bdf)
 	if (!pcie->enabled)
 		return -ENXIO;
 
-	if (PCI_BUS(bdf) < bus->seq)
+	if (PCI_BUS(bdf) < dev_seq(bus))
 		return -EINVAL;
 
-	if (PCI_BUS(bdf) > bus->seq && (!fsl_pcie_link_up(pcie) || pcie->mode))
+	if (PCI_BUS(bdf) > dev_seq(bus) && (!fsl_pcie_link_up(pcie) || pcie->mode))
 		return -EINVAL;
 
-	if (PCI_BUS(bdf) == bus->seq && (PCI_DEV(bdf) > 0 || PCI_FUNC(bdf) > 0))
+	if (PCI_BUS(bdf) == dev_seq(bus) && (PCI_DEV(bdf) > 0 || PCI_FUNC(bdf) > 0))
 		return -EINVAL;
 
-	if (PCI_BUS(bdf) == (bus->seq + 1) && (PCI_DEV(bdf) > 0))
+	if (PCI_BUS(bdf) == (dev_seq(bus) + 1) && (PCI_DEV(bdf) > 0))
 		return -EINVAL;
 
 	return 0;
@@ -57,7 +57,7 @@ static int fsl_pcie_read_config(const struct udevice *bus, pci_dev_t bdf,
 		return 0;
 	}
 
-	bdf = bdf - PCI_BDF(bus->seq, 0, 0);
+	bdf = bdf - PCI_BDF(dev_seq(bus), 0, 0);
 	val = bdf | (offset & 0xfc) | ((offset & 0xf00) << 16) | 0x80000000;
 	out_be32(&regs->cfg_addr, val);
 
@@ -93,7 +93,7 @@ static int fsl_pcie_write_config(struct udevice *bus, pci_dev_t bdf,
 	if (fsl_pcie_addr_valid(pcie, bdf))
 		return 0;
 
-	bdf = bdf - PCI_BDF(bus->seq, 0, 0);
+	bdf = bdf - PCI_BDF(dev_seq(bus), 0, 0);
 	val = bdf | (offset & 0xfc) | ((offset & 0xf00) << 16) | 0x80000000;
 	out_be32(&regs->cfg_addr, val);
 
@@ -123,7 +123,7 @@ static int fsl_pcie_hose_read_config(struct fsl_pcie *pcie, uint offset,
 	int ret;
 	struct udevice *bus = pcie->bus;
 
-	ret = fsl_pcie_read_config(bus, PCI_BDF(bus->seq, 0, 0),
+	ret = fsl_pcie_read_config(bus, PCI_BDF(dev_seq(bus), 0, 0),
 				   offset, valuep, size);
 
 	return ret;
@@ -134,7 +134,7 @@ static int fsl_pcie_hose_write_config(struct fsl_pcie *pcie, uint offset,
 {
 	struct udevice *bus = pcie->bus;
 
-	return fsl_pcie_write_config(bus, PCI_BDF(bus->seq, 0, 0),
+	return fsl_pcie_write_config(bus, PCI_BDF(dev_seq(bus), 0, 0),
 				     offset, value, size);
 }
 
diff --git a/drivers/pci/pcie_intel_fpga.c b/drivers/pci/pcie_intel_fpga.c
index 9f102c64c60..cafb02195f0 100644
--- a/drivers/pci/pcie_intel_fpga.c
+++ b/drivers/pci/pcie_intel_fpga.c
@@ -369,7 +369,7 @@ static int pcie_intel_fpga_probe(struct udevice *dev)
 	struct intel_fpga_pcie *pcie = dev_get_priv(dev);
 
 	pcie->bus = pci_get_controller(dev);
-	pcie->first_busno = dev->seq;
+	pcie->first_busno = dev_seq(dev);
 
 	/* clear all interrupts */
 	cra_writel(pcie, P2A_INT_STS_ALL, P2A_INT_STATUS);
diff --git a/drivers/pci/pcie_layerscape_fixup.c b/drivers/pci/pcie_layerscape_fixup.c
index c75cf26e0a5..a58e7a3892a 100644
--- a/drivers/pci/pcie_layerscape_fixup.c
+++ b/drivers/pci/pcie_layerscape_fixup.c
@@ -479,7 +479,7 @@ static int fdt_fixup_pci_vfs(void *blob, struct extra_iommu_entry *entry,
 	for (bus = dev; device_is_on_pci_bus(bus);)
 		bus = bus->parent;
 
-	bdf = entry->bdf - PCI_BDF(bus->seq, 0, 0) + (vf_offset << 8);
+	bdf = entry->bdf - PCI_BDF(dev_seq(bus), 0, 0) + (vf_offset << 8);
 
 	for (i = 0; i < entry->num_vfs; i++) {
 		if (fdt_fixup_pcie_device_ls(blob, bdf, pcie_rc) < 0)
@@ -518,7 +518,7 @@ static void fdt_fixup_pcie_ls(void *blob)
 		pcie_rc = dev_get_priv(bus);
 
 		/* the DT fixup must be relative to the hose first_busno */
-		bdf = dm_pci_get_bdf(dev) - PCI_BDF(bus->seq, 0, 0);
+		bdf = dm_pci_get_bdf(dev) - PCI_BDF(dev_seq(bus), 0, 0);
 
 		if (fdt_fixup_pcie_device_ls(blob, bdf, pcie_rc) < 0)
 			break;
diff --git a/drivers/pci/pcie_layerscape_gen4.c b/drivers/pci/pcie_layerscape_gen4.c
index 428bfcab09f..d6efdd3ed63 100644
--- a/drivers/pci/pcie_layerscape_gen4.c
+++ b/drivers/pci/pcie_layerscape_gen4.c
@@ -191,13 +191,13 @@ static int ls_pcie_g4_addr_valid(struct ls_pcie_g4 *pcie, pci_dev_t bdf)
 	if (!pcie->enabled)
 		return -ENXIO;
 
-	if (PCI_BUS(bdf) < bus->seq)
+	if (PCI_BUS(bdf) < dev_seq(bus))
 		return -EINVAL;
 
-	if ((PCI_BUS(bdf) > bus->seq) && (!ls_pcie_g4_link_up(pcie)))
+	if ((PCI_BUS(bdf) > dev_seq(bus)) && (!ls_pcie_g4_link_up(pcie)))
 		return -EINVAL;
 
-	if (PCI_BUS(bdf) <= (bus->seq + 1) && (PCI_DEV(bdf) > 0))
+	if (PCI_BUS(bdf) <= (dev_seq(bus) + 1) && (PCI_DEV(bdf) > 0))
 		return -EINVAL;
 
 	return 0;
@@ -209,7 +209,7 @@ void *ls_pcie_g4_conf_address(struct ls_pcie_g4 *pcie, pci_dev_t bdf,
 	struct udevice *bus = pcie->bus;
 	u32 target;
 
-	if (PCI_BUS(bdf) == bus->seq) {
+	if (PCI_BUS(bdf) == dev_seq(bus)) {
 		if (offset < INDIRECT_ADDR_BNDRY) {
 			ccsr_set_page(pcie, 0);
 			return pcie->ccsr + offset;
@@ -219,7 +219,7 @@ void *ls_pcie_g4_conf_address(struct ls_pcie_g4 *pcie, pci_dev_t bdf,
 		return pcie->ccsr + OFFSET_TO_PAGE_ADDR(offset);
 	}
 
-	target = PAB_TARGET_BUS(PCI_BUS(bdf) - bus->seq) |
+	target = PAB_TARGET_BUS(PCI_BUS(bdf) - dev_seq(bus)) |
 		 PAB_TARGET_DEV(PCI_DEV(bdf)) |
 		 PAB_TARGET_FUNC(PCI_FUNC(bdf));
 
diff --git a/drivers/pci/pcie_layerscape_gen4_fixup.c b/drivers/pci/pcie_layerscape_gen4_fixup.c
index 148b5d17ed0..e9ee15558e5 100644
--- a/drivers/pci/pcie_layerscape_gen4_fixup.c
+++ b/drivers/pci/pcie_layerscape_gen4_fixup.c
@@ -166,7 +166,7 @@ static void fdt_fixup_pcie_ls_gen4(void *blob)
 		}
 
 		/* the DT fixup must be relative to the hose first_busno */
-		bdf = dm_pci_get_bdf(dev) - PCI_BDF(bus->seq, 0, 0);
+		bdf = dm_pci_get_bdf(dev) - PCI_BDF(dev_seq(bus), 0, 0);
 		/* map PCI b.d.f to streamID in LUT */
 		ls_pcie_g4_lut_set_mapping(pcie, index, bdf >> 8, streamid);
 		/* update msi-map in device tree */
diff --git a/drivers/pci/pcie_layerscape_rc.c b/drivers/pci/pcie_layerscape_rc.c
index 25c6ddebce0..241acbdc449 100644
--- a/drivers/pci/pcie_layerscape_rc.c
+++ b/drivers/pci/pcie_layerscape_rc.c
@@ -130,13 +130,13 @@ static int ls_pcie_addr_valid(struct ls_pcie_rc *pcie_rc, pci_dev_t bdf)
 	if (!pcie_rc->enabled)
 		return -ENXIO;
 
-	if (PCI_BUS(bdf) < bus->seq)
+	if (PCI_BUS(bdf) < dev_seq(bus))
 		return -EINVAL;
 
-	if ((PCI_BUS(bdf) > bus->seq) && (!ls_pcie_link_up(pcie)))
+	if ((PCI_BUS(bdf) > dev_seq(bus)) && (!ls_pcie_link_up(pcie)))
 		return -EINVAL;
 
-	if (PCI_BUS(bdf) <= (bus->seq + 1) && (PCI_DEV(bdf) > 0))
+	if (PCI_BUS(bdf) <= (dev_seq(bus) + 1) && (PCI_DEV(bdf) > 0))
 		return -EINVAL;
 
 	return 0;
@@ -152,16 +152,16 @@ int ls_pcie_conf_address(const struct udevice *bus, pci_dev_t bdf,
 	if (ls_pcie_addr_valid(pcie_rc, bdf))
 		return -EINVAL;
 
-	if (PCI_BUS(bdf) == bus->seq) {
+	if (PCI_BUS(bdf) == dev_seq(bus)) {
 		*paddress = pcie->dbi + offset;
 		return 0;
 	}
 
-	busdev = PCIE_ATU_BUS(PCI_BUS(bdf) - bus->seq) |
+	busdev = PCIE_ATU_BUS(PCI_BUS(bdf) - dev_seq(bus)) |
 		 PCIE_ATU_DEV(PCI_DEV(bdf)) |
 		 PCIE_ATU_FUNC(PCI_FUNC(bdf));
 
-	if (PCI_BUS(bdf) == bus->seq + 1) {
+	if (PCI_BUS(bdf) == dev_seq(bus) + 1) {
 		ls_pcie_cfg0_set_busdev(pcie_rc, busdev);
 		*paddress = pcie_rc->cfg0 + offset;
 	} else {
diff --git a/drivers/pci/pcie_mediatek.c b/drivers/pci/pcie_mediatek.c
index 55b6a40f254..5bd11661c3c 100644
--- a/drivers/pci/pcie_mediatek.c
+++ b/drivers/pci/pcie_mediatek.c
@@ -261,7 +261,7 @@ static struct mtk_pcie_port *mtk_pcie_find_port(const struct udevice *bus,
 			return NULL;
 		}
 
-		while (dev->parent->seq != 0)
+		while (dev_seq(dev->parent) != 0)
 			dev = dev->parent;
 
 		pplat = dev_get_parent_platdata(dev);
diff --git a/drivers/pci/pcie_rockchip.c b/drivers/pci/pcie_rockchip.c
index 04609f12962..96173b81cc3 100644
--- a/drivers/pci/pcie_rockchip.c
+++ b/drivers/pci/pcie_rockchip.c
@@ -373,7 +373,7 @@ static int rockchip_pcie_init_port(struct udevice *dev)
 	/* Configure Address Translation. */
 	ret = rockchip_pcie_atr_init(priv);
 	if (ret) {
-		dev_err(dev, "PCIE-%d: ATR init failed\n", dev->seq);
+		dev_err(dev, "PCIE-%d: ATR init failed\n", dev_seq(dev));
 		goto err_power_off_phy;
 	}
 
@@ -528,7 +528,7 @@ static int rockchip_pcie_probe(struct udevice *dev)
 	struct pci_controller *hose = dev_get_uclass_priv(ctlr);
 	int ret;
 
-	priv->first_busno = dev->seq;
+	priv->first_busno = dev_seq(dev);
 	priv->dev = dev;
 
 	ret = rockchip_pcie_parse_dt(dev);
@@ -544,7 +544,7 @@ static int rockchip_pcie_probe(struct udevice *dev)
 		return ret;
 
 	dev_info(dev, "PCIE-%d: Link up (Bus%d)\n",
-		 dev->seq, hose->first_busno);
+		 dev_seq(dev), hose->first_busno);
 
 	return 0;
 }
diff --git a/drivers/serial/serial_mcf.c b/drivers/serial/serial_mcf.c
index 402fd5343c1..dee1706a218 100644
--- a/drivers/serial/serial_mcf.c
+++ b/drivers/serial/serial_mcf.c
@@ -85,7 +85,7 @@ static int coldfire_serial_probe(struct udevice *dev)
 {
 	struct coldfire_serial_platdata *plat = dev->platdata;
 
-	plat->port = dev->seq;
+	plat->port = dev_seq(dev);
 
 	return mcf_serial_init_common((uart_t *)plat->base,
 						plat->port, plat->baudrate);
diff --git a/drivers/serial/serial_s5p.c b/drivers/serial/serial_s5p.c
index 9bb2be21e7b..57eb6963b61 100644
--- a/drivers/serial/serial_s5p.c
+++ b/drivers/serial/serial_s5p.c
@@ -187,7 +187,7 @@ static int s5p_serial_ofdata_to_platdata(struct udevice *dev)
 
 	plat->reg = (struct s5p_uart *)addr;
 	plat->port_id = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
-					"id", dev->seq);
+					"id", dev_seq(dev));
 	return 0;
 }
 
diff --git a/drivers/spi/altera_spi.c b/drivers/spi/altera_spi.c
index 61372c52b05..1529002cac1 100644
--- a/drivers/spi/altera_spi.c
+++ b/drivers/spi/altera_spi.c
@@ -98,7 +98,7 @@ static int altera_spi_xfer(struct udevice *dev, unsigned int bitlen,
 	uint32_t reg, data, start;
 
 	debug("%s: bus:%i cs:%i bitlen:%i bytes:%i flags:%lx\n", __func__,
-	      bus->seq, slave_plat->cs, bitlen, bytes, flags);
+	      dev_seq(bus), slave_plat->cs, bitlen, bytes, flags);
 
 	if (bitlen == 0)
 		goto done;
diff --git a/drivers/spi/cf_spi.c b/drivers/spi/cf_spi.c
index 8fa6d351075..8f1c8b8c0fb 100644
--- a/drivers/spi/cf_spi.c
+++ b/drivers/spi/cf_spi.c
@@ -240,7 +240,7 @@ static int coldfire_spi_set_speed(struct udevice *bus, uint max_hz)
 	cfspi->baudrate = max_hz;
 
 	/* Read current setup */
-	bus_setup = readl(&dspi->ctar[bus->seq]);
+	bus_setup = readl(&dspi->ctar[dev_seq(bus)]);
 
 	tmp = (prescaler[3] * scaler[15]);
 	/* Maximum and minimum baudrate it can handle */
@@ -294,7 +294,7 @@ static int coldfire_spi_set_speed(struct udevice *bus, uint max_hz)
 
 	bus_setup &= ~(DSPI_CTAR_PBR(0x03) | DSPI_CTAR_BR(0x0f));
 	bus_setup |= (DSPI_CTAR_PBR(best_i) | DSPI_CTAR_BR(best_j));
-	writel(bus_setup, &dspi->ctar[bus->seq]);
+	writel(bus_setup, &dspi->ctar[dev_seq(bus)]);
 
 	return 0;
 }
@@ -318,7 +318,7 @@ static int coldfire_spi_set_mode(struct udevice *bus, uint mode)
 	if (cfspi->mode & SPI_MODE_MOD) {
 		if ((cfspi->mode & SPI_MODE_XFER_SZ_MASK) == 0)
 			bus_setup |=
-			    readl(&dspi->ctar[bus->seq]) & MCF_FRM_SZ_16BIT;
+			    readl(&dspi->ctar[dev_seq(bus)]) & MCF_FRM_SZ_16BIT;
 		else
 			bus_setup |=
 			    ((cfspi->mode & SPI_MODE_XFER_SZ_MASK) >> 1);
@@ -329,14 +329,14 @@ static int coldfire_spi_set_mode(struct udevice *bus, uint mode)
 		bus_setup |= (cfspi->mode & SPI_MODE_DLY_SCA_MASK) >> 4;
 	} else {
 		bus_setup |=
-			(readl(&dspi->ctar[bus->seq]) & MCF_CTAR_MODE_MASK);
+			(readl(&dspi->ctar[dev_seq(bus)]) & MCF_CTAR_MODE_MASK);
 	}
 
 	cfspi->charbit =
-		((readl(&dspi->ctar[bus->seq]) & MCF_FRM_SZ_16BIT) ==
+		((readl(&dspi->ctar[dev_seq(bus)]) & MCF_FRM_SZ_16BIT) ==
 			MCF_FRM_SZ_16BIT) ? 16 : 8;
 
-	setbits_be32(&dspi->ctar[bus->seq], bus_setup);
+	setbits_be32(&dspi->ctar[dev_seq(bus)], bus_setup);
 
 	return 0;
 }
diff --git a/drivers/spi/fsl_dspi.c b/drivers/spi/fsl_dspi.c
index b22c9b3a09d..71b045e04cb 100644
--- a/drivers/spi/fsl_dspi.c
+++ b/drivers/spi/fsl_dspi.c
@@ -511,7 +511,7 @@ static int fsl_dspi_probe(struct udevice *bus)
 		DSPI_MCR_CRXF | DSPI_MCR_CTXF;
 	fsl_dspi_init_mcr(priv, mcr_cfg_val);
 
-	debug("%s probe done, bus-num %d.\n", bus->name, bus->seq);
+	debug("%s probe done, bus-num %d.\n", bus->name, dev_seq(bus));
 
 	return 0;
 }
@@ -527,7 +527,7 @@ static int fsl_dspi_claim_bus(struct udevice *dev)
 	priv = dev_get_priv(bus);
 
 	/* processor special preparation work */
-	cpu_dspi_claim_bus(bus->seq, slave_plat->cs);
+	cpu_dspi_claim_bus(dev_seq(bus), slave_plat->cs);
 
 	/* configure transfer mode */
 	fsl_dspi_cfg_ctar_mode(priv, slave_plat->cs, priv->mode);
@@ -559,7 +559,7 @@ static int fsl_dspi_release_bus(struct udevice *dev)
 	dspi_halt(priv, 1);
 
 	/* processor special release work */
-	cpu_dspi_release_bus(bus->seq, slave_plat->cs);
+	cpu_dspi_release_bus(dev_seq(bus), slave_plat->cs);
 
 	return 0;
 }
diff --git a/drivers/spi/fsl_espi.c b/drivers/spi/fsl_espi.c
index 5c76fd962e9..5cd6577b85a 100644
--- a/drivers/spi/fsl_espi.c
+++ b/drivers/spi/fsl_espi.c
@@ -527,7 +527,7 @@ static int fsl_espi_probe(struct udevice *bus)
 	fsl->max_transfer_length = ESPI_MAX_DATA_TRANSFER_LEN;
 	fsl->speed_hz = plat->speed_hz;
 
-	debug("%s probe done, bus-num %d.\n", bus->name, bus->seq);
+	debug("%s probe done, bus-num %d.\n", bus->name, dev_seq(bus));
 
 	return 0;
 }
diff --git a/drivers/spi/octeon_spi.c b/drivers/spi/octeon_spi.c
index 7e88e5580f7..249b9690bea 100644
--- a/drivers/spi/octeon_spi.c
+++ b/drivers/spi/octeon_spi.c
@@ -593,7 +593,7 @@ static int octeon_spi_probe(struct udevice *dev)
 	if (ret)
 		return ret;
 
-	debug("SPI bus %s %d at %p\n", dev->name, dev->seq, priv->base);
+	debug("SPI bus %s %d at %p\n", dev->name, dev_seq(dev), priv->base);
 
 	return 0;
 }
diff --git a/drivers/spi/pic32_spi.c b/drivers/spi/pic32_spi.c
index 52e9eff743c..97c2f939c0f 100644
--- a/drivers/spi/pic32_spi.c
+++ b/drivers/spi/pic32_spi.c
@@ -247,7 +247,7 @@ static int pic32_spi_xfer(struct udevice *slave, unsigned int bitlen,
 	slave_plat = dev_get_parent_platdata(slave);
 
 	debug("spi_xfer: bus:%i cs:%i flags:%lx\n",
-	      bus->seq, slave_plat->cs, flags);
+	      dev_seq(bus), slave_plat->cs, flags);
 	debug("msg tx %p, rx %p submitted of %d byte(s)\n",
 	      tx_buf, rx_buf, len);
 
@@ -384,7 +384,7 @@ static int pic32_spi_probe(struct udevice *bus)
 	fdt_size_t size;
 	int ret;
 
-	debug("%s: %d, bus: %i\n", __func__, __LINE__, bus->seq);
+	debug("%s: %d, bus: %i\n", __func__, __LINE__, dev_seq(bus));
 	addr = fdtdec_get_addr_size(gd->fdt_blob, node, "reg", &size);
 	if (addr == FDT_ADDR_T_NONE)
 		return -EINVAL;
diff --git a/drivers/spi/sandbox_spi.c b/drivers/spi/sandbox_spi.c
index 755f1768614..3c780bae71b 100644
--- a/drivers/spi/sandbox_spi.c
+++ b/drivers/spi/sandbox_spi.c
@@ -72,7 +72,7 @@ static int sandbox_spi_xfer(struct udevice *slave, unsigned int bitlen,
 		return -EINVAL;
 	}
 
-	busnum = bus->seq;
+	busnum = dev_seq(bus);
 	cs = spi_chip_select(slave);
 	if (busnum >= CONFIG_SANDBOX_SPI_MAX_BUS ||
 	    cs >= CONFIG_SANDBOX_SPI_MAX_CS) {
diff --git a/drivers/spi/tegra114_spi.c b/drivers/spi/tegra114_spi.c
index 0e8198c5a02..0c99dfde201 100644
--- a/drivers/spi/tegra114_spi.c
+++ b/drivers/spi/tegra114_spi.c
@@ -231,7 +231,7 @@ static int tegra114_spi_xfer(struct udevice *dev, unsigned int bitlen,
 	int ret;
 
 	debug("%s: slave %u:%u dout %p din %p bitlen %u\n",
-	      __func__, bus->seq, spi_chip_select(dev), dout, din, bitlen);
+	      __func__, dev_seq(bus), spi_chip_select(dev), dout, din, bitlen);
 	if (bitlen % 8)
 		return -1;
 	num_bytes = bitlen / 8;
diff --git a/drivers/spi/tegra20_sflash.c b/drivers/spi/tegra20_sflash.c
index 771744dfe43..722a1203462 100644
--- a/drivers/spi/tegra20_sflash.c
+++ b/drivers/spi/tegra20_sflash.c
@@ -217,7 +217,7 @@ static int tegra20_sflash_xfer(struct udevice *dev, unsigned int bitlen,
 	int ret;
 
 	debug("%s: slave %u:%u dout %p din %p bitlen %u\n",
-	      __func__, bus->seq, spi_chip_select(dev), dout, din, bitlen);
+	      __func__, dev_seq(bus), spi_chip_select(dev), dout, din, bitlen);
 	if (bitlen % 8)
 		return -1;
 	num_bytes = bitlen / 8;
diff --git a/drivers/spi/tegra20_slink.c b/drivers/spi/tegra20_slink.c
index f9846ee3665..d051e93c533 100644
--- a/drivers/spi/tegra20_slink.c
+++ b/drivers/spi/tegra20_slink.c
@@ -211,7 +211,7 @@ static int tegra30_spi_xfer(struct udevice *dev, unsigned int bitlen,
 	int ret;
 
 	debug("%s: slave %u:%u dout %p din %p bitlen %u\n",
-	      __func__, bus->seq, spi_chip_select(dev), dout, din, bitlen);
+	      __func__, dev_seq(bus), spi_chip_select(dev), dout, din, bitlen);
 	if (bitlen % 8)
 		return -1;
 	num_bytes = bitlen / 8;
diff --git a/drivers/spi/tegra210_qspi.c b/drivers/spi/tegra210_qspi.c
index ae16b45dcb4..ce08637c711 100644
--- a/drivers/spi/tegra210_qspi.c
+++ b/drivers/spi/tegra210_qspi.c
@@ -223,7 +223,7 @@ static int tegra210_qspi_xfer(struct udevice *dev, unsigned int bitlen,
 	int num_bytes, tm, ret;
 
 	debug("%s: slave %u:%u dout %p din %p bitlen %u\n",
-	      __func__, bus->seq, spi_chip_select(dev), dout, din, bitlen);
+	      __func__, dev_seq(bus), spi_chip_select(dev), dout, din, bitlen);
 	if (bitlen % 8)
 		return -1;
 	num_bytes = bitlen / 8;
diff --git a/drivers/spi/xilinx_spi.c b/drivers/spi/xilinx_spi.c
index 47a5571aecd..5b630073401 100644
--- a/drivers/spi/xilinx_spi.c
+++ b/drivers/spi/xilinx_spi.c
@@ -255,7 +255,7 @@ static int xilinx_spi_xfer(struct udevice *dev, unsigned int bitlen,
 	int ret;
 
 	debug("spi_xfer: bus:%i cs:%i bitlen:%i bytes:%i flags:%lx\n",
-	      bus->seq, slave_plat->cs, bitlen, bytes, flags);
+	      dev_seq(bus), slave_plat->cs, bitlen, bytes, flags);
 
 	if (bitlen == 0)
 		goto done;
diff --git a/drivers/spi/zynq_qspi.c b/drivers/spi/zynq_qspi.c
index f2eddec950a..7e2d4e088ee 100644
--- a/drivers/spi/zynq_qspi.c
+++ b/drivers/spi/zynq_qspi.c
@@ -568,7 +568,7 @@ static int zynq_qspi_xfer(struct udevice *dev, unsigned int bitlen,
 	priv->len = bitlen / 8;
 
 	debug("zynq_qspi_xfer: bus:%i cs:%i bitlen:%i len:%i flags:%lx\n",
-	      bus->seq, slave_plat->cs, bitlen, priv->len, flags);
+	      dev_seq(bus), slave_plat->cs, bitlen, priv->len, flags);
 
 	/*
 	 * Festering sore.
diff --git a/drivers/spi/zynq_spi.c b/drivers/spi/zynq_spi.c
index cb911c34f68..ad7cec86e44 100644
--- a/drivers/spi/zynq_spi.c
+++ b/drivers/spi/zynq_spi.c
@@ -242,7 +242,7 @@ static int zynq_spi_xfer(struct udevice *dev, unsigned int bitlen,
 	u32 ts, status;
 
 	debug("spi_xfer: bus:%i cs:%i bitlen:%i len:%i flags:%lx\n",
-	      bus->seq, slave_plat->cs, bitlen, len, flags);
+	      dev_seq(bus), slave_plat->cs, bitlen, len, flags);
 
 	if (bitlen % 8) {
 		debug("spi_xfer: Non byte aligned SPI transfer\n");
diff --git a/drivers/usb/gadget/max3420_udc.c b/drivers/usb/gadget/max3420_udc.c
index b38b9dc68f7..156bb1ebebd 100644
--- a/drivers/usb/gadget/max3420_udc.c
+++ b/drivers/usb/gadget/max3420_udc.c
@@ -821,7 +821,7 @@ static int max3420_udc_probe(struct udevice *dev)
 	struct max3420_udc *udc = dev_get_priv(dev);
 	struct dm_spi_slave_platdata *slave_pdata;
 	struct udevice *bus = dev->parent;
-	int busnum = bus->seq;
+	int busnum = dev_seq(bus);
 	unsigned int cs;
 	uint speed, mode;
 	struct udevice *spid;
diff --git a/drivers/usb/host/ehci-mx5.c b/drivers/usb/host/ehci-mx5.c
index caafa688993..51377487d4b 100644
--- a/drivers/usb/host/ehci-mx5.c
+++ b/drivers/usb/host/ehci-mx5.c
@@ -321,7 +321,7 @@ static int ehci_usb_probe(struct udevice *dev)
 	mdelay(1);
 
 	priv->ehci = ehci;
-	priv->portnr = dev->seq;
+	priv->portnr = dev_seq(dev);
 	priv->init_type = type;
 
 	ret = device_get_supply_regulator(dev, "vbus-supply",
diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c
index 37b59758bb3..8fa136f4eeb 100644
--- a/drivers/usb/host/ehci-mx6.c
+++ b/drivers/usb/host/ehci-mx6.c
@@ -596,7 +596,7 @@ static int ehci_usb_probe(struct udevice *dev)
 	}
 
 	priv->ehci = ehci;
-	priv->portnr = dev->seq;
+	priv->portnr = dev_seq(dev);
 	priv->init_type = type;
 
 #if CONFIG_IS_ENABLED(DM_REGULATOR)
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index 82b99eeef1e..a2c0caf1bcc 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -383,7 +383,7 @@ static int omap_ehci_probe(struct udevice *dev)
 	struct ehci_hcor *hcor;
 
 	priv->ehci = dev_read_addr_ptr(dev);
-	priv->portnr = dev->seq;
+	priv->portnr = dev_seq(dev);
 	priv->init_type = plat->init_type;
 
 	hccr = (struct ehci_hccr *)&priv->ehci->hccapbase;
diff --git a/drivers/usb/host/ehci-vf.c b/drivers/usb/host/ehci-vf.c
index 2768d409749..92b70ba1b30 100644
--- a/drivers/usb/host/ehci-vf.c
+++ b/drivers/usb/host/ehci-vf.c
@@ -222,7 +222,7 @@ static int vf_usb_ofdata_to_platdata(struct udevice *dev)
 	int node = dev_of_offset(dev);
 	const char *mode;
 
-	priv->portnr = dev->seq;
+	priv->portnr = dev_seq(dev);
 
 	priv->ehci = dev_read_addr_ptr(dev);
 	mode = fdt_getprop(dt_blob, node, "dr_mode", NULL);
diff --git a/drivers/usb/host/usb-sandbox.c b/drivers/usb/host/usb-sandbox.c
index beb62ebc0c2..cc357d9ef40 100644
--- a/drivers/usb/host/usb-sandbox.c
+++ b/drivers/usb/host/usb-sandbox.c
@@ -23,7 +23,7 @@ static void usbmon_trace(struct udevice *bus, ulong pipe,
 	type = (pipe & USB_PIPE_TYPE_MASK) >> USB_PIPE_TYPE_SHIFT;
 	debug("0 0 S %c%c:%d:%03ld:%ld", types[type],
 	      pipe & USB_DIR_IN ? 'i' : 'o',
-	      bus->seq,
+	      dev_seq(bus),
 	      (pipe & USB_PIPE_DEV_MASK) >> USB_PIPE_DEV_SHIFT,
 	      (pipe & USB_PIPE_EP_MASK) >> USB_PIPE_EP_SHIFT);
 	if (setup) {
diff --git a/drivers/usb/host/usb-uclass.c b/drivers/usb/host/usb-uclass.c
index 2f8c9037c12..453c2bbb0b6 100644
--- a/drivers/usb/host/usb-uclass.c
+++ b/drivers/usb/host/usb-uclass.c
@@ -701,7 +701,7 @@ int usb_scan_device(struct udevice *parent, int port,
 			return ret;
 		ret = usb_find_and_bind_driver(parent, &udev->descriptor,
 					       iface,
-					       udev->controller_dev->seq,
+					       dev_seq(udev->controller_dev),
 					       udev->devnum, port, &dev);
 		if (ret)
 			return ret;
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
index 3a07f36ce27..9fa124b3c03 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
@@ -606,9 +606,9 @@ static int vidconsole_post_probe(struct udevice *dev)
 	if (!priv->tab_width_frac)
 		priv->tab_width_frac = VID_TO_POS(priv->x_charsize) * 8;
 
-	if (dev->seq) {
+	if (dev_seq(dev)) {
 		snprintf(sdev->name, sizeof(sdev->name), "vidconsole%d",
-			 dev->seq);
+			 dev_seq(dev));
 	} else {
 		strcpy(sdev->name, "vidconsole");
 	}
diff --git a/drivers/virtio/virtio-uclass.c b/drivers/virtio/virtio-uclass.c
index 2636cbedfe2..53c17429725 100644
--- a/drivers/virtio/virtio-uclass.c
+++ b/drivers/virtio/virtio-uclass.c
@@ -240,7 +240,7 @@ static int virtio_uclass_post_probe(struct udevice *udev)
 	}
 
 	snprintf(dev_name, sizeof(dev_name), "%s#%d",
-		 virtio_drv_name[uc_priv->device], udev->seq);
+		 virtio_drv_name[uc_priv->device], dev_seq(udev));
 	str = strdup(dev_name);
 	if (!str)
 		return -ENOMEM;
diff --git a/drivers/watchdog/ast_wdt.c b/drivers/watchdog/ast_wdt.c
index 9b83d2ad442..c9c4a1fdc5f 100644
--- a/drivers/watchdog/ast_wdt.c
+++ b/drivers/watchdog/ast_wdt.c
@@ -113,7 +113,7 @@ static const struct udevice_id ast_wdt_ids[] = {
 
 static int ast_wdt_probe(struct udevice *dev)
 {
-	debug("%s() wdt%u\n", __func__, dev->seq);
+	debug("%s() wdt%u\n", __func__, dev_seq(dev));
 	ast_wdt_stop(dev);
 
 	return 0;
diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c
index 33f5c351d5b..3455a80228d 100644
--- a/drivers/watchdog/at91sam9_wdt.c
+++ b/drivers/watchdog/at91sam9_wdt.c
@@ -108,7 +108,7 @@ static int at91_wdt_probe(struct udevice *dev)
 	if (!priv->regs)
 		return -EINVAL;
 
-	debug("%s: Probing wdt%u\n", __func__, dev->seq);
+	debug("%s: Probing wdt%u\n", __func__, dev_seq(dev));
 
 	return 0;
 }
diff --git a/drivers/watchdog/cdns_wdt.c b/drivers/watchdog/cdns_wdt.c
index 2abd5524f61..1e703f07f70 100644
--- a/drivers/watchdog/cdns_wdt.c
+++ b/drivers/watchdog/cdns_wdt.c
@@ -223,7 +223,7 @@ static int cdns_wdt_stop(struct udevice *dev)
  */
 static int cdns_wdt_probe(struct udevice *dev)
 {
-	debug("%s: Probing wdt%u\n", __func__, dev->seq);
+	debug("%s: Probing wdt%u\n", __func__, dev_seq(dev));
 
 	return 0;
 }
diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
index 9059a4c6105..8c87b50c5d2 100644
--- a/drivers/watchdog/omap_wdt.c
+++ b/drivers/watchdog/omap_wdt.c
@@ -242,7 +242,7 @@ static int omap3_wdt_probe(struct udevice *dev)
 		return -EINVAL;
 
 	priv->wdt_trgr_pattern = 0x1234;
-	debug("%s: Probing wdt%u\n", __func__, dev->seq);
+	debug("%s: Probing wdt%u\n", __func__, dev_seq(dev));
 	return 0;
 }
 
diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c
index d33e2ac3dc1..c3576916d32 100644
--- a/drivers/watchdog/orion_wdt.c
+++ b/drivers/watchdog/orion_wdt.c
@@ -158,7 +158,7 @@ static int orion_wdt_probe(struct udevice *dev)
 	struct orion_wdt_priv *priv = dev_get_priv(dev);
 	int ret;
 
-	debug("%s: Probing wdt%u\n", __func__, dev->seq);
+	debug("%s: Probing wdt%u\n", __func__, dev_seq(dev));
 	orion_wdt_stop(dev);
 
 	ret = clk_get_by_name(dev, "fixed", &priv->clk);
diff --git a/drivers/watchdog/sbsa_gwdt.c b/drivers/watchdog/sbsa_gwdt.c
index 96285c1a9b4..6136994b041 100644
--- a/drivers/watchdog/sbsa_gwdt.c
+++ b/drivers/watchdog/sbsa_gwdt.c
@@ -88,7 +88,7 @@ static int sbsa_gwdt_expire_now(struct udevice *dev, ulong flags)
 
 static int sbsa_gwdt_probe(struct udevice *dev)
 {
-	debug("%s: Probing wdt%u (sbsa-gwdt)\n", __func__, dev->seq);
+	debug("%s: Probing wdt%u (sbsa-gwdt)\n", __func__, dev_seq(dev));
 
 	return 0;
 }
diff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c
index 23fef2147f8..aaf93d545e4 100644
--- a/drivers/watchdog/sp805_wdt.c
+++ b/drivers/watchdog/sp805_wdt.c
@@ -105,7 +105,7 @@ static int sp805_wdt_expire_now(struct udevice *dev, ulong flags)
 
 static int sp805_wdt_probe(struct udevice *dev)
 {
-	debug("%s: Probing wdt%u (sp805-wdt)\n", __func__, dev->seq);
+	debug("%s: Probing wdt%u (sp805-wdt)\n", __func__, dev_seq(dev));
 
 	return 0;
 }
diff --git a/drivers/watchdog/tangier_wdt.c b/drivers/watchdog/tangier_wdt.c
index 358a9b90fdd..bdc65597dcf 100644
--- a/drivers/watchdog/tangier_wdt.c
+++ b/drivers/watchdog/tangier_wdt.c
@@ -80,7 +80,7 @@ static const struct udevice_id tangier_wdt_ids[] = {
 
 static int tangier_wdt_probe(struct udevice *dev)
 {
-	debug("%s: Probing wdt%u\n", __func__, dev->seq);
+	debug("%s: Probing wdt%u\n", __func__, dev_seq(dev));
 	return 0;
 }
 
diff --git a/drivers/watchdog/xilinx_tb_wdt.c b/drivers/watchdog/xilinx_tb_wdt.c
index ea4311c8ce1..721ccdb0f6d 100644
--- a/drivers/watchdog/xilinx_tb_wdt.c
+++ b/drivers/watchdog/xilinx_tb_wdt.c
@@ -85,7 +85,7 @@ static int xlnx_wdt_start(struct udevice *dev, u64 timeout, ulong flags)
 
 static int xlnx_wdt_probe(struct udevice *dev)
 {
-	debug("%s: Probing wdt%u\n", __func__, dev->seq);
+	debug("%s: Probing wdt%u\n", __func__, dev_seq(dev));
 
 	return 0;
 }
diff --git a/drivers/watchdog/xilinx_wwdt.c b/drivers/watchdog/xilinx_wwdt.c
index d8a585a4830..df55e088bbf 100644
--- a/drivers/watchdog/xilinx_wwdt.c
+++ b/drivers/watchdog/xilinx_wwdt.c
@@ -128,7 +128,7 @@ static int xlnx_wwdt_probe(struct udevice *dev)
 	struct xlnx_wwdt_platdata *platdata = dev_get_platdata(dev);
 	struct xlnx_wwdt_priv *wdt = dev_get_priv(dev);
 
-	dev_dbg(dev, "%s: Probing wdt%u\n", __func__, dev->seq);
+	dev_dbg(dev, "%s: Probing wdt%u\n", __func__, dev_seq(dev));
 
 	ret = regmap_init_mem(dev_ofnode(dev), &wdt->regs);
 	if (ret) {
diff --git a/include/dm/device.h b/include/dm/device.h
index 25a77d08b9d..9a171e523f3 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -182,6 +182,11 @@ static inline bool dev_has_of_node(struct udevice *dev)
 	return ofnode_valid(dev->node);
 }
 
+static inline int dev_seq(const struct udevice *dev)
+{
+	return dev->seq;
+}
+
 /**
  * struct udevice_id - Lists the compatible strings supported by a driver
  * @compatible: Compatible string
diff --git a/include/pci.h b/include/pci.h
index d1ccf6c9636..f8dadf9d5ad 100644
--- a/include/pci.h
+++ b/include/pci.h
@@ -934,7 +934,7 @@ struct dm_pci_ops {
 	 * PCI buses must support reading and writing configuration values
 	 * so that the bus can be scanned and its devices configured.
 	 *
-	 * Normally PCI_BUS(@bdf) is the same as @bus->seq, but not always.
+	 * Normally PCI_BUS(@bdf) is the same as @dev_seq(bus), but not always.
 	 * If bridges exist it is possible to use the top-level bus to
 	 * access a sub-bus. In that case @bus will be the top-level bus
 	 * and PCI_BUS(bdf) will be a different (higher) value
diff --git a/include/spi.h b/include/spi.h
index ef8c1f6692e..e90110dd13c 100644
--- a/include/spi.h
+++ b/include/spi.h
@@ -116,7 +116,7 @@ enum spi_polarity {
  *			claimed.
  * @bus:		ID of the bus that the slave is attached to. For
  *			driver model this is the sequence number of the SPI
- *			bus (bus->seq) so does not need to be stored
+ *			bus (dev_seq(bus)) so does not need to be stored
  * @cs:			ID of the chip select connected to the slave.
  * @mode:		SPI mode to use for this slave (see SPI mode flags)
  * @wordlen:		Size of SPI word in number of bits
diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c
index 8a5c13c4241..2726c5e42fd 100644
--- a/lib/efi_loader/efi_device_path.c
+++ b/lib/efi_loader/efi_device_path.c
@@ -624,7 +624,7 @@ __maybe_unused static void *dp_fill(void *buf, struct udevice *dev)
 				DEVICE_PATH_SUB_TYPE_MSG_SD :
 				DEVICE_PATH_SUB_TYPE_MSG_MMC;
 			sddp->dp.length   = sizeof(*sddp);
-			sddp->slot_number = dev->seq;
+			sddp->slot_number = dev_seq(dev);
 			return &sddp[1];
 			}
 #endif
@@ -677,7 +677,7 @@ __maybe_unused static void *dp_fill(void *buf, struct udevice *dev)
 			DEVICE_PATH_SUB_TYPE_MSG_SD :
 			DEVICE_PATH_SUB_TYPE_MSG_MMC;
 		sddp->dp.length   = sizeof(*sddp);
-		sddp->slot_number = dev->seq;
+		sddp->slot_number = dev_seq(dev);
 
 		return &sddp[1];
 	}
diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index e14695c0f16..e6a3cd1ee6a 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -137,7 +137,7 @@ struct udevice *eth_get_dev_by_name(const char *devname)
 			continue;
 		/* Check for the name or the sequence number to match */
 		if (strcmp(it->name, devname) == 0 ||
-		    (endp > startp && it->seq == seq))
+		    (endp > startp && dev_seq(it) == seq))
 			return it;
 	}
 
@@ -189,7 +189,7 @@ void eth_halt_state_only(void)
 int eth_get_dev_index(void)
 {
 	if (eth_get_dev())
-		return eth_get_dev()->seq;
+		return dev_seq(eth_get_dev());
 	return -1;
 }
 
@@ -202,7 +202,7 @@ static int eth_write_hwaddr(struct udevice *dev)
 		return -EINVAL;
 
 	/* seq is valid since the device is active */
-	if (eth_get_ops(dev)->write_hwaddr && !eth_mac_skip(dev->seq)) {
+	if (eth_get_ops(dev)->write_hwaddr && !eth_mac_skip(dev_seq(dev))) {
 		pdata = dev->platdata;
 		if (!is_valid_ethaddr(pdata->enetaddr)) {
 			printf("\nError: %s address %pM illegal value\n",
@@ -434,11 +434,11 @@ int eth_initialize(void)
 
 		bootstage_mark(BOOTSTAGE_ID_NET_ETH_INIT);
 		do {
-			if (dev->seq != -1) {
+			if (dev_seq(dev) != -1) {
 				if (num_devices)
 					printf(", ");
 
-				printf("eth%d: %s", dev->seq, dev->name);
+				printf("eth%d: %s", dev_seq(dev), dev->name);
 
 				if (ethprime && dev == prime_dev)
 					printf(" [PRIME]");
@@ -446,7 +446,7 @@ int eth_initialize(void)
 
 			eth_write_hwaddr(dev);
 
-			if (dev->seq != -1)
+			if (dev_seq(dev) != -1)
 				num_devices++;
 			uclass_next_device_check(&dev);
 		} while (dev);
@@ -547,7 +547,7 @@ static int eth_post_probe(struct udevice *dev)
 			eth_get_ops(dev)->read_rom_hwaddr(dev);
 	}
 
-	eth_env_get_enetaddr_by_index("eth", dev->seq, env_enetaddr);
+	eth_env_get_enetaddr_by_index("eth", dev_seq(dev), env_enetaddr);
 	if (!is_zero_ethaddr(env_enetaddr)) {
 		if (!is_zero_ethaddr(pdata->enetaddr) &&
 		    memcmp(pdata->enetaddr, env_enetaddr, ARP_HLEN)) {
@@ -562,13 +562,14 @@ static int eth_post_probe(struct udevice *dev)
 		/* Override the ROM MAC address */
 		memcpy(pdata->enetaddr, env_enetaddr, ARP_HLEN);
 	} else if (is_valid_ethaddr(pdata->enetaddr)) {
-		eth_env_set_enetaddr_by_index("eth", dev->seq, pdata->enetaddr);
+		eth_env_set_enetaddr_by_index("eth", dev_seq(dev),
+					      pdata->enetaddr);
 	} else if (is_zero_ethaddr(pdata->enetaddr) ||
 		   !is_valid_ethaddr(pdata->enetaddr)) {
 #ifdef CONFIG_NET_RANDOM_ETHADDR
 		net_random_ethaddr(pdata->enetaddr);
 		printf("\nWarning: %s (eth%d) using random MAC address - %pM\n",
-		       dev->name, dev->seq, pdata->enetaddr);
+		       dev->name, dev_seq(dev), pdata->enetaddr);
 #else
 		printf("\nError: %s address not set.\n",
 		       dev->name);
-- 
2.29.2.576.ga3fc446d84-goog

  parent reply	other threads:[~2020-12-11  1:31 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-11  1:31 [PATCH v2 00/26] dm: Change the way sequence numbers are implemented Simon Glass
2020-12-11  1:31 ` [PATCH v2 01/26] linker_lists: Fix alignment issue Simon Glass
2020-12-11  1:31 ` Simon Glass [this message]
2020-12-11  1:31 ` [PATCH v2 03/26] dm: core: Update uclass_find_next_free_req_seq() args Simon Glass
2020-12-11  1:31 ` [PATCH v2 04/26] dm: core: Add a new sequence number for devices Simon Glass
2020-12-11  1:31 ` [PATCH v2 05/26] dm: test: Check all devices have a sequence numbers Simon Glass
2020-12-11  1:31 ` [PATCH v2 06/26] dm: core: Switch binding to use new " Simon Glass
2020-12-11  1:31 ` [PATCH v2 07/26] dm: Fix return value in dev_read_alias_seq() Simon Glass
2020-12-11  1:31 ` [PATCH v2 08/26] dm: test: Drop assumptions of no sequence numbers Simon Glass
2020-12-11  1:31 ` [PATCH v2 09/26] octeon: Don't attempt to set the sequence number Simon Glass
2020-12-11  1:31 ` [PATCH v2 10/26] i2c: Update for new sequence numbers Simon Glass
2020-12-11  1:31 ` [PATCH v2 11/26] net: Update to use " Simon Glass
2020-12-11  1:31 ` [PATCH v2 12/26] pci: " Simon Glass
2020-12-11  1:31 ` [PATCH v2 13/26] spi: Update for " Simon Glass
2020-12-11  1:31 ` [PATCH v2 14/26] usb: ehci-mx6: Drop assignment of sequence number Simon Glass
2020-12-11  1:31 ` [PATCH v2 15/26] usb: Update for new sequence numbers Simon Glass
2020-12-11  1:31 ` [PATCH v2 16/26] x86: Drop unnecessary mp_init logic Simon Glass
2020-12-11  1:31 ` [PATCH v2 17/26] x86: Simplify acpi_device_infer_name() Simon Glass
2020-12-11  1:31 ` [PATCH v2 18/26] gpio: Update for new sequence numbers Simon Glass
2020-12-11  1:31 ` [PATCH v2 19/26] pinctrl: " Simon Glass
2020-12-11  1:31 ` [PATCH v2 20/26] dm: Switch over to use new sequence number for dev_seq() Simon Glass
2020-12-11  1:31 ` [PATCH v2 21/26] dm: Drop uclass_resolve_seq() Simon Glass
2020-12-11  1:31 ` [PATCH v2 22/26] dm: Drop the unused arg in uclass_find_device_by_seq() Simon Glass
2020-12-11  1:31 ` [PATCH v2 23/26] dm: core: Update uclass_find_next_free_req_seq() for new scheme Simon Glass
2020-12-11  1:31 ` [PATCH v2 24/26] cmd: Drop use of old sequence numbers in commands Simon Glass
2020-12-11  1:31 ` [PATCH v2 25/26] dm: core: Drop seq and req_seq Simon Glass
2020-12-11  1:31 ` [PATCH v2 26/26] dm: Update documentation for new sequence numbers Simon Glass
2020-12-11  8:55 ` [PATCH v2 00/26] dm: Change the way sequence numbers are implemented Michael Walle
2020-12-12 15:39   ` Simon Glass
2020-12-12 17:53     ` Michael Walle
2020-12-12 18:38       ` Simon Glass
2020-12-15  4:28         ` Simon Glass
2020-12-15  8:58           ` Michael Walle
2020-12-15 16:50             ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201210183140.v2.2.I6e939465f1a75ac2e7daaafdea5fbf6fb06050f2@changeid \
    --to=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.