aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/um/drivers/chan_kern.c16
-rw-r--r--arch/um/drivers/line.c2
-rw-r--r--arch/um/include/chan_kern.h5
3 files changed, 9 insertions, 14 deletions
diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c
index 8b1262e9fb6..59c9b3f7c84 100644
--- a/arch/um/drivers/chan_kern.c
+++ b/arch/um/drivers/chan_kern.c
@@ -315,7 +315,7 @@ int console_open_chan(struct line *line, struct console *co,
return 0;
if (0 != parse_chan_pair(line->init_str, &line->chan_list,
- line->init_pri, co->index, opts))
+ co->index, opts))
return -1;
if (0 != open_chan(&line->chan_list))
return -1;
@@ -468,8 +468,7 @@ struct chan_type chan_table[] = {
#endif
};
-static struct chan *parse_chan(char *str, int pri, int device,
- struct chan_opts *opts)
+static struct chan *parse_chan(char *str, int device, struct chan_opts *opts)
{
struct chan_type *entry;
struct chan_ops *ops;
@@ -507,13 +506,12 @@ static struct chan *parse_chan(char *str, int pri, int device,
.output = 0,
.opened = 0,
.fd = -1,
- .pri = pri,
.ops = ops,
.data = data });
return chan;
}
-int parse_chan_pair(char *str, struct list_head *chans, int pri, int device,
+int parse_chan_pair(char *str, struct list_head *chans, int device,
struct chan_opts *opts)
{
struct chan *new, *chan;
@@ -521,8 +519,6 @@ int parse_chan_pair(char *str, struct list_head *chans, int pri, int device,
if(!list_empty(chans)){
chan = list_entry(chans->next, struct chan, list);
- if(chan->pri >= pri)
- return 0;
free_chan(chans);
INIT_LIST_HEAD(chans);
}
@@ -532,14 +528,14 @@ int parse_chan_pair(char *str, struct list_head *chans, int pri, int device,
in = str;
*out = '\0';
out++;
- new = parse_chan(in, pri, device, opts);
+ new = parse_chan(in, device, opts);
if(new == NULL)
return -1;
new->input = 1;
list_add(&new->list, chans);
- new = parse_chan(out, pri, device, opts);
+ new = parse_chan(out, device, opts);
if(new == NULL)
return -1;
@@ -547,7 +543,7 @@ int parse_chan_pair(char *str, struct list_head *chans, int pri, int device,
new->output = 1;
}
else {
- new = parse_chan(str, pri, device, opts);
+ new = parse_chan(str, device, opts);
if(new == NULL)
return -1;
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index 2ee00cbe8f9..80ade224d74 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -438,7 +438,7 @@ int line_open(struct line *lines, struct tty_struct *tty,
}
if (list_empty(&line->chan_list)) {
err = parse_chan_pair(line->init_str, &line->chan_list,
- line->init_pri, tty->index, opts);
+ tty->index, opts);
if(err) goto out;
err = open_chan(&line->chan_list);
if(err) goto out;
diff --git a/arch/um/include/chan_kern.h b/arch/um/include/chan_kern.h
index 9ac06910710..22bf3a73437 100644
--- a/arch/um/include/chan_kern.h
+++ b/arch/um/include/chan_kern.h
@@ -20,15 +20,14 @@ struct chan {
unsigned int output:1;
unsigned int opened:1;
int fd;
- enum chan_init_pri pri;
struct chan_ops *ops;
void *data;
};
extern void chan_interrupt(struct list_head *chans, struct work_struct *task,
struct tty_struct *tty, int irq);
-extern int parse_chan_pair(char *str, struct list_head *chans, int pri,
- int device, struct chan_opts *opts);
+extern int parse_chan_pair(char *str, struct list_head *chans, int device,
+ struct chan_opts *opts);
extern int open_chan(struct list_head *chans);
extern int write_chan(struct list_head *chans, const char *buf, int len,
int write_irq);