aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/core/device.c2
-rw-r--r--include/dm/uclass.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/core/device.c b/drivers/core/device.c
index 1e681333d35..d2cf05c8c44 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -103,7 +103,7 @@ static int device_bind_common(struct udevice *parent, const struct driver *drv,
dev->req_seq = uclass_find_next_free_req_seq(uc);
}
}
- if (auto_seq)
+ if (auto_seq && !(uc->uc_drv->flags & DM_UC_FLAG_NO_AUTO_SEQ))
dev->sqq = uclass_find_next_free_req_seq(uc);
if (drv->plat_auto) {
diff --git a/include/dm/uclass.h b/include/dm/uclass.h
index 068e8ea8bf7..c4cd58349ed 100644
--- a/include/dm/uclass.h
+++ b/include/dm/uclass.h
@@ -44,6 +44,9 @@ struct udevice;
/* Members of this uclass sequence themselves with aliases */
#define DM_UC_FLAG_SEQ_ALIAS (1 << 0)
+/* Members of this uclass without aliases don't get a sequence number */
+#define DM_UC_FLAG_NO_AUTO_SEQ (1 << 1)
+
/* Same as DM_FLAG_ALLOC_PRIV_DMA */
#define DM_UC_FLAG_ALLOC_PRIV_DMA (1 << 5)