Revert "module_interface: remove module_id"

This reverts commit 0f6e3b2ed4.
This commit is contained in:
Liam Girdwood 2022-01-21 12:01:42 +00:00
parent 975ea52ae1
commit b54ec4bdbf
2 changed files with 28 additions and 20 deletions

View File

@ -96,6 +96,7 @@ int module_init(struct comp_dev *dev, struct module_interface *interface)
{
int ret;
struct processing_module *mod = comp_get_drvdata(dev);
uint32_t module_id = mod->ca_config.module_id;
struct module_data *md = &mod->priv;
comp_info(dev, "module_init() start");
@ -105,16 +106,18 @@ int module_init(struct comp_dev *dev, struct module_interface *interface)
if (mod->priv.state > MODULE_INITIALIZED)
return -EPERM;
md->id = module_id;
if (!interface) {
comp_err(dev, "module_init(): could not find module interface for comp %d",
dev_comp_id(dev));
comp_err(dev, "module_init(): could not find module interface for module id %x",
module_id);
return -EIO;
}
if (!interface->init || !interface->prepare || !interface->process ||
!interface->apply_config || !interface->reset || !interface->free) {
comp_err(dev, "module_init(): comp %d is missing mandatory interfaces",
dev_comp_id(dev));
comp_err(dev, "module_init(): module %x is missing mandatory interfaces",
module_id);
return -EIO;
}
@ -126,8 +129,8 @@ int module_init(struct comp_dev *dev, struct module_interface *interface)
/* Now we can proceed with module specific initialization */
ret = md->ops->init(dev);
if (ret) {
comp_err(dev, "module_init() error %d: module specific init failed, comp %d",
ret, dev_comp_id(dev));
comp_err(dev, "module_init() error %d: module specific init failed, module_id %x",
ret, module_id);
return ret;
}
@ -163,8 +166,8 @@ void *module_allocate_memory(struct comp_dev *dev, uint32_t size, uint32_t align
ptr = rballoc(0, SOF_MEM_CAPS_RAM, size);
if (!ptr) {
comp_err(dev, "module_allocate_memory: failed to allocate memory for comp %x.",
dev_comp_id(dev));
comp_err(dev, "module_allocate_memory: failed to allocate memory for module %x.",
mod->ca_config.module_id);
return NULL;
}
/* Store reference to allocated memory */
@ -211,6 +214,7 @@ int module_prepare(struct comp_dev *dev)
{
int ret;
struct processing_module *mod = comp_get_drvdata(dev);
uint32_t module_id = mod->ca_config.module_id;
struct module_data *md = &mod->priv;
comp_dbg(dev, "module_prepare() start");
@ -222,8 +226,8 @@ int module_prepare(struct comp_dev *dev)
ret = md->ops->prepare(dev);
if (ret) {
comp_err(dev, "module_prepare() error %d: module specific prepare failed, comp_id %d",
ret, dev_comp_id(dev));
comp_err(dev, "module_prepare() error %d: module specific prepare failed, module_id 0x%x",
ret, module_id);
return ret;
}
@ -249,13 +253,14 @@ int module_process(struct comp_dev *dev)
int ret;
struct processing_module *mod = comp_get_drvdata(dev);
uint32_t module_id = mod->ca_config.module_id;
struct module_data *md = &mod->priv;
comp_dbg(dev, "module_process() start");
if (md->state != MODULE_IDLE) {
comp_err(dev, "module_process(): wrong state of comp_id %x, state %d",
dev_comp_id(dev), md->state);
comp_err(dev, "module_process(): wrong state of module %x, state %d",
mod->ca_config.module_id, md->state);
return -EPERM;
}
@ -264,8 +269,8 @@ int module_process(struct comp_dev *dev)
ret = md->ops->process(dev);
if (ret)
comp_err(dev, "module_process() error %d: for comp %d",
ret, dev_comp_id(dev));
comp_err(dev, "module_process() error %d: for module_id %x",
ret, module_id);
else
comp_dbg(dev, "module_process() done");
@ -278,14 +283,15 @@ int module_apply_runtime_config(struct comp_dev *dev)
{
int ret;
struct processing_module *mod = comp_get_drvdata(dev);
uint32_t module_id = mod->ca_config.module_id;
struct module_data *md = &mod->priv;
comp_dbg(dev, "module_apply_config() start");
ret = md->ops->apply_config(dev);
if (ret) {
comp_err(dev, "module_apply_config() error %d: for comp %x",
ret, dev_comp_id(dev));
comp_err(dev, "module_apply_config() error %d: for module_id %x",
ret, module_id);
return ret;
}
@ -307,8 +313,8 @@ int module_reset(struct comp_dev *dev)
ret = md->ops->reset(dev);
if (ret) {
comp_err(dev, "module_reset() error %d: module specific reset() failed for comp %d",
ret, dev_comp_id(dev));
comp_err(dev, "module_reset() error %d: module specific reset() failed for module_id %x",
ret, mod->ca_config.module_id);
return ret;
}
@ -348,8 +354,8 @@ int module_free(struct comp_dev *dev)
ret = md->ops->free(dev);
if (ret)
comp_warn(dev, "module_free(): error: %d for %d",
ret, dev_comp_id(dev));
comp_warn(dev, "module_free(): error: %d for module_id %x",
ret, mod->ca_config.module_id);
/* Free all memory requested by module */
module_free_all_memory(dev);

View File

@ -129,6 +129,7 @@ enum module_state {
/** codec adapter setup config parameters */
struct ca_config {
uint32_t module_id;
uint32_t reserved;
uint32_t sample_rate;
uint32_t sample_width;
@ -189,6 +190,7 @@ struct module_processing_data {
/** private, runtime module data */
struct module_data {
uint32_t id;
enum module_state state;
void *private; /**< self object, memory tables etc here */
void *runtime_params;