mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
stm class: dummy_stm: Add link callback for fault injection
STM device's link callback has the power to abort master/channel
assignment by returning a negative error code. Use this in dummy
stm device to optionally abort assigning certain channel IDs.
This is useful as fault injection into the stm class core, for
testing purposes.
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit adcde635f5)
This commit is contained in:
committed by
Mathieu Poirier
parent
d3b187f9c7
commit
a2fc3f7248
@@ -50,6 +50,19 @@ module_param(nr_dummies, int, 0600);
|
||||
|
||||
static unsigned int dummy_stm_nr;
|
||||
|
||||
static unsigned int fail_mode;
|
||||
|
||||
module_param(fail_mode, int, 0600);
|
||||
|
||||
static int dummy_stm_link(struct stm_data *data, unsigned int master,
|
||||
unsigned int channel)
|
||||
{
|
||||
if (fail_mode && (channel & fail_mode))
|
||||
return -EINVAL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dummy_stm_init(void)
|
||||
{
|
||||
int i, ret = -ENOMEM, __nr_dummies = ACCESS_ONCE(nr_dummies);
|
||||
@@ -66,6 +79,7 @@ static int dummy_stm_init(void)
|
||||
dummy_stm[i].sw_end = 0xffff;
|
||||
dummy_stm[i].sw_nchannels = 0xffff;
|
||||
dummy_stm[i].packet = dummy_stm_packet;
|
||||
dummy_stm[i].link = dummy_stm_link;
|
||||
|
||||
ret = stm_register_device(NULL, &dummy_stm[i], THIS_MODULE);
|
||||
if (ret)
|
||||
|
||||
Reference in New Issue
Block a user