static ssize_t hifi_dsp_debug_level_store(struct file *file, const char __user *buf, size_t size, loff_t *data) { ssize_t ret = 0; char level_str[MAX_LEVEL_STR_LEN] = {0}; loff_t pos = 0; if (NULL == buf) { loge("Input param buf is invalid\n"); return -EINVAL; } ret = simple_write_to_buffer(level_str, MAX_LEVEL_STR_LEN - 1 , &pos, buf, size); if (ret != size) { loge("Input param buf read error, return value: %zd\n", ret); return -EINVAL; } if (!strchr("kdiwe", level_str[0])) { loge("Input param buf is error(valid: d,i,w,e): %s.\n", level_str); return -EINVAL; } if (level_str[1] != '\n') { loge("Input param buf is error, last char is not \\n .\n"); return -EINVAL; } if (strchr("k", level_str[0])) { hifi_kill_dsp(); return size; } g_om_data.dsp_debug_level = hifi_get_debug_level_num(level_str[0]); hifi_set_dsp_debug_level(g_om_data.dsp_debug_level); return size; }
static ssize_t hifi_dsp_debug_level_store(struct file *file, const char *buf, size_t size, loff_t *data) { BUG_ON(NULL == buf); if ((!*buf) || (strchr("k", *buf))) { loge("go to kill hifi.\n"); hifi_kill_dsp(); return -EINVAL; } if ((!*buf) || (!strchr("diwe", *buf))) { loge("Input param buf is error(valid: d,i,w,e): %s.\n", buf); return -EINVAL; } if (*(buf + 1) != '\n') { loge("Input param buf is error, last char is not \\n .\n"); return -EINVAL; } g_om_data.dsp_debug_level = hifi_get_debug_level_num(*buf); hifi_set_dsp_debug_level(g_om_data.dsp_debug_level); return size; }