forked from len0rd/rockbox
rbcodec dsp: Refactor DSP init routines, restore INIT_ATTR
Refactor DSP init routines so there is a dedicated init function for the stages that need it. Remove the DSP_INIT configure message. This allows the init code to be safely marked INIT_ATTR, saving a bit of code size, and allowing the linker to verify that there are no unsafe references to the init routines. Change-Id: I1702f0f579bbb300a6fe7d0e67b13aa2e9dd7f8a
This commit is contained in:
parent
34a092a997
commit
6e794c9a2d
10 changed files with 62 additions and 35 deletions
|
@ -36,6 +36,13 @@ static void format_change_set(struct sample_io_data *this)
|
|||
this->format_dirty = 1;
|
||||
}
|
||||
|
||||
void dsp_sample_io_init(struct sample_io_data *this, unsigned int dsp_id)
|
||||
{
|
||||
this->output_sampr = DSP_OUT_DEFAULT_HZ;
|
||||
dsp_sample_input_init(this, dsp_id);
|
||||
dsp_sample_output_init(this);
|
||||
}
|
||||
|
||||
bool dsp_sample_io_configure(struct sample_io_data *this,
|
||||
unsigned int setting,
|
||||
intptr_t *value_p)
|
||||
|
@ -44,12 +51,6 @@ bool dsp_sample_io_configure(struct sample_io_data *this,
|
|||
|
||||
switch (setting)
|
||||
{
|
||||
case DSP_INIT:
|
||||
this->output_sampr = DSP_OUT_DEFAULT_HZ;
|
||||
dsp_sample_input_init(this, value);
|
||||
dsp_sample_output_init(this);
|
||||
break;
|
||||
|
||||
case DSP_RESET:
|
||||
/* Reset all sample descriptions to default */
|
||||
format_change_set(this);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue