Lines Matching refs:curr
59 const char **curr) in parse_str() argument
64 s = strchr(*curr, ','); in parse_str()
72 if (strcmp(*curr, v[i].name) == 0) { in parse_str()
74 *curr = s; in parse_str()
79 pr_warn("Invalid hotmod %s '%s'\n", name, *curr); in parse_str()
83 static int check_hotmod_int_op(const char *curr, const char *option, in check_hotmod_int_op() argument
88 if (strcmp(curr, name) == 0) { in check_hotmod_int_op()
90 pr_warn("No option given for '%s'\n", curr); in check_hotmod_int_op()
95 pr_warn("Bad option given for '%s'\n", curr); in check_hotmod_int_op()
103 static int parse_hotmod_str(const char *curr, enum hotmod_op *op, in parse_hotmod_str() argument
111 rv = parse_str(hotmod_ops, &ival, "operation", &curr); in parse_hotmod_str()
116 rv = parse_str(hotmod_si, &ival, "interface type", &curr); in parse_hotmod_str()
121 rv = parse_str(hotmod_as, &ival, "address space", &curr); in parse_hotmod_str()
126 s = strchr(curr, ','); in parse_hotmod_str()
131 rv = kstrtoul(curr, 0, &h->addr); in parse_hotmod_str()
133 pr_warn("Invalid hotmod address '%s': %d\n", curr, rv); in parse_hotmod_str()
138 curr = s; in parse_hotmod_str()
139 s = strchr(curr, ','); in parse_hotmod_str()
144 o = strchr(curr, '='); in parse_hotmod_str()
149 rv = check_hotmod_int_op(curr, o, "rsp", &h->regspacing); in parse_hotmod_str()
154 rv = check_hotmod_int_op(curr, o, "rsi", &h->regsize); in parse_hotmod_str()
159 rv = check_hotmod_int_op(curr, o, "rsh", &h->regshift); in parse_hotmod_str()
164 rv = check_hotmod_int_op(curr, o, "irq", &h->irq); in parse_hotmod_str()
169 rv = check_hotmod_int_op(curr, o, "ipmb", &h->slave_addr); in parse_hotmod_str()
175 pr_warn("Invalid hotmod option '%s'\n", curr); in parse_hotmod_str()
189 char *str, *curr, *next; in hotmod_handler() local
196 for (curr = strstrip(str); curr; curr = next) { in hotmod_handler()
199 next = strchr(curr, ':'); in hotmod_handler()
206 rv = parse_hotmod_str(curr, &op, &h); in hotmod_handler()