mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-16 12:11:32 +00:00
remoteproc: Allow for individual remoteproc initialization
Existing rproc_init() api tries to initialize all available remoteproc devices. This will fail when there is dependency among available remoteprocs. So introduce a separate api that allows to initialize remoteprocs individually based on id. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
This commit is contained in:
parent
880274192c
commit
81ae6e6d00
2 changed files with 28 additions and 0 deletions
|
@ -272,6 +272,25 @@ int rproc_init(void)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int rproc_dev_init(int id)
|
||||
{
|
||||
struct udevice *dev = NULL;
|
||||
int ret;
|
||||
|
||||
ret = uclass_get_device_by_seq(UCLASS_REMOTEPROC, id, &dev);
|
||||
if (ret) {
|
||||
debug("Unknown remote processor id '%d' requested(%d)\n",
|
||||
id, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = device_probe(dev);
|
||||
if (ret)
|
||||
debug("%s: Failed to initialize - %d\n", dev->name, ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int rproc_load(int id, ulong addr, ulong size)
|
||||
{
|
||||
struct udevice *dev = NULL;
|
||||
|
|
|
@ -85,6 +85,14 @@ struct dm_rproc_ops {
|
|||
*/
|
||||
int rproc_init(void);
|
||||
|
||||
/**
|
||||
* rproc_dev_init() - Initialize a remote proc device based on id
|
||||
* @id: id of the remote processor
|
||||
*
|
||||
* Return: 0 if all ok, else appropriate error value.
|
||||
*/
|
||||
int rproc_dev_init(int id);
|
||||
|
||||
/**
|
||||
* rproc_is_initialized() - check to see if remoteproc devices are initialized
|
||||
*
|
||||
|
@ -150,6 +158,7 @@ int rproc_ping(int id);
|
|||
int rproc_is_running(int id);
|
||||
#else
|
||||
static inline int rproc_init(void) { return -ENOSYS; }
|
||||
static inline int rproc_dev_init(int id) { return -ENOSYS; }
|
||||
static inline bool rproc_is_initialized(void) { return false; }
|
||||
static inline int rproc_load(int id, ulong addr, ulong size) { return -ENOSYS; }
|
||||
static inline int rproc_start(int id) { return -ENOSYS; }
|
||||
|
|
Loading…
Add table
Reference in a new issue