mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
um: switch line_config() to setup_one_line()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
parent
da645f3be9
commit
fe9a6b0029
1 changed files with 16 additions and 6 deletions
|
@ -572,22 +572,32 @@ int line_config(struct line *lines, unsigned int num, char *str,
|
|||
{
|
||||
struct line *line;
|
||||
char *new;
|
||||
int n;
|
||||
char *end;
|
||||
int n, err;
|
||||
|
||||
if (*str == '=') {
|
||||
*error_out = "Can't configure all devices from mconsole";
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
new = kstrdup(str, GFP_KERNEL);
|
||||
n = simple_strtoul(str, &end, 0);
|
||||
if (*end++ != '=') {
|
||||
*error_out = "Couldn't parse device number";
|
||||
return -EINVAL;
|
||||
}
|
||||
if (n >= num) {
|
||||
*error_out = "Device number out of range";
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
new = kstrdup(end, GFP_KERNEL);
|
||||
if (new == NULL) {
|
||||
*error_out = "Failed to allocate memory";
|
||||
return -ENOMEM;
|
||||
}
|
||||
n = line_setup(lines, num, new, error_out);
|
||||
if (n < 0)
|
||||
return n;
|
||||
|
||||
err = setup_one_line(lines, n, new, INIT_ONE, error_out);
|
||||
if (err)
|
||||
return err;
|
||||
line = &lines[n];
|
||||
return parse_chan_pair(line->init_str, line, n, opts, error_out);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue