]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/input/keyboard/corgikbd.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
[net-next-2.6.git] / drivers / input / keyboard / corgikbd.c
index 1e03153b9bca99348c11e55e2d85ced8c05ad84b..cb70970625b5b9f05cd4dbe05d66c312e9cec824 100644 (file)
@@ -129,7 +129,7 @@ static inline void corgikbd_reset_col(int col)
  */
 
 /* Scan the hardware keyboard and push any changes up through the input layer */
-static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data, struct pt_regs *regs)
+static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data)
 {
        unsigned int row, col, rowd;
        unsigned long flags;
@@ -140,9 +140,6 @@ static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data, struct pt_regs
 
        spin_lock_irqsave(&corgikbd_data->lock, flags);
 
-       if (regs)
-               input_regs(corgikbd_data->input, regs);
-
        num_pressed = 0;
        for (col = 0; col < KB_COLS; col++) {
                /*
@@ -191,14 +188,14 @@ static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data, struct pt_regs
 /*
  * corgi keyboard interrupt handler.
  */
-static irqreturn_t corgikbd_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t corgikbd_interrupt(int irq, void *dev_id)
 {
        struct corgikbd *corgikbd_data = dev_id;
 
        if (!timer_pending(&corgikbd_data->timer)) {
                /** wait chattering delay **/
                udelay(20);
-               corgikbd_scankeyboard(corgikbd_data, regs);
+               corgikbd_scankeyboard(corgikbd_data);
        }
 
        return IRQ_HANDLED;