1. 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
  2. 09 Jul, 2017 2 commits
  3. 02 Jul, 2017 2 commits
  4. 18 Jun, 2017 2 commits
  5. 09 Jun, 2017 2 commits
  6. 05 Jun, 2017 2 commits
  7. 03 Jun, 2017 2 commits
  8. 02 Jun, 2017 1 commit
  9. 30 May, 2017 3 commits
  10. 29 May, 2017 1 commit
  11. 28 May, 2017 1 commit
  12. 27 May, 2017 5 commits
    • Linus Torvalds's avatar
      Merge tag 'tty-4.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 249f1efd
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are some serial and tty fixes for 4.12-rc3. They are a bit bigger
        than normal, which is why I had them bake in linux-next for a few
        weeks and didn't send them to you for -rc2.
      
        They revert a few of the serdev patches from 4.12-rc1, and bring
        things back to how they were in 4.11, to try to make things a bit more
        stable there. Rob and Johan both agree that this is the way forward,
        so this isn't people squabbling over semantics. Other than that, just
        a few minor serial driver fixes that people have had problems with.
      
        All of these have been in linux-next for a few weeks with no reported
        issues"
      
      * tag 'tty-4.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: altera_uart: call iounmap() at driver remove
        serial: imx: ensure UCR3 and UFCR are setup correctly
        MAINTAINERS/serial: Change maintainer of jsm driver
        serial: enable serdev support
        tty/serdev: add serdev registration interface
        serdev: Restore serdev_device_write_buf for atomic context
        serial: core: fix crash in uart_suspend_port
        tty: fix port buffer locking
        tty: ehv_bytechan: clean up init error handling
        serial: ifx6x60: fix use-after-free on module unload
        serial: altera_jtaguart: adding iounmap()
        serial: exar: Fix stuck MSIs
        serial: efm32: Fix parity management in 'efm32_uart_console_get_options()'
        serdev: fix tty-port client deregistration
        Revert "tty_port: register tty ports with serdev bus"
        drivers/tty: 8250: only call fintek_8250_probe when doing port I/O
      249f1efd
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.12-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 6f68a6ae
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "Fix running SPU programs on Cell, and a few other minor fixes.
      
        Thanks to Alistair Popple, Jeremy Kerr, Michael Neuling, Nicholas
        Piggin"
      
      * tag 'powerpc-4.12-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc: Add PPC_FEATURE userspace bits for SCV and DARN instructions
        powerpc/spufs: Fix hash faults for kernel regions
        powerpc: Fix booting P9 hash with CONFIG_PPC_RADIX_MMU=N
        powerpc/powernv/npu-dma.c: Fix opal_npu_destroy_context() call
        selftests/powerpc: Fix TM resched DSCR test with some compilers
      6f68a6ae
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 38e6bf23
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "A series of fixes for X86:
      
         - The final fix for the end-of-stack issue in the unwinder
         - Handle non PAT systems gracefully
         - Prevent access to uninitiliazed memory
         - Move early delay calaibration after basic init
         - Fix Kconfig help text
         - Fix a cross compile issue
         - Unbreak older make versions"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/timers: Move simple_udelay_calibration past init_hypervisor_platform
        x86/alternatives: Prevent uninitialized stack byte read in apply_alternatives()
        x86/PAT: Fix Xorg regression on CPUs that don't support PAT
        x86/watchdog: Fix Kconfig help text file path reference to lockup watchdog documentation
        x86/build: Permit building with old make versions
        x86/unwind: Add end-of-stack check for ftrace handlers
        Revert "x86/entry: Fix the end of the stack for newly forked tasks"
        x86/boot: Use CROSS_COMPILE prefix for readelf
      38e6bf23
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 39b8ab31
      Linus Torvalds authored
      Pull timer fixlet from Thomas Gleixner:
       "Silence dmesg spam by making the posix cpu timer printks depend on
        print_fatal_signals"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        posix-timers: Make signal printks conditional
      39b8ab31
    • Linus Torvalds's avatar
      Merge branch 'ras-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · de0b9d75
      Linus Torvalds authored
      Pull RAS fixes from Thomas Gleixner:
       "Two fixlets for RAS:
      
         - Export memory_error() so the NFIT module can utilize it
      
         - Handle memory errors in NFIT correctly"
      
      * 'ras-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        acpi, nfit: Fix the memory error check in nfit_handle_mce()
        x86/MCE: Export memory_error()
      de0b9d75