Commit 418e55d4 authored by Jeff Dike's avatar Jeff Dike Committed by Linus Torvalds

[PATCH] uml: line_setup interface change

line_setup is changed to return the device which it set up, rather than just
success or failure.  This will be important in the line-config patch.
Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 9010772c
...@@ -555,12 +555,13 @@ int line_setup(struct line *lines, unsigned int num, char *init) ...@@ -555,12 +555,13 @@ int line_setup(struct line *lines, unsigned int num, char *init)
} }
} }
} }
return 1; return n == -1 ? num : n;
} }
int line_config(struct line *lines, unsigned int num, char *str) int line_config(struct line *lines, unsigned int num, char *str)
{ {
char *new; char *new;
int n;
if(*str == '='){ if(*str == '='){
printk("line_config - can't configure all devices from " printk("line_config - can't configure all devices from "
...@@ -573,7 +574,8 @@ int line_config(struct line *lines, unsigned int num, char *str) ...@@ -573,7 +574,8 @@ int line_config(struct line *lines, unsigned int num, char *str)
printk("line_config - kstrdup failed\n"); printk("line_config - kstrdup failed\n");
return -ENOMEM; return -ENOMEM;
} }
return !line_setup(lines, num, new); n = line_setup(lines, num, new);
return n < 0 ? n : 0;
} }
int line_get_config(char *name, struct line *lines, unsigned int num, char *str, int line_get_config(char *name, struct line *lines, unsigned int num, char *str,
...@@ -624,10 +626,14 @@ int line_id(char **str, int *start_out, int *end_out) ...@@ -624,10 +626,14 @@ int line_id(char **str, int *start_out, int *end_out)
int line_remove(struct line *lines, unsigned int num, int n) int line_remove(struct line *lines, unsigned int num, int n)
{ {
int err;
char config[sizeof("conxxxx=none\0")]; char config[sizeof("conxxxx=none\0")];
sprintf(config, "%d=none", n); sprintf(config, "%d=none", n);
return !line_setup(lines, num, config); err = line_setup(lines, num, config);
if(err >= 0)
err = 0;
return err;
} }
struct tty_driver *line_register_devfs(struct lines *set, struct tty_driver *line_register_devfs(struct lines *set,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment