diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/dm/uclass-internal.h | 14 | ||||
-rw-r--r-- | include/dm/uclass.h | 8 |
2 files changed, 22 insertions, 0 deletions
diff --git a/include/dm/uclass-internal.h b/include/dm/uclass-internal.h index 3e052f95d32..c5a464be7c4 100644 --- a/include/dm/uclass-internal.h +++ b/include/dm/uclass-internal.h @@ -12,6 +12,20 @@ #include <dm/ofnode.h> /** + * uclass_set_priv() - Set the private data for a uclass + * + * This is normally handled by driver model, which automatically allocates + * private data when an 'auto' size if provided by the uclass driver. + * + * Use this function to override normal operation for special situations, such + * as needing to allocate a variable amount of data. + * + * @uc Uclass to update + * @priv New private-data pointer + */ +void uclass_set_priv(struct uclass *uc, void *priv); + +/** * uclass_find_next_free_seq() - Get the next free sequence number * * This returns the next free sequence number. This is useful only if diff --git a/include/dm/uclass.h b/include/dm/uclass.h index fde08fe157a..20d4b9e6832 100644 --- a/include/dm/uclass.h +++ b/include/dm/uclass.h @@ -115,6 +115,14 @@ struct uclass_driver { ll_entry_declare(struct uclass_driver, __name, uclass_driver) /** + * uclass_get_priv() - Get the private data for a uclass + * + * @uc Uclass to check + * @return private data, or NULL if none + */ +void *uclass_get_priv(const struct uclass *uc); + +/** * uclass_get() - Get a uclass based on an ID, creating it if needed * * Every uclass is identified by an ID, a number from 0 to n-1 where n is |