aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2006-12-06 23:31:36 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 11:39:20 -0500
commita2ce774096110ccc5c02cbdc05897d005fcd3db8 (patch)
tree6a6a5830a7e4e789afbfc8258e70e7889af5e7ea /arch/um
parent822191a2fa1584a29c3224ab328507adcaeac1ab (diff)
[PATCH] uml: workqueue build fix
arch/um/drivers/chan_kern.c:643: error: conflicting types for 'chan_interrupt' arch/um/include/chan_kern.h:31: error: previous declaration of 'chan_interrupt' Cc: David Howells <dhowells@redhat.com> Cc: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/drivers/line.c6
-rw-r--r--arch/um/include/chan_kern.h2
-rw-r--r--arch/um/include/line.h2
3 files changed, 5 insertions, 5 deletions
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index 426633e5d6e3..aa3090d05a8f 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -31,9 +31,9 @@ static irqreturn_t line_interrupt(int irq, void *data)
31 return IRQ_HANDLED; 31 return IRQ_HANDLED;
32} 32}
33 33
34static void line_timer_cb(void *arg) 34static void line_timer_cb(struct work_struct *work)
35{ 35{
36 struct line *line = arg; 36 struct line *line = container_of(work, struct line, task.work);
37 37
38 if(!line->throttled) 38 if(!line->throttled)
39 chan_interrupt(&line->chan_list, &line->task, line->tty, 39 chan_interrupt(&line->chan_list, &line->task, line->tty,
@@ -443,7 +443,7 @@ int line_open(struct line *lines, struct tty_struct *tty)
443 * is registered. 443 * is registered.
444 */ 444 */
445 enable_chan(line); 445 enable_chan(line);
446 INIT_WORK(&line->task, line_timer_cb, line); 446 INIT_DELAYED_WORK(&line->task, line_timer_cb);
447 447
448 if(!line->sigio){ 448 if(!line->sigio){
449 chan_enable_winch(&line->chan_list, tty); 449 chan_enable_winch(&line->chan_list, tty);
diff --git a/arch/um/include/chan_kern.h b/arch/um/include/chan_kern.h
index 572d286ed2c6..9003a343e148 100644
--- a/arch/um/include/chan_kern.h
+++ b/arch/um/include/chan_kern.h
@@ -27,7 +27,7 @@ struct chan {
27 void *data; 27 void *data;
28}; 28};
29 29
30extern void chan_interrupt(struct list_head *chans, struct work_struct *task, 30extern void chan_interrupt(struct list_head *chans, struct delayed_work *task,
31 struct tty_struct *tty, int irq); 31 struct tty_struct *tty, int irq);
32extern int parse_chan_pair(char *str, struct line *line, int device, 32extern int parse_chan_pair(char *str, struct line *line, int device,
33 const struct chan_opts *opts); 33 const struct chan_opts *opts);
diff --git a/arch/um/include/line.h b/arch/um/include/line.h
index 7be24811bb30..214ee76c40df 100644
--- a/arch/um/include/line.h
+++ b/arch/um/include/line.h
@@ -51,7 +51,7 @@ struct line {
51 char *tail; 51 char *tail;
52 52
53 int sigio; 53 int sigio;
54 struct work_struct task; 54 struct delayed_work task;
55 const struct line_driver *driver; 55 const struct line_driver *driver;
56 int have_irq; 56 int have_irq;
57}; 57};