diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-23 12:01:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-23 12:01:41 -0400 |
commit | 3a8580f82024e30b31c662aa49346adf7a3bcdb5 (patch) | |
tree | 7769a01f152b4081f4e4225e499082fd5c67b184 /arch/um/drivers | |
parent | 1d767cae4dbd4116fc3b2cc3251a20760f98339f (diff) | |
parent | 2ccf62b36097aa88e0ea152d6ef0c0ca2d3884e6 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
Pull UML updates from Richard Weinberger:
"Most changes are bug fixes and cleanups"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
um: missing checks of __put_user()/__get_user() return values
um: stub_rt_sigsuspend isn't needed these days anymore
um/x86: merge (and trim) 32- and 64-bit variants of ptrace.h
irq: Remove irq_chip->release()
um: Remove CONFIG_IRQ_RELEASE_METHOD
um: Remove usage of irq_chip->release()
um: Implement um_free_irq()
um: Fix __swp_type()
um: Implement a custom pte_same() function
um: Add BUG() to do_ops()'s error path
um: Remove unused variables
um: bury unused _TIF_RESTORE_SIGMASK
um: wrong sigmask saved in case of multiple sigframes
um: add TIF_NOTIFY_RESUME
um: ->restart_block.fn needs to be reset on sigreturn
Diffstat (limited to 'arch/um/drivers')
-rw-r--r-- | arch/um/drivers/chan_kern.c | 9 | ||||
-rw-r--r-- | arch/um/drivers/line.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/net_kern.c | 4 | ||||
-rw-r--r-- | arch/um/drivers/port_kern.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/xterm_kern.c | 2 |
5 files changed, 10 insertions, 9 deletions
diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c index ca4c7ebfd0aa..45e248c2f43c 100644 --- a/arch/um/drivers/chan_kern.c +++ b/arch/um/drivers/chan_kern.c | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/tty_flip.h> | 8 | #include <linux/tty_flip.h> |
9 | #include "chan.h" | 9 | #include "chan.h" |
10 | #include "os.h" | 10 | #include "os.h" |
11 | #include "irq_kern.h" | ||
11 | 12 | ||
12 | #ifdef CONFIG_NOCONFIG_CHAN | 13 | #ifdef CONFIG_NOCONFIG_CHAN |
13 | static void *not_configged_init(char *str, int device, | 14 | static void *not_configged_init(char *str, int device, |
@@ -213,9 +214,9 @@ void free_irqs(void) | |||
213 | chan = list_entry(ele, struct chan, free_list); | 214 | chan = list_entry(ele, struct chan, free_list); |
214 | 215 | ||
215 | if (chan->input && chan->enabled) | 216 | if (chan->input && chan->enabled) |
216 | free_irq(chan->line->driver->read_irq, chan); | 217 | um_free_irq(chan->line->driver->read_irq, chan); |
217 | if (chan->output && chan->enabled) | 218 | if (chan->output && chan->enabled) |
218 | free_irq(chan->line->driver->write_irq, chan); | 219 | um_free_irq(chan->line->driver->write_irq, chan); |
219 | chan->enabled = 0; | 220 | chan->enabled = 0; |
220 | } | 221 | } |
221 | } | 222 | } |
@@ -234,9 +235,9 @@ static void close_one_chan(struct chan *chan, int delay_free_irq) | |||
234 | } | 235 | } |
235 | else { | 236 | else { |
236 | if (chan->input && chan->enabled) | 237 | if (chan->input && chan->enabled) |
237 | free_irq(chan->line->driver->read_irq, chan); | 238 | um_free_irq(chan->line->driver->read_irq, chan); |
238 | if (chan->output && chan->enabled) | 239 | if (chan->output && chan->enabled) |
239 | free_irq(chan->line->driver->write_irq, chan); | 240 | um_free_irq(chan->line->driver->write_irq, chan); |
240 | chan->enabled = 0; | 241 | chan->enabled = 0; |
241 | } | 242 | } |
242 | if (chan->ops->close != NULL) | 243 | if (chan->ops->close != NULL) |
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c index 4ab0d9c0911c..acfd0e0fd0c9 100644 --- a/arch/um/drivers/line.c +++ b/arch/um/drivers/line.c | |||
@@ -699,7 +699,7 @@ struct winch { | |||
699 | static void __free_winch(struct work_struct *work) | 699 | static void __free_winch(struct work_struct *work) |
700 | { | 700 | { |
701 | struct winch *winch = container_of(work, struct winch, work); | 701 | struct winch *winch = container_of(work, struct winch, work); |
702 | free_irq(WINCH_IRQ, winch); | 702 | um_free_irq(WINCH_IRQ, winch); |
703 | 703 | ||
704 | if (winch->pid != -1) | 704 | if (winch->pid != -1) |
705 | os_kill_process(winch->pid, 1); | 705 | os_kill_process(winch->pid, 1); |
diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c index 95f4416e6d9f..0d60c5685c26 100644 --- a/arch/um/drivers/net_kern.c +++ b/arch/um/drivers/net_kern.c | |||
@@ -195,7 +195,7 @@ static int uml_net_close(struct net_device *dev) | |||
195 | 195 | ||
196 | netif_stop_queue(dev); | 196 | netif_stop_queue(dev); |
197 | 197 | ||
198 | free_irq(dev->irq, dev); | 198 | um_free_irq(dev->irq, dev); |
199 | if (lp->close != NULL) | 199 | if (lp->close != NULL) |
200 | (*lp->close)(lp->fd, &lp->user); | 200 | (*lp->close)(lp->fd, &lp->user); |
201 | lp->fd = -1; | 201 | lp->fd = -1; |
@@ -835,7 +835,7 @@ static void close_devices(void) | |||
835 | spin_lock(&opened_lock); | 835 | spin_lock(&opened_lock); |
836 | list_for_each(ele, &opened) { | 836 | list_for_each(ele, &opened) { |
837 | lp = list_entry(ele, struct uml_net_private, list); | 837 | lp = list_entry(ele, struct uml_net_private, list); |
838 | free_irq(lp->dev->irq, lp->dev); | 838 | um_free_irq(lp->dev->irq, lp->dev); |
839 | if ((lp->close != NULL) && (lp->fd >= 0)) | 839 | if ((lp->close != NULL) && (lp->fd >= 0)) |
840 | (*lp->close)(lp->fd, &lp->user); | 840 | (*lp->close)(lp->fd, &lp->user); |
841 | if (lp->remove != NULL) | 841 | if (lp->remove != NULL) |
diff --git a/arch/um/drivers/port_kern.c b/arch/um/drivers/port_kern.c index e31680e662a4..11866ffd45a9 100644 --- a/arch/um/drivers/port_kern.c +++ b/arch/um/drivers/port_kern.c | |||
@@ -254,7 +254,7 @@ int port_wait(void *data) | |||
254 | * connection. Then we loop here throwing out failed | 254 | * connection. Then we loop here throwing out failed |
255 | * connections until a good one is found. | 255 | * connections until a good one is found. |
256 | */ | 256 | */ |
257 | free_irq(TELNETD_IRQ, conn); | 257 | um_free_irq(TELNETD_IRQ, conn); |
258 | 258 | ||
259 | if (conn->fd >= 0) | 259 | if (conn->fd >= 0) |
260 | break; | 260 | break; |
diff --git a/arch/um/drivers/xterm_kern.c b/arch/um/drivers/xterm_kern.c index 8bd130f0bda3..b68bbe269e01 100644 --- a/arch/um/drivers/xterm_kern.c +++ b/arch/um/drivers/xterm_kern.c | |||
@@ -65,7 +65,7 @@ int xterm_fd(int socket, int *pid_out) | |||
65 | * isn't set) this will hang... */ | 65 | * isn't set) this will hang... */ |
66 | wait_for_completion(&data->ready); | 66 | wait_for_completion(&data->ready); |
67 | 67 | ||
68 | free_irq(XTERM_IRQ, data); | 68 | um_free_irq(XTERM_IRQ, data); |
69 | 69 | ||
70 | ret = data->new_fd; | 70 | ret = data->new_fd; |
71 | *pid_out = data->pid; | 71 | *pid_out = data->pid; |