15 Oct, 2008

40 commits

  • * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
    i2c-viapro: Add support for SMBus Process Call transactions
    i2c: Restore i2c_smbus_process_call function
    i2c: Do earlier driver model init
    i2c: Only build Tyan SMBus mux drivers on x86
    i2c: Guard against oopses from bad init sequences
    i2c: Document the implementation details of the /dev interface
    i2c: Improve dev-interface documentation
    i2c-parport-light: Don't register a platform device resource
    hwmon: (dme1737) Convert to a new-style i2c driver
    hwmon: (dme1737) Be less i2c-centric
    i2c/tps65010: Vibrator hookup to gpiolib
    i2c-viapro: Add VX800/VX820 support
    i2c: Renesas Highlander FPGA SMBus support
    i2c-pca-isa: Don't grab arbitrary resources
    i2c/isp1301_omap: Convert to a new-style i2c driver, part 2
    i2c/isp1301_omap: Convert to a new-style i2c driver, part 1

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (55 commits)
    HID: build drivers for all quirky devices by default
    HID: add missing blacklist entry for Apple ATV ircontrol
    HID: add support for Bright ABNT2 brazilian device
    HID: Don't let Avermedia Radio FM800 be handled by usb hid drivers
    HID: fix numlock led on Dell device 0x413c/0x2105
    HID: remove warn() macro from usb hid drivers
    HID: remove info() macro from usb HID drivers
    HID: add appletv IR receiver quirk
    HID: fix a lockup regression when using force feedback on a PID device
    HID: hiddev.h: Fix example code.
    HID: hiddev.h: Fix mixed space and tabs in example code.
    HID: convert to dev_* prints
    HID: remove hid-ff
    HID: move zeroplus FF processing
    HID: move thrustmaster FF processing
    HID: move pantherlord FF processing
    HID: fix incorrent length condition in hidraw_write()
    HID: fix ttyhid deadlock
    HID: ignore iBuddy devices
    HID: report descriptor fix for remaining MacBook JIS keyboards
    ...

    Linus Torvalds
     
  • We shouldn't rely on "pnp_platform_devices" to tell us whether there
    is a PNP RTC device.

    I introduced "pnp_platform_devices", but I think it was a mistake.
    All it tells us is whether we found any PNPBIOS or PNPACPI devices.
    Many machines have some PNP devices, but do not describe the RTC
    via PNP. On those machines, we need to do the platform driver probe
    to find the RTC.

    We should just register the PNP driver and see whether it claims anything.
    If we don't find a PNP RTC, fall back to the platform driver probe.

    This (in conjunction with the arch/x86/kernel/rtc.c patch to add
    a platform RTC device when PNP doesn't have one) should resolve
    these issues:

    http://bugzilla.kernel.org/show_bug.cgi?id=11580
    https://bugzilla.redhat.com/show_bug.cgi?id=451188

    Signed-off-by: Bjorn Helgaas
    Acked-by: Rafael J. Wysocki
    Acked-by: David Brownell
    Reported-by: Rik Theys
    Reported-by: shr_msn@yahoo.com.tw
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • Move rtc_wake_setup() from drivers/acpi/glue.c into the RTC driver
    in drivers/rtc/rtc-cmos.c.

    This removes the ordering constraint between the module_init(acpi_rtc_init)
    and the cmos_do_probe() code that depends on it.

    Signed-off-by: Bjorn Helgaas
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • Once kernel configuration has CONFIG_HID turned on, let also all the
    specialized drivers for quirky devices to be built (unless CONFIG_EMBEDDED is
    specified), as usually users don't care that much which driver
    gives them the functionality, but when they want generic support, they
    probably want to have support for all the quirky devices as well.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • This device is already handled by hid-apple driver, but the blacklist entry
    was missing in generic driver.

    Reported-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • This keyboard needs to reset the LEDS during probe.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jiri Kosina

    Mauro Carvalho Chehab
     
  • Based on an original patch from Alexey Klimov ,
    against kernel version 2.6.27.

    This device is already handled by radio-mr800 driver, and we therefore
    want usbhid not to touch it.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jiri Kosina

    Mauro Carvalho Chehab
     
  • This keyboard needs to re-sync numlock after probing.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jiri Kosina

    Mauro Carvalho Chehab
     
  • USB should not be having it's own printk macros, so remove warn() and
    use the system-wide standard of dev_warn() wherever possible. In the
    few places that will not work out, use a basic printk().

    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Jiri Kosina

    From: Greg Kroah-Hartman
     
  • USB should not be having it's own printk macros, so remove info() and
    use the system-wide standard of dev_info() wherever possible.

    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Jiri Kosina

    Greg Kroah-Hartman
     
  • Similar to the existing IRCONTROL4 handling

    Signed-off-by: Peter Korsgaard
    Signed-off-by: Jiri Kosina

    Peter Korsgaard
     
  • Commit 8006479c9b75fb6594a7b746af3d7f1fbb68f18f introduced a spinlock in
    input_dev->event_lock, which is locked when handling input events.
    However, the hid-pidff driver sleeps when handling events as it waits for
    reports being sent to the device before changing the report contents
    again.
    This causes a system lockup when trying to use force feedback with a PID
    device, a regression introduced in 2.6.24 and 2.6.23.15.

    Fix it by extracting the raw report data from struct hid_report
    immediately when hid_submit_report() is called, therefore allowing
    drivers to change the contents of struct hid_report immediately without
    affecting the already-queued transfer.

    In hid-pidff, re-add the removed usbhid_wait_io() to
    pidff_erase_effect() instead, to prevent a full report queue from causing
    the submission to fail, thus not freeing up device memory.
    pidff_erase_effect() is not called while dev->event_lock is held.

    Signed-off-by: Anssi Hannula
    Signed-off-by: Jiri Kosina

    Anssi Hannula
     
  • Since we have a real device bound to a driver, we may use struct
    device for printing. Use dev_* functions instead of printks in
    4 drivers.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • hid-ff.c now calls only pidff (generic driver), the special ones are now
    in separate drivers. Invoke pidff on all non-special directly.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Move the force feedback processing into a separate module.

    [jkosina@suse.cz: fix Kconfig texts a little bit]

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • The bound check on the buffer length

    if (count > HID_MIN_BUFFER_SIZE)

    is of course incorrent, the proper check is

    if (count > HID_MAX_BUFFER_SIZE)

    Fix it.

    Reported-by: Jerry Ryle
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • hid_compat_load() runs on the default workqueue, it request_module(), it
    execs modprobe, it exits, tty flushes default workqueue, it hangs, because
    we are still in it.

    Signed-off-by: Jiri Slaby
    Tested-by:
    Signed-off-by: Andrew Morton
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • iBuddy devices claim to be HID devices, but they are not.
    Add them to the blacklist.

    Signed-off-by: Remi Cattiau
    Signed-off-by: Jiri Kosina

    Remi Cattiau
     
  • This patch fixes a problem that MacBook JIS keyboard sends wrong report
    descriptors. Although it has already been fixed in the first Core 2 Duo model,
    it still remains in other models of MacBook.

    Signed-off-by: Tomoya Adachi
    Signed-off-by: Jiri Kosina

    Tomoya Adachi
     
  • Fix config symbol name in ifdef to fix build error:

    ERROR: "hid_compat_gyration" [drivers/hid/hid-dummy.ko] undefined!

    Signed-off-by: Randy Dunlap
    Acked-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Randy Dunlap
     
  • Current kernel has no support for autocentering for Logitech wheels. By
    default autocentering enabled in wheel and constant effect does not work
    properly. Using USB sniffer I found command which change autocentering
    settings: 0xFE, 0x0D, 0x0R, 0x0L, 0x80, 0x00, 0x00, where R - clockwise force,
    L - counter-clockwise (0x0-0xF, 0xC = 100%).

    Signed-off-by: Sergey Belyashov
    Signed-off-by: Jiri Kosina

    Sergey Belyashov
     
  • The Kconfig option for HID_COMPAT should read "lose", not "loose".

    Signed-off-by: Alex Chiang
    Signed-off-by: Jiri Kosina

    Alex Chiang
     
  • This seems to be the very same device, as already supported Smartjoy
    dual Plus, but with slightly different vendor ID. Let's support this
    one too.

    Reported-by: David Ashley
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • This patch reverts the change made four years ago here:
    http://www.vg.kernel.org/pub/linux/kernel/people/gregkh/usb/2.4/usb-hid-2.4.25-pre7.patch

    UPS's made by MGE can be used with usbhid just fine, and by removing the
    ignore quirk allows them to be used with HAL so they just work when plugged
    in, without needing to be manually configured.

    With the ignore quirk in place a user would have to configure NUT before the
    UPS could be used, as NUT uses it's own internal USB matching framework
    to match against the USB devices, do low level control messages on the
    device and then parse the HID tables all in userspace.

    This is not needed, as allowing the device to be claimed as a usbhid device
    allows it to be used like any other USB UPS device. The devices correctly
    advertise the power device page which can be queried for the device state.

    I assume the quirk was changed so that people using < libusb 0.1.8 could
    still use NUT's internal HID code to manage the UPS.
    libusb 0.1.8 was released quite some time ago: 2004-02-11.

    This patch does not break NUT as in drivers/libusb.c the device is force
    unbound from the kernel driver using usb_detach_kernel_driver_np () where
    it can be controlled like normal.

    [jkosina@suse.cz: adapt to the new hidbus code]

    Signed-off-by: Richard Hughes
    Signed-off-by: Jiri Kosina

    Richard Hughes
     
  • Introduce a list of devices for which there is need to
    force a creation of the hiddev interface, but still they
    are operated by generic driver (i.e. certain UPS).

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Merge the logitech force feedback processing directly into logitech
    driver from the usbhid core.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Move the handling of the leds resetting from the core to
    the dell and logitech drivers.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Move connecting from usbhid to the hid layer and fix also hidp in
    that manner.
    This removes all the ignore/force hidinput/hiddev connecting quirks.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Remove support for both dynamic and static report descriptor
    quirks. There is no longer rdesc code which it would support,
    so it's useless.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Remove the file since these is no user now.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby