18 Oct, 2010

2 commits

  • 448cd16 ("Input: evdev - rearrange ioctl handling") broke EVIOCSABS by
    checking for the wrong direction bit.

    Signed-off-by: Daniel Mack
    Reported-by: Sven Neumann
    Tested-by: Sven Neumann
    Signed-off-by: Dmitry Torokhov

    Daniel Mack
     
  • This fixes a regression introduced by the dynamic allocation of absinfo
    for input devices. We need to bail out early for input devices which
    don't have absolute axis.

    [ 929.664303] Pid: 2989, comm: input Not tainted 2.6.36-rc8+ #14 MS-7260/MS-7260
    [ 929.664318] EIP: 0060:[] EFLAGS: 00010246 CPU: 0
    [ 929.664331] EIP is at evdev_ioctl+0x4f8/0x59f
    [ 929.664341] EAX: 00000040 EBX: 00000000 ECX: 00000006 EDX: f45a1efc
    [ 929.664355] ESI: 00000000 EDI: f45a1efc EBP: f45a1f24 ESP: f45a1eb8
    [ 929.664369] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    [ 929.664402] f470da74 f6a30e78 f462c240 00000018 bfe4a260 00000000 f45b06fc 00000000
    [ 929.664429] 000000c4 b769d000 c3544620 f470da74 f45b06fc f45b06fc f45a1f38 c107dd1f
    [ 929.664458] f4710b74 000000c4 00000000 00000000 00000000 0000029d 00000a74 f4710b74
    [ 929.664500] [] ? handle_mm_fault+0x2be/0x59a
    [ 929.664513] [] ? evdev_ioctl+0x0/0x59f
    [ 929.664524] [] ? do_vfs_ioctl+0x494/0x4d9
    [ 929.664538] [] ? up_read+0x16/0x29
    [ 929.664550] [] ? do_page_fault+0x2ff/0x32d
    [ 929.664564] [] ? do_sys_open+0xc5/0xcf
    [ 929.664575] [] ? sys_ioctl+0x41/0x61
    [ 929.664587] [] ? sysenter_do_call+0x12/0x36
    [ 929.684570] ---[ end trace 11b83e923bd8f2bb ]---

    Signed-off-by: Daniel Mack
    Signed-off-by: Dmitry Torokhov

    Daniel Mack
     

11 Oct, 2010

1 commit


05 Oct, 2010

1 commit

  • When runtime PM is enabled by default for input devices, X hangs in
    wacom open:
    [] mutex_lock+0x1a/0x40
    [] wacom_resume+0x3b/0x90 [wacom]
    [] usb_resume_interface+0xd2/0x190
    [] usb_resume_both+0x6d/0x110
    [] usb_runtime_resume+0x24/0x40
    [] __pm_runtime_resume+0x26f/0x450
    [] __pm_runtime_resume+0x1da/0x450
    [] pm_runtime_resume+0x2a/0x50
    [] usb_autopm_get_interface+0x26/0x60
    [] wacom_open+0x36/0x90 [wacom]

    wacom_open() takes wacom->lock and calls usb_autopm_get_interface(),
    which in turn calls wacom_resume() which tries to acquire the lock
    again.

    The fix is to call usb_autopm_get_interface() first, before we take
    the lock.

    Since we do not do usb_autopm_put_interface() until wacom_close()
    is called runtime PM is effectively disabled for the driver, however
    changing it now would risk regressions so the complete fix will
    have to wait till the next merge window.

    Reported-by: Jiri Slaby
    Acked-by: Oliver Neukum
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

21 Sep, 2010

1 commit


20 Sep, 2010

1 commit

  • The input devices created by uinput do not currently handle multitouch
    properly. All events will appear as if they came from slot zero, and
    the input event buffers are not adjusted. This patch creates the MT
    slots during setup, and sets the number of events per packet based
    on the MT usage.

    Signed-off-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     

01 Sep, 2010

2 commits

  • We need to call platform_device_unregister(i8042_platform_device)
    before calling platform_driver_unregister() because i8042_remove()
    resets i8042_platform_device to NULL. This leaves the platform device
    instance behind and prevents driver reload.

    Fixes https://bugzilla.kernel.org/show_bug.cgi?id=16613

    Reported-by: Seryodkin Victor
    Cc: stable@kernel.org
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • By visual inspection, the reported touch_major and touch_minor axes
    are a factor of two too small. Presumably the device actually reports
    the semi-major and semi-minor axes. Corrected with this patch.

    Signed-off-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     

29 Aug, 2010

2 commits

  • For MT slots, the ABS_MT_TRACKING_ID determines whether a slot is in use,
    but currently leaves initialization up to the drivers. This patch sets the
    slot state to unused upon creation.

    Signed-off-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     
  • This fixes a regression introduced in
    3b57ca0f80c5c8994b5b1e3d3f904cfe727951f2.

    The data[6] byte contains either 1 or -1 depending on the whether the
    mouse wheel on older wacom tablets is moved down (1) or up (-1). The
    patch introduced in the above commit changed the cast from (signed char)
    to (signed). When cast as a signed integer and negated, the value of -1
    (stored in the byte as 0xff) became -255 rather than 1. This patch
    reverts the cast to a (signed char) and also removes an unnecessary
    (signed) cast, as all the values operated on are bitmasked.

    Signed-off-by: Mike Auty
    Reviewed-by: Ping Cheng
    Cc; stable@kernel.org
    Signed-off-by: Dmitry Torokhov

    Mike Auty
     

25 Aug, 2010

2 commits


21 Aug, 2010

2 commits


14 Aug, 2010

1 commit

  • They've been introduced by 987a6c02 ("Input: switch to input_abs_*()
    access functions") and they appear to be some kind of debug left-over.

    [Dmitry Torokhov: these are my fault - I added XX prefixes in places where
    I wanted to do additional review of the code but failed to actually do
    that in these particular instances.]

    Signed-off-by: Daniel Mack
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Linus Torvalds

    Daniel Mack
     

13 Aug, 2010

3 commits

  • * 'params' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (22 commits)
    param: don't deref arg in __same_type() checks
    param: update drivers/acpi/debug.c to new scheme
    param: use module_param in drivers/message/fusion/mptbase.c
    ide: use module_param_named rather than module_param_call
    param: update drivers/char/ipmi/ipmi_watchdog.c to new scheme
    param: lock if_sdio's lbs_helper_name and lbs_fw_name against sysfs changes.
    param: lock myri10ge_fw_name against sysfs changes.
    param: simple locking for sysfs-writable charp parameters
    param: remove unnecessary writable charp
    param: add kerneldoc to moduleparam.h
    param: locking for kernel parameters
    param: make param sections const.
    param: use free hook for charp (fix leak of charp parameters)
    param: add a free hook to kernel_param_ops.
    param: silence .init.text references from param ops
    Add param ops struct for hvc_iucv driver.
    nfs: update for module_param_named API change
    AppArmor: update for module_param_named API change
    param: use ops in struct kernel_param, rather than get and set fns directly
    param: move the EXPORT_SYMBOL to after the definitions.
    ...

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (40 commits)
    mfd: Fix incorrect kfree(i2c) in wm8994-core i2c_driver probe
    mfd: Fix incorrect kfree(i2c) in wm831x-core i2c_driver probe
    mfd: Fix incorrect kfree(i2c) in tps6507x i2c_driver probe
    mfd: Add TPS6586x driver
    mfd: Use macros instead of some constant magic numbers for menelaus
    mfd: Fix menelaus mmc slot 2 misconfiguration
    mfd: Missing slab.h includes
    mfd: Fix wrong wm8350-core kfree in error path
    mfd: Fix wm8994_device_init() return value
    mfd: Avoid calling platform_device_put() twice in ucb1400 probe error path
    mfd: Annotate tc6387xb probe/remove routines with __devinit/__devexit
    mfd: Fix tc6387xb resource reclaim
    mfd: Fix wrong goto labels for tc6393xb error handling
    mfd: Get rid of now unused mc13783 private header
    hwmon: Don't access struct mc13783 directly from mc13783-adc
    mfd: New mc13783 function exposing flags
    mfd: Check jz4740-adc kmalloc() result
    mfd: Fix jz4740-adc resource reclaim in probe error path
    mfd: Add WM8321 support
    mfd: Add stmpe auto sleep feature
    ...

    Linus Torvalds
     
  • * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6:
    mmc_spi: Fix unterminated of_match_table
    of/sparc: fix build regression from of_device changes
    of/device: Replace struct of_device with struct platform_device

    Linus Torvalds
     

12 Aug, 2010

3 commits


11 Aug, 2010

3 commits

  • To keep panic_timeout accuracy when running under a hypervisor, the
    current implementation only spins on long time (1 second) calls to mdelay.
    That brings a good effect, but the problem is the keyboard LEDs don't
    blink at all on that situation.

    This patch changes to call to panic_blink_enter() between every mdelay and
    keeps blinking in spite of long spin timer mode.

    The time to call to mdelay is now 100ms. Even this change will keep
    panic_timeout accuracy enough when running under a hypervisor.

    Signed-off-by: TAMUKI Shoichi
    Cc: Ben Dooks
    Cc: Russell King
    Acked-by: Dmitry Torokhov
    Cc: Anton Blanchard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    TAMUKI Shoichi
     
  • This is more kernel-ish, saves some space, and also allows us to
    expand the ops without breaking all the callers who are happy for the
    new members to be NULL.

    The few places which defined their own param types are changed to the
    new scheme (more which crept in recently fixed in following patches).

    Since we're touching them anyway, we change get() and set() to take a
    const struct kernel_param (which they really are). This causes some
    harmless warnings until we fix them (in following patches).

    To reduce churn, module_param_call creates the ops struct so the callers
    don't have to change (and casts the functions to reduce warnings).
    The modern version which takes an ops struct is called module_param_cb.

    Signed-off-by: Rusty Russell
    Reviewed-by: Takashi Iwai
    Tested-by: Phil Carmody
    Cc: "David S. Miller"
    Cc: Ville Syrjala
    Cc: Dmitry Torokhov
    Cc: Alessandro Rubini
    Cc: Michal Januszewski
    Cc: Trond Myklebust
    Cc: "J. Bruce Fields"
    Cc: Neil Brown
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-input@vger.kernel.org
    Cc: linux-fbdev-devel@lists.sourceforge.net
    Cc: linux-nfs@vger.kernel.org
    Cc: netdev@vger.kernel.org

    Rusty Russell
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: xpad - add USB-ID for PL-3601 Xbox 360 pad
    Input: cy8ctmg100_ts - signedness bug
    Input: elantech - report position also with 3 fingers
    Input: elantech - discard the first 2 positions on some firmwares
    Input: adxl34x - do not mark device as disabled on startup
    Input: gpio_keys - add hooks to enable/disable device
    Input: evdev - rearrange ioctl handling
    Input: dynamically allocate ABS information
    Input: switch to input_abs_*() access functions
    Input: add static inline accessors for ABS properties

    Linus Torvalds
     

10 Aug, 2010

3 commits


09 Aug, 2010

1 commit


07 Aug, 2010

1 commit


06 Aug, 2010

7 commits

  • of_device is just an alias for platform_device, so remove it entirely. Also
    replace to_of_device() with to_platform_device() and update comment blocks.

    This patch was initially generated from the following semantic patch, and then
    edited by hand to pick up the bits that coccinelle didn't catch.

    @@
    @@
    -struct of_device
    +struct platform_device

    Signed-off-by: Grant Likely
    Reviewed-by: David S. Miller

    Grant Likely
     
  • The 6-byte protocol supports reporting the position when three fingers
    are pressed, exactly like when one finger is pressed. Report this.

    In addition, it is also distinguishes between 3 and 4 fingers pressed.

    Signed-off-by: Éric Piel
    Signed-off-by: Dmitry Torokhov

    Éric Piel
     
  • According to the Dell/Ubuntu driver, what was previously observed as
    "jumpy cursor" corresponds to the hardware sending incorrect data for
    the first two reports of a one touch finger. So let's use the same
    workaround as in the other driver. Also, detect another firmware
    version with the same behaviour, as in the other driver.

    Signed-off-by: Éric Piel
    Signed-off-by: Dmitry Torokhov

    Éric Piel
     
  • * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: (63 commits)
    of/platform: Register of_platform_drivers with an "of:" prefix
    of/address: Clean up function declarations
    of/spi: call of_register_spi_devices() from spi core code
    of: Provide default of_node_to_nid() implementation.
    of/device: Make of_device_make_bus_id() usable by other code.
    of/irq: Fix endian issues in parsing interrupt specifiers
    of: Fix phandle endian issues
    of/flattree: fix of_flat_dt_is_compatible() to match the full compatible string
    of: remove of_default_bus_ids
    of: make of_find_device_by_node generic
    microblaze: remove references to of_device and to_of_device
    sparc: remove references to of_device and to_of_device
    powerpc: remove references to of_device and to_of_device
    of/device: Replace of_device with platform_device in includes and core code
    of/device: Protect against binding of_platform_drivers to non-OF devices
    of: remove asm/of_device.h
    of: remove asm/of_platform.h
    of/platform: remove all of_bus_type and of_platform_bus_type references
    of: Merge of_platform_bus_type with platform_bus_type
    drivercore/of: Add OF style matching to platform bus
    ...

    Fix up trivial conflicts in arch/microblaze/kernel/Makefile due to just
    some obj-y removals by the devicetree branch, while the microblaze
    updates added a new file.

    Linus Torvalds
     
  • * 'upstream/xen' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen: (23 commits)
    xen/panic: use xen_reboot and fix smp_send_stop
    Xen: register panic notifier to take crashes of xen guests on panic
    xen: support large numbers of CPUs with vcpu info placement
    xen: drop xen_sched_clock in favour of using plain wallclock time
    pvops: do not notify callers from register_xenstore_notifier
    Introduce CONFIG_XEN_PVHVM compile option
    blkfront: do not create a PV cdrom device if xen_hvm_guest
    support multiple .discard.* sections to avoid section type conflicts
    xen/pvhvm: fix build problem when !CONFIG_XEN
    xenfs: enable for HVM domains too
    x86: Call HVMOP_pagetable_dying on exit_mmap.
    x86: Unplug emulated disks and nics.
    x86: Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock.
    implement O_NONBLOCK for /proc/xen/xenbus
    xen: Fix find_unbound_irq in presence of ioapic irqs.
    xen: Add suspend/resume support for PV on HVM guests.
    xen: Xen PCI platform device driver.
    x86/xen: event channels delivery on HVM.
    x86: early PV on HVM features initialization.
    xen: Add support for HVM hypercalls.
    ...

    Linus Torvalds
     
  • Do not mark device as desabled on startup - otherwise user must reset
    disable sysfs hook before the driver delivers any data.

    Signed-off-by: Michael Hennerich
    Signed-off-by: Dmitry Torokhov

    Michael Hennerich
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (79 commits)
    powerpc/8xx: Add support for the MPC8xx based boards from TQC
    powerpc/85xx: Introduce support for the Freescale P1022DS reference board
    powerpc/85xx: Adding DTS for the STx GP3-SSA MPC8555 board
    powerpc/85xx: Change deprecated binding for 85xx-based boards
    powerpc/tqm85xx: add a quirk for ti1520 PCMCIA bridge
    powerpc/tqm85xx: update PCI interrupt-map attribute
    powerpc/mpc8308rdb: support for MPC8308RDB board from Freescale
    powerpc/fsl_pci: add quirk for mpc8308 pcie bridge
    powerpc/85xx: Cleanup QE initialization for MPC85xxMDS boards
    powerpc/85xx: Fix booting for P1021MDS boards
    powerpc/85xx: Fix SWIOTLB initalization for MPC85xxMDS boards
    powerpc/85xx: kexec for SMP 85xx BookE systems
    powerpc/5200/i2c: improve i2c bus error recovery
    of/xilinxfb: update tft compatible versions
    powerpc/fsl-diu-fb: Support setting display mode using EDID
    powerpc/5121: doc/dts-bindings: update doc of FSL DIU bindings
    powerpc/5121: shared DIU framebuffer support
    powerpc/5121: move fsl-diu-fb.h to include/linux
    powerpc/5121: fsl-diu-fb: fix issue with re-enabling DIU area descriptor
    powerpc/512x: add clock structure for Video-IN (VIU) unit
    ...

    Linus Torvalds
     

05 Aug, 2010

3 commits

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)
    Documentation: update broken web addresses.
    fix comment typo "choosed" -> "chosen"
    hostap:hostap_hw.c Fix typo in comment
    Fix spelling contorller -> controller in comments
    Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault
    fs/Kconfig: Fix typo Userpace -> Userspace
    Removing dead MACH_U300_BS26
    drivers/infiniband: Remove unnecessary casts of private_data
    fs/ocfs2: Remove unnecessary casts of private_data
    libfc: use ARRAY_SIZE
    scsi: bfa: use ARRAY_SIZE
    drm: i915: use ARRAY_SIZE
    drm: drm_edid: use ARRAY_SIZE
    synclink: use ARRAY_SIZE
    block: cciss: use ARRAY_SIZE
    comment typo fixes: charater => character
    fix comment typos concerning "challenge"
    arm: plat-spear: fix typo in kerneldoc
    reiserfs: typo comment fix
    update email address
    ...

    Linus Torvalds
     
  • * upstream/pvhvm:
    Introduce CONFIG_XEN_PVHVM compile option
    blkfront: do not create a PV cdrom device if xen_hvm_guest
    support multiple .discard.* sections to avoid section type conflicts
    xen/pvhvm: fix build problem when !CONFIG_XEN
    xenfs: enable for HVM domains too
    x86: Call HVMOP_pagetable_dying on exit_mmap.
    x86: Unplug emulated disks and nics.
    x86: Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock.
    xen: Fix find_unbound_irq in presence of ioapic irqs.
    xen: Add suspend/resume support for PV on HVM guests.
    xen: Xen PCI platform device driver.
    x86/xen: event channels delivery on HVM.
    x86: early PV on HVM features initialization.
    xen: Add support for HVM hypercalls.

    Conflicts:
    arch/x86/xen/enlighten.c
    arch/x86/xen/time.c

    Jeremy Fitzhardinge
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)
    Input: adp5588-keypad - fix NULL dereference in adp5588_gpio_add()
    Input: cy8ctmg110 - capacitive touchscreen support
    Input: keyboard - also match braille-only keyboards
    Input: adp5588-keys - export unused GPIO pins
    Input: xpad - add product ID for Hori Fighting Stick EX2
    Input: adxl34x - fix leak and use after free
    Input: samsung-keypad - Add samsung keypad driver
    Input: i8042 - reset keyboard controller wehen resuming from S2R
    Input: synaptics - set min/max for finger width
    Input: synaptics - only report width on hardware that supports it
    Input: evdev - signal that device is writable in evdev_poll()
    Input: mousedev - signal that device is writable in mousedev_poll()
    Input: change input handlers to use bool when possible
    Input: document the MT event slot protocol
    Input: introduce MT event slots
    Input: usbtouchscreen - implement reset_resume
    Input: usbtouchscreen - implement runtime power management
    Input: usbtouchscreen - implement basic suspend/resume
    Input: Add ATMEL QT602240 touchscreen driver
    Input: fix signedness warning in input_set_keycode()
    ...

    Linus Torvalds
     

04 Aug, 2010

1 commit