static ssize_t hifi_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("diwe", 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; } g_om_data.debug_level = hifi_get_debug_level_num(level_str[0]); return size; }
static ssize_t hifi_debug_level_store(struct file *file, const char *buf, size_t size, loff_t *data) { BUG_ON(NULL == buf); 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.debug_level = hifi_get_debug_level_num(*buf); return size; }