Lines Matching refs:curr
57 char **curr) in parse_str() argument
62 s = strchr(*curr, ','); in parse_str()
70 if (strcmp(*curr, v[i].name) == 0) { in parse_str()
72 *curr = s; in parse_str()
77 pr_warn(PFX "Invalid hotmod %s '%s'\n", name, *curr); in parse_str()
81 static int check_hotmod_int_op(const char *curr, const char *option, in check_hotmod_int_op() argument
86 if (strcmp(curr, name) == 0) { in check_hotmod_int_op()
88 pr_warn(PFX "No option given for '%s'\n", curr); in check_hotmod_int_op()
93 pr_warn(PFX "Bad option given for '%s'\n", curr); in check_hotmod_int_op()
105 char *next, *curr, *s, *n, *o; in hotmod_handler() local
129 for (curr = str; curr; curr = next) { in hotmod_handler()
136 next = strchr(curr, ':'); in hotmod_handler()
142 rv = parse_str(hotmod_ops, &ival, "operation", &curr); in hotmod_handler()
147 rv = parse_str(hotmod_si, &ival, "interface type", &curr); in hotmod_handler()
152 rv = parse_str(hotmod_as, &addr_space, "address space", &curr); in hotmod_handler()
156 s = strchr(curr, ','); in hotmod_handler()
161 addr = simple_strtoul(curr, &n, 0); in hotmod_handler()
162 if ((*n != '\0') || (*curr == '\0')) { in hotmod_handler()
163 pr_warn(PFX "Invalid hotmod address '%s'\n", curr); in hotmod_handler()
168 curr = s; in hotmod_handler()
169 s = strchr(curr, ','); in hotmod_handler()
174 o = strchr(curr, '='); in hotmod_handler()
179 rv = check_hotmod_int_op(curr, o, "rsp", ®spacing); in hotmod_handler()
184 rv = check_hotmod_int_op(curr, o, "rsi", ®size); in hotmod_handler()
189 rv = check_hotmod_int_op(curr, o, "rsh", ®shift); in hotmod_handler()
194 rv = check_hotmod_int_op(curr, o, "irq", &irq); in hotmod_handler()
199 rv = check_hotmod_int_op(curr, o, "ipmb", &ipmb); in hotmod_handler()
206 pr_warn(PFX "Invalid hotmod option '%s'\n", curr); in hotmod_handler()