From: Jeff Dike 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: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton --- arch/um/drivers/line.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) diff -puN arch/um/drivers/line.c~uml-line_setup-interface-change arch/um/drivers/line.c --- devel/arch/um/drivers/line.c~uml-line_setup-interface-change 2006-01-04 03:54:32.000000000 -0800 +++ devel-akpm/arch/um/drivers/line.c 2006-01-04 03:54:32.000000000 -0800 @@ -555,12 +555,13 @@ int line_setup(struct line *lines, unsig } } } - return 1; + return n == -1 ? num : n; } int line_config(struct line *lines, unsigned int num, char *str) { char *new; + int n; if(*str == '='){ printk("line_config - can't configure all devices from " @@ -573,7 +574,8 @@ int line_config(struct line *lines, unsi printk("line_config - kstrdup failed\n"); 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, @@ -624,10 +626,14 @@ int line_id(char **str, int *start_out, int line_remove(struct line *lines, unsigned int num, int n) { + int err; char config[sizeof("conxxxx=none\0")]; 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, _