1. 25 Jul, 2017 2 commits
  2. 24 Jul, 2017 1 commit
  3. 22 Jul, 2017 7 commits
  4. 12 Jul, 2017 17 commits
    • Florian Echtler's avatar
      Input: sur40 - skip all blobs that are not touches · 4323418d
      Florian Echtler authored
      The SUR40 labels all reported blobs as touch, token, or generic blob.
      Previously, all blobs were reported as touch regardless of type, causing
      lots of false positives. Present patch fixes this.
      Signed-off-by: default avatarMartin Kaltenbrunner <modin@yuri.at>
      Signed-off-by: default avatarFlorian Echtler <floe@butterbrot.org>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      4323418d
    • Florian Echtler's avatar
      Input: sur40 - silence unnecessary noisy debug output · 335abaea
      Florian Echtler authored
      This information is unneccessary, even as debug output.
      Leave commented out as documentation of the packet ID quirk.
      Signed-off-by: default avatarMartin Kaltenbrunner <modin@yuri.at>
      Signed-off-by: default avatarFlorian Echtler <floe@butterbrot.org>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      335abaea
    • Florian Echtler's avatar
      Input: sur40 - add additional reverse-engineered information · 435915ea
      Florian Echtler authored
      Due to recent reverse engineering efforts, a lot more information is now
      available about the internals of the SUR40. We document this in the kernel
      driver for future use.
      Signed-off-by: default avatarMartin Kaltenbrunner <modin@yuri.at>
      Signed-off-by: default avatarFlorian Echtler <floe@butterbrot.org>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      435915ea
    • Arvind Yadav's avatar
      Input: ads7846 - constify attribute_group structures · 9e938dec
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         9086	    624	      0	   9710	   25ee	drivers/input/touchscreen/ads7846.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
         9198	    496	      0	   9694	   25de	drivers/input/touchscreen/ads7846.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      9e938dec
    • Arvind Yadav's avatar
      Input: elants_i2c - constify attribute_group structures · 48f960dd
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         9448	   1008	      0	  10456	   28d8	drivers/input/touchscreen/elants_i2c.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
         9496	    944	      0	  10440	   28c8	drivers/input/touchscreen/elants_i2c.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      48f960dd
    • Arvind Yadav's avatar
      Input: raydium_i2c_ts - constify attribute_group structures · d653386d
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         7801	    560	      0	   8361	   20a9	drivers/input/touchscreen/raydium_i2c_ts.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
         7849	    496	      0	   8345	   2099	drivers/input/touchscreen/raydium_i2c_ts.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      d653386d
    • Arvind Yadav's avatar
      Input: psmouse - constify attribute_group structures · ebc6a370
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
        12850	    740	     12	  13602	   3522	drivers/input/mouse/psmouse-base.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
        12914	    676	     12	  13602	   3522	drivers/input/mouse/psmouse-base.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      ebc6a370
    • Arvind Yadav's avatar
      Input: elantech - constify attribute_group structures · 57999433
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
        16815	   1424	      0	  18239	   473f	drivers/input/mouse/elantech.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
        16879	   1360	      0	  18239	   473f	drivers/input/mouse/elantech.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      57999433
    • Arvind Yadav's avatar
      Input: gpio_keys - constify attribute_group structures · 21563a7e
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         5693	    464	      0	   6157	   180d	drivers/input/keyboard/gpio_keys.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
         5749	    400	      0	   6149	   1805	drivers/input/keyboard/gpio_keys.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      21563a7e
    • Arvind Yadav's avatar
      Input: yealink - constify attribute_group structures · aa335071
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         6039	    944	      0	   6983	   1b47	drivers/input/misc/yealink.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
         6103	    880	      0	   6983	   1b47	drivers/input/misc/yealink.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarHenk Vergonet <henk.vergonet@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      aa335071
    • Arvind Yadav's avatar
      Input: ims-pcu - constify attribute_group structures · b06ae148
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
        13547	   1600	      0	  15147	   3b2b	drivers/input/misc/ims-pcu.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
        13675	   1472	      0	  15147	   3b2b	drivers/input/misc/ims-pcu.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      b06ae148
    • Arvind Yadav's avatar
      Input: synaptics-rmi4 - constify attribute_group structures in F01 · 0d4b8e36
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         4777	    480	      0	   5257	   1489	drivers/input/rmi4/rmi_f01.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
         4817	    416	      0	   5233	   1471	drivers/input/rmi4/rmi_f01.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      0d4b8e36
    • Arvind Yadav's avatar
      Input: synaptics-rmi4 - constify attribute_group structures in F34 · fab2f5e0
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         5287	    448	      0	   5735	   1667	drivers/input/rmi4/rmi_f34.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
         5339	    384	      0	   5723	   165b	drivers/input/rmi4/rmi_f34.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      fab2f5e0
    • Arvind Yadav's avatar
      Input: constify attribute_group structures · 5e895b74
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
        17755	   1312	     16	  19083	   4a8b	drivers/input/input.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
        17947	   1120	     16	  19083	   4a8b	drivers/input/input.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      5e895b74
    • Arvind Yadav's avatar
      Input: aiptek - constify attribute_group structures · c4043b57
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         9941	   1560	      0	  11501	   2ced	drivers/input/tablet/aiptek.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
        10005	   1496	      0	  11501	   2ced	drivers/input/tablet/aiptek.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      c4043b57
    • Arvind Yadav's avatar
      Input: serio - constify attribute_group structures · 547a915d
      Arvind Yadav authored
      attribute_groups are not supposed to change at runtime. All functions
      working with attribute_groups provided by <linux/sysfs.h> work with const
      attribute_group. So mark the non-const structs as const.
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         6862	   1008	      4	   7874	   1ec2	drivers/input/serio/serio.o
      
      File size After adding 'const':
         text	   data	    bss	    dec	    hex	filename
         6990	    880	      4	   7874	   1ec2	drivers/input/serio/serio.o
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      547a915d
    • Chen Hong's avatar
      Input: i8042 - fix crash at boot time · 340d394a
      Chen Hong authored
      The driver checks port->exists twice in i8042_interrupt(), first when
      trying to assign temporary "serio" variable, and second time when deciding
      whether it should call serio_interrupt(). The value of port->exists may
      change between the 2 checks, and we may end up calling serio_interrupt()
      with a NULL pointer:
      
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
      IP: [<ffffffff8150feaf>] _spin_lock_irqsave+0x1f/0x40
      PGD 0
      Oops: 0002 [#1] SMP
      last sysfs file:
      CPU 0
      Modules linked in:
      
      Pid: 1, comm: swapper Not tainted 2.6.32-358.el6.x86_64 #1 QEMU Standard PC (i440FX + PIIX, 1996)
      RIP: 0010:[<ffffffff8150feaf>]  [<ffffffff8150feaf>] _spin_lock_irqsave+0x1f/0x40
      RSP: 0018:ffff880028203cc0  EFLAGS: 00010082
      RAX: 0000000000010000 RBX: 0000000000000000 RCX: 0000000000000000
      RDX: 0000000000000282 RSI: 0000000000000098 RDI: 0000000000000050
      RBP: ffff880028203cc0 R08: ffff88013e79c000 R09: ffff880028203ee0
      R10: 0000000000000298 R11: 0000000000000282 R12: 0000000000000050
      R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000098
      FS:  0000000000000000(0000) GS:ffff880028200000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
      CR2: 0000000000000050 CR3: 0000000001a85000 CR4: 00000000001407f0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process swapper (pid: 1, threadinfo ffff88013e79c000, task ffff88013e79b500)
      Stack:
      ffff880028203d00 ffffffff813de186 ffffffffffffff02 0000000000000000
      <d> 0000000000000000 0000000000000000 0000000000000000 0000000000000098
      <d> ffff880028203d70 ffffffff813e0162 ffff880028203d20 ffffffff8103b8ac
      Call Trace:
      <IRQ>
       [<ffffffff813de186>] serio_interrupt+0x36/0xa0
      [<ffffffff813e0162>] i8042_interrupt+0x132/0x3a0
      [<ffffffff8103b8ac>] ? kvm_clock_read+0x1c/0x20
      [<ffffffff8103b8b9>] ? kvm_clock_get_cycles+0x9/0x10
      [<ffffffff810e1640>] handle_IRQ_event+0x60/0x170
      [<ffffffff8103b154>] ? kvm_guest_apic_eoi_write+0x44/0x50
      [<ffffffff810e3d8e>] handle_edge_irq+0xde/0x180
      [<ffffffff8100de89>] handle_irq+0x49/0xa0
      [<ffffffff81516c8c>] do_IRQ+0x6c/0xf0
      [<ffffffff8100b9d3>] ret_from_intr+0x0/0x11
      [<ffffffff81076f63>] ? __do_softirq+0x73/0x1e0
      [<ffffffff8109b75b>] ? hrtimer_interrupt+0x14b/0x260
      [<ffffffff8100c1cc>] ? call_softirq+0x1c/0x30
      [<ffffffff8100de05>] ? do_softirq+0x65/0xa0
      [<ffffffff81076d95>] ? irq_exit+0x85/0x90
      [<ffffffff81516d80>] ? smp_apic_timer_interrupt+0x70/0x9b
      [<ffffffff8100bb93>] ? apic_timer_interrupt+0x13/0x20
      
      To avoid the issue let's change the second check to test whether serio is
      NULL or not.
      
      Also, let's take i8042_lock in i8042_start() and i8042_stop() instead of
      trying to be overly smart and using memory barriers.
      Signed-off-by: default avatarChen Hong <chenhong3@huawei.com>
      [dtor: take lock in i8042_start()/i8042_stop()]
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      340d394a
  5. 09 Jul, 2017 2 commits
  6. 02 Jul, 2017 6 commits
  7. 01 Jul, 2017 5 commits