diff options
author | Simon Glass <sjg@chromium.org> | 2015-01-25 08:27:05 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-01-29 17:09:55 -0700 |
commit | 9cc36a2b89ebe5148d69d521745c1e1d26365c3a (patch) | |
tree | b7c92e1a8f9f9a2a87c3fd12735ff5bc3d5a502d /include/dm/uclass.h | |
parent | b367053102e597eb21b0a5e86c63e8d10f368cb0 (diff) | |
download | u-boot-imx-9cc36a2b89ebe5148d69d521745c1e1d26365c3a.zip u-boot-imx-9cc36a2b89ebe5148d69d521745c1e1d26365c3a.tar.gz u-boot-imx-9cc36a2b89ebe5148d69d521745c1e1d26365c3a.tar.bz2 |
dm: core: Add a flag to control sequence numbering
At present we try to use the 'reg' property and device tree aliases to give
devices a sequence number. The 'reg' property is often actually a memory
address, so the sequence numbers thus-obtained are not useful. It would be
better if the devices were just sequentially numbered in that case. In fact
neither I2C nor SPI use this feature, so drop it.
Some devices need us to look up an alias to number them within the uclass.
Add a flag to control this, so it is not done unless it is needed.
Adjust the tests to test this new behaviour.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Diffstat (limited to 'include/dm/uclass.h')
-rw-r--r-- | include/dm/uclass.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/dm/uclass.h b/include/dm/uclass.h index 7d92d34..9000b22 100644 --- a/include/dm/uclass.h +++ b/include/dm/uclass.h @@ -40,6 +40,9 @@ struct uclass { struct udevice; +/* Members of this uclass sequence themselves with aliases */ +#define DM_UC_FLAG_SEQ_ALIAS (1 << 0) + /** * struct uclass_driver - Driver for the uclass * @@ -66,6 +69,7 @@ struct udevice; * a falback if this member is 0 in the driver. * @ops: Uclass operations, providing the consistent interface to devices * within the uclass. + * @flags: Flags for this uclass (DM_UC_...) */ struct uclass_driver { const char *name; @@ -80,6 +84,7 @@ struct uclass_driver { int per_device_auto_alloc_size; int per_child_platdata_auto_alloc_size; const void *ops; + uint32_t flags; }; /* Declare a new uclass_driver */ |