Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/serio
In directory usw-pr-cvs1:/tmp/cvs-serv26284
Modified Files:
i8042.c
Log Message:
Reverse changes commited accidently.
Index: i8042.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/serio/i8042.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- i8042.c 1 Mar 2002 21:52:47 -0000 1.20
+++ i8042.c 1 Mar 2002 22:09:27 -0000 1.21
@@ -58,7 +58,6 @@
struct i8042_values {
int irq;
- int ioport;
unsigned char disable;
unsigned char irqen;
unsigned char exists;
@@ -265,7 +264,7 @@
* Allocate the interrupt
*/
- if (request_irq(values->irq, i8042_interrupt, 0, "i8042", values)) {
+ if (request_irq(values->irq, i8042_interrupt, 0, "i8042", NULL)) {
printk(KERN_ERR "i8042.c: Can't get irq %d for %s\n", values->irq, values->name);
return -1;
}
@@ -325,7 +324,6 @@
static struct i8042_values i8042_kbd_values = {
irq: I8042_KBD_IRQ,
- ioport: I8042_DATA_REG,
irqen: I8042_CTR_KBDINT,
disable: I8042_CTR_KBDDIS,
name: "KBD",
@@ -345,7 +343,6 @@
static struct i8042_values i8042_aux_values = {
irq: I8042_AUX_IRQ,
- ioport: I8042_DATA_REG,
irqen: I8042_CTR_AUXINT,
disable: I8042_CTR_AUXDIS,
name: "AUX",
@@ -371,13 +368,12 @@
static void i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
- struct i8042_values *values = dev_id;
- unsigned char str, data;
unsigned long flags;
+ unsigned char str, data;
spin_lock_irqsave(&i8042_lock, flags);
- while ((str = inb(values->ioport + 4)) & I8042_STR_OBF) {
+ while ((str = inb(I8042_STATUS_REG)) & I8042_STR_OBF) {
data = inb(I8042_DATA_REG);
@@ -386,11 +382,11 @@
data, (str & I8042_STR_AUXDATA) ? "aux" : "kbd", (int) (jiffies - i8042_start));
#endif
- if (values->exists && (str & I8042_STR_AUXDATA)) {
+ if (i8042_aux_values.exists && (str & I8042_STR_AUXDATA)) {
if (i8042_aux_port.dev)
i8042_aux_port.dev->interrupt(&i8042_aux_port, data, 0);
} else {
- if (i8042_kbd_port.dev) {
+ if (i8042_kbd_values.exists && i8042_kbd_port.dev) {
if (!i8042_direct) {
if (data > 0x7f) {
if (test_and_clear_bit(data & 0x7f, i8042_unxlate_seen)) {
@@ -406,6 +402,7 @@
}
}
}
+
spin_unlock_irqrestore(&i8042_lock, flags);
}
@@ -421,7 +418,7 @@
* Check the i/o region before we touch it.
*/
#if !defined(__i386__) && !defined(__sh__) && !defined(__alpha__)
- if (check_region(i8042_kbd_values.ioport, 16)) {
+ if (check_region(I8042_DATA_REG, 16)) {
printk(KERN_ERR "i8042.c: %#x port already in use!\n", I8042_DATA_REG);
return -1;
}
|