]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Mar 2009 23:43:03 +0000 (15:43 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Mar 2009 23:43:03 +0000 (15:43 -0800)
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: elantech - touchpad driver miss-recognising logitech mice
  Input: synaptics - ensure we reset the device on resume
  Input: usbtouchscreen - fix eGalax HID ignoring
  Input: ambakmi - fix timeout handling in amba_kmi_write()
  Input: pxa930_trkball - fix write timeout handling
  Input: struct device - replace bus_id with dev_name(), dev_set_name()
  Input: bf54x-keys - fix debounce time validation
  Input: spitzkbd - mark probe function as __devinit
  Input: omap-keypad - mark probe function as __devinit
  Input: corgi_ts - mark probe function as __devinit
  Input: corgikbd - mark probe function as __devinit
  Input: uvc - the button on the camera is KEY_CAMERA
  Input: psmouse - make MOUSE_PS2_LIFEBOOK depend on X86
  Input: atkbd - make forced_release_keys[] static
  Input: usbtouchscreen - allow reporting calibrated data

1  2 
drivers/input/keyboard/atkbd.c
drivers/input/keyboard/omap-keypad.c
drivers/input/mouse/pxa930_trkball.c
drivers/media/video/uvc/uvc_status.c

index c3c8b9bc40ae6220f46a8dba295f8a87c7e1e6e3,6df9ba186121064bed9e6646cc01fc6059308fb4..45470f18d7e9ea7c252a1a2c4e671490483da36b
@@@ -65,7 -65,7 +65,7 @@@ MODULE_PARM_DESC(extra, "Enable extra L
  
  /*
   * Scancode to keycode tables. These are just the default setting, and
 - * are loadable via an userland utility.
 + * are loadable via a userland utility.
   */
  
  static const unsigned short atkbd_set2_keycode[512] = {
@@@ -839,7 -839,7 +839,7 @@@ static void atkbd_disconnect(struct ser
   */
  static void atkbd_dell_laptop_keymap_fixup(struct atkbd *atkbd)
  {
-       const unsigned int forced_release_keys[] = {
+       static const unsigned int forced_release_keys[] = {
                0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8f, 0x93,
        };
        int i;
   */
  static void atkbd_hp_keymap_fixup(struct atkbd *atkbd)
  {
-       const unsigned int forced_release_keys[] = {
+       static const unsigned int forced_release_keys[] = {
                0x94,
        };
        int i;
index 3f3d1198cdb10dd76fb4973766ab9d6e1908d246,23b4fd18f8519d8ac1a85a390ae6487985219b7e..058fa8b02c21ee1b939085c024c23884e2f6ca1d
@@@ -101,7 -101,7 +101,7 @@@ static irqreturn_t omap_kp_interrupt(in
        if (cpu_is_omap24xx()) {
                int i;
                for (i = 0; i < omap_kp->rows; i++)
 -                      disable_irq(OMAP_GPIO_IRQ(row_gpios[i]));
 +                      disable_irq(gpio_to_irq(row_gpios[i]));
        } else
                /* disable keyboard interrupt and schedule for handling */
                omap_writew(1, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT);
@@@ -220,7 -220,7 +220,7 @@@ static void omap_kp_tasklet(unsigned lo
                if (cpu_is_omap24xx()) {
                        int i;
                        for (i = 0; i < omap_kp_data->rows; i++)
 -                              enable_irq(OMAP_GPIO_IRQ(row_gpios[i]));
 +                              enable_irq(gpio_to_irq(row_gpios[i]));
                } else {
                        omap_writew(0, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT);
                        kp_cur_group = -1;
@@@ -279,7 -279,7 +279,7 @@@ static int omap_kp_resume(struct platfo
  #define omap_kp_resume        NULL
  #endif
  
- static int __init omap_kp_probe(struct platform_device *pdev)
+ static int __devinit omap_kp_probe(struct platform_device *pdev)
  {
        struct omap_kp *omap_kp;
        struct input_dev *input_dev;
                omap_writew(0, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT);
        } else {
                for (irq_idx = 0; irq_idx < omap_kp->rows; irq_idx++) {
 -                      if (request_irq(OMAP_GPIO_IRQ(row_gpios[irq_idx]),
 +                      if (request_irq(gpio_to_irq(row_gpios[irq_idx]),
                                        omap_kp_interrupt,
                                        IRQF_TRIGGER_FALLING,
                                        "omap-keypad", omap_kp) < 0)
@@@ -422,7 -422,7 +422,7 @@@ err1
        return -EINVAL;
  }
  
- static int omap_kp_remove(struct platform_device *pdev)
+ static int __devexit omap_kp_remove(struct platform_device *pdev)
  {
        struct omap_kp *omap_kp = platform_get_drvdata(pdev);
  
                        gpio_free(col_gpios[i]);
                for (i = 0; i < omap_kp->rows; i++) {
                        gpio_free(row_gpios[i]);
 -                      free_irq(OMAP_GPIO_IRQ(row_gpios[i]), 0);
 +                      free_irq(gpio_to_irq(row_gpios[i]), 0);
                }
        } else {
                omap_writew(1, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT);
  
  static struct platform_driver omap_kp_driver = {
        .probe          = omap_kp_probe,
-       .remove         = omap_kp_remove,
+       .remove         = __devexit_p(omap_kp_remove),
        .suspend        = omap_kp_suspend,
        .resume         = omap_kp_resume,
        .driver         = {
        },
  };
  
- static int __devinit omap_kp_init(void)
+ static int __init omap_kp_init(void)
  {
        printk(KERN_INFO "OMAP Keypad Driver\n");
        return platform_driver_register(&omap_kp_driver);
index d297accf9a7feeb8077737c187d39d64c3f89c0b,784be69b711288240cb56cb6dc8820161e8132fe..1e827ad0afbedd58a36438cb1fe23e4a0ad3adf8
@@@ -83,7 -83,7 +83,7 @@@ static int write_tbcr(struct pxa930_trk
  
        __raw_writel(v, trkball->mmio_base + TBCR);
  
-       while (i--) {
+       while (--i) {
                if (__raw_readl(trkball->mmio_base + TBCR) == v)
                        break;
                msleep(1);
@@@ -186,7 -186,7 +186,7 @@@ static int __devinit pxa930_trkball_pro
        error = request_irq(irq, pxa930_trkball_interrupt, IRQF_DISABLED,
                            pdev->name, trkball);
        if (error) {
 -              dev_err(&pdev->dev, "failed to request irq: %d\n", ret);
 +              dev_err(&pdev->dev, "failed to request irq: %d\n", error);
                goto failed_free_io;
        }
  
@@@ -227,7 -227,7 +227,7 @@@ failed_free_io
        iounmap(trkball->mmio_base);
  failed:
        kfree(trkball);
 -      return ret;
 +      return error;
  }
  
  static int __devexit pxa930_trkball_remove(struct platform_device *pdev)
index c1e4ae27c61388f9c70c529badef2dfc9dd0808d,fdf7b4187ee158d304335e6e0ff16fd900482dc0..c705f248da8856d72c384d5b69b67df0c86a7567
@@@ -1,7 -1,7 +1,7 @@@
  /*
   *      uvc_status.c  --  USB Video Class driver - Status endpoint
   *
 - *      Copyright (C) 2007-2008
 + *      Copyright (C) 2007-2009
   *          Laurent Pinchart (laurent.pinchart@skynet.be)
   *
   *      This program is free software; you can redistribute it and/or modify
@@@ -12,6 -12,7 +12,6 @@@
   */
  
  #include <linux/kernel.h>
 -#include <linux/version.h>
  #include <linux/input.h>
  #include <linux/usb.h>
  #include <linux/usb/input.h>
@@@ -46,8 -47,8 +46,8 @@@ static int uvc_input_init(struct uvc_de
        usb_to_input_id(udev, &input->id);
        input->dev.parent = &dev->intf->dev;
  
-       set_bit(EV_KEY, input->evbit);
-       set_bit(BTN_0, input->keybit);
+       __set_bit(EV_KEY, input->evbit);
+       __set_bit(KEY_CAMERA, input->keybit);
  
        if ((ret = input_register_device(input)) < 0)
                goto error;
@@@ -70,8 -71,10 +70,10 @@@ static void uvc_input_cleanup(struct uv
  static void uvc_input_report_key(struct uvc_device *dev, unsigned int code,
        int value)
  {
-       if (dev->input)
+       if (dev->input) {
                input_report_key(dev->input, code, value);
+               input_sync(dev->input);
+       }
  }
  
  #else
@@@ -96,7 -99,7 +98,7 @@@ static void uvc_event_streaming(struct 
                        return;
                uvc_trace(UVC_TRACE_STATUS, "Button (intf %u) %s len %d\n",
                        data[1], data[3] ? "pressed" : "released", len);
-               uvc_input_report_key(dev, BTN_0, data[3]);
+               uvc_input_report_key(dev, KEY_CAMERA, data[3]);
        } else {
                uvc_trace(UVC_TRACE_STATUS, "Stream %u error event %02x %02x "
                        "len %d.\n", data[1], data[2], data[3], len);