diff options
author | Srikant Patnaik | 2015-01-11 12:28:04 +0530 |
---|---|---|
committer | Srikant Patnaik | 2015-01-11 12:28:04 +0530 |
commit | 871480933a1c28f8a9fed4c4d34d06c439a7a422 (patch) | |
tree | 8718f573808810c2a1e8cb8fb6ac469093ca2784 /ANDROID_3.4.5/arch/um/drivers/xterm_kern.c | |
parent | 9d40ac5867b9aefe0722bc1f110b965ff294d30d (diff) | |
download | FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.gz FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.bz2 FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.zip |
Moved, renamed, and deleted files
The original directory structure was scattered and unorganized.
Changes are basically to make it look like kernel structure.
Diffstat (limited to 'ANDROID_3.4.5/arch/um/drivers/xterm_kern.c')
-rw-r--r-- | ANDROID_3.4.5/arch/um/drivers/xterm_kern.c | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/ANDROID_3.4.5/arch/um/drivers/xterm_kern.c b/ANDROID_3.4.5/arch/um/drivers/xterm_kern.c deleted file mode 100644 index 8bd130f0..00000000 --- a/ANDROID_3.4.5/arch/um/drivers/xterm_kern.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (C) 2001 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) - * Licensed under the GPL - */ - -#include <linux/slab.h> -#include <linux/completion.h> -#include <linux/irqreturn.h> -#include <asm/irq.h> -#include "irq_kern.h" -#include "os.h" - -struct xterm_wait { - struct completion ready; - int fd; - int pid; - int new_fd; -}; - -static irqreturn_t xterm_interrupt(int irq, void *data) -{ - struct xterm_wait *xterm = data; - int fd; - - fd = os_rcv_fd(xterm->fd, &xterm->pid); - if (fd == -EAGAIN) - return IRQ_NONE; - - xterm->new_fd = fd; - complete(&xterm->ready); - - return IRQ_HANDLED; -} - -int xterm_fd(int socket, int *pid_out) -{ - struct xterm_wait *data; - int err, ret; - - data = kmalloc(sizeof(*data), GFP_KERNEL); - if (data == NULL) { - printk(KERN_ERR "xterm_fd : failed to allocate xterm_wait\n"); - return -ENOMEM; - } - - /* This is a locked semaphore... */ - *data = ((struct xterm_wait) { .fd = socket, - .pid = -1, - .new_fd = -1 }); - init_completion(&data->ready); - - err = um_request_irq(XTERM_IRQ, socket, IRQ_READ, xterm_interrupt, - IRQF_SHARED | IRQF_SAMPLE_RANDOM, - "xterm", data); - if (err) { - printk(KERN_ERR "xterm_fd : failed to get IRQ for xterm, " - "err = %d\n", err); - ret = err; - goto out; - } - - /* ... so here we wait for an xterm interrupt. - * - * XXX Note, if the xterm doesn't work for some reason (eg. DISPLAY - * isn't set) this will hang... */ - wait_for_completion(&data->ready); - - free_irq(XTERM_IRQ, data); - - ret = data->new_fd; - *pid_out = data->pid; - out: - kfree(data); - - return ret; -} |