dm: core: Add function to access uclass priv
Add functions so this information is not accessed directly. This will be needed for of-platdata which stores it in a different place. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
c238eeebc9
commit
806473933a
3 changed files with 32 additions and 0 deletions
|
@ -160,6 +160,16 @@ const char *uclass_get_name(enum uclass_id id)
|
||||||
return uc->uc_drv->name;
|
return uc->uc_drv->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *uclass_get_priv(const struct uclass *uc)
|
||||||
|
{
|
||||||
|
return uc->priv;
|
||||||
|
}
|
||||||
|
|
||||||
|
void uclass_set_priv(struct uclass *uc, void *priv)
|
||||||
|
{
|
||||||
|
uc->priv = priv;
|
||||||
|
}
|
||||||
|
|
||||||
enum uclass_id uclass_get_by_name(const char *name)
|
enum uclass_id uclass_get_by_name(const char *name)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -11,6 +11,20 @@
|
||||||
|
|
||||||
#include <dm/ofnode.h>
|
#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
|
* uclass_find_next_free_seq() - Get the next free sequence number
|
||||||
*
|
*
|
||||||
|
|
|
@ -114,6 +114,14 @@ struct uclass_driver {
|
||||||
#define UCLASS_DRIVER(__name) \
|
#define UCLASS_DRIVER(__name) \
|
||||||
ll_entry_declare(struct uclass_driver, __name, 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
|
* uclass_get() - Get a uclass based on an ID, creating it if needed
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue