14 Oct, 2007

40 commits

  • GeneralTouch touchscreens are handled by usbtouchscreen driver,
    make sure HID ignores them.

    Signed-off-by: Ilya Frolov
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Jiri Kosina

    Ilya Frolov
     
  • This keyboard emits a few usages that are not handled properly by
    hid-input.

    Changed IS_MS_NEK4K macro to IS_MS_KB to reflect the addition
    of another keyboard.

    Signed-off-by: Khelben Blackstaff
    Signed-off-by: Jiri Kosina

    Khelben Blackstaff
     
  • HUT 1.12 defines Logoff usage 0x19c in Consumer page. There are
    keyboards out there emitting this usage code (for example Microsoft
    Wireless Laser Keyboard 6000). Add this key so that HID code could
    map usages to it.

    Signed-off-by: Khelben Blackstaff
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Jiri Kosina

    Khelben Blackstaff
     
  • This patch fixes the problem, that Japanese MacBook doesn't recognize some keys
    like '\'(yen, or backslash), '|'(pipe), and '_'(underscore).

    It is due to that MacBook JIS keyboard (jp106) sends wrong report descriptor.
    It saids "logical maximum = 0x65", so Keyboard.0089 is mapped to Key.Unknown,
    while it should be accepted as Key.Yen.

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

    Tomoya Adachi
     
  • - added KERN_DEBUG to output lines
    - fixed preffered -> preferred typo
    - added const to char *'s

    Also, exported symbol hid_resolv_event is unused by the current
    kernel tree and perhaps should be removed.

    Signed-off-by: Joe Perches
    Signed-off-by: Jiri Kosina

    Joe Perches
     
  • Special keys 1-5 on Microsoft Ergonomic Keyboard were mistakenly
    mapped to buttons, which doesn't make a lot of sense. Fix this
    mapping to KEY_F{13,18}.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Add 0e8f:0003 into the list of devices supported by the hid-plff
    force feedback driver. These devices identify themselves as
    "GreenAsia Inc. USB Joystick " and can be either adapters or
    actual game controllers. The testing was done with a Köng Gaming
    gamepad.

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

    Anssi Hannula
     
  • Use HID_QUIRK_NOGET for the ELO TS2700 touch screen USB HID device in
    order to avoid a timeout during initialisation.

    Signed-off-by: Mike Crowe
    Signed-off-by: Jiri Kosina

    Mike Crowe
     
  • The infrared remote receiver found in the SantaRosa MacBookPro
    laptops (MacBookPro3,1) need to be forced to expose a HIDDEV
    interface (instead of HIDINPUT) so that lirc can access it using
    the 'macmini' driver.

    The patch below adds the required quirk for forcing the HIDDEV
    interface to be activated (HID_QUIRK_HIDDEV) and introduces a new
    quirk which forces the HIDINPUT interface to be ignored
    (HID_QUIRK_IGNORE_HIDINPUT).

    Note that Apple calls this receiver 'IRController4' (info taken
    from Apple's driver Info.plist). Older Mac{Book,Mini,Pro}s seem
    to all use the 'IRController1' device (USB id 05ac:8240) which
    doesn't need those quirks.

    Signed-off-by: Stelian Pop
    Signed-off-by: Jiri Kosina

    Stelian Pop
     
  • There is a separate driver cm109 for handling this device.

    Signed-off-by: Alfred E. Heggestad
    Signed-off-by: Jiri Kosina

    Alfred E. Heggestad
     
  • Current HID layer does not report usage codes to the input layer. This feature
    was previously removed, because it caused unnecessary storm of events in cases
    of positioning devices, etc.

    This patch adds reporting of usage codes as EV_MSC events only for key events.
    We issue the EV_MSC event only if the state of the key corresponding to the
    given code has changed, so that we don't report usages that are sent in every
    report even if the state hasn't changed (for example Shift/Caps Lock/...
    states as sent by various keyboards).

    This functionality is required at least by KeyTouch in order to provide
    convenient means for remapping the usage codes.

    Cc: Marvin Raaijmakers
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • We have to ignore all non-LED usages in output fields if the
    report descriptor of the device specifies any. If we don't do
    so, the devices which contain the same usages both in input and
    output reports with different parameters will mess things up. In
    hid-input, we currently care only for the input usages, with exception
    for LEDs. All other output usages should be properly handled by
    appropriate force-feedback driver.

    Fixes auto-calibration for Saitek Cyborg Evo Force joystick.

    Reported-by: Renato Golin
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Fixes some trivial whitespace damage in hid-input.c

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Rework thrustmaster force-feedback module to support devices having
    different types of force feedback effects. Add signatures of
    Thrustmaster FGT Rumble Force and Thrustmaster FGT Force Feedback
    wheels to the list of devices dupported by the module.

    Parts of the patch were lifted off a simalar patch by
    Anssi Hannula

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Jiri Kosina

    Dmitry Torokhov
     
  • Autosuspend for USB HID devices remains problematic as far as mice
    and keyboards are concerned. While I am working on a grand solution,
    here's a minimalist patch that works for those devices not continously
    in use.

    Signed-off-by: Oliver Neukum
    Signed-off-by: Jiri Kosina

    Oliver Neukum
     
  • This keyboard emits a few usages that are not handled properly by
    hid-input.

    The usages from MSVENDOR page are colliding with Chicony Tactical
    Pad device, so we have to distinguish in runtime. Ugly ...

    Also, the buttons 1-5 have to be handled in a non-standard way,
    as they are emitted by the keyboard in a bitfield-like fashion, but
    the field is not presented as bit-field by the keyboard. The keys can't
    be pressed simultaneously, so the handling we have is correct.

    This patch also extends hid_keyboard[] with KPLeftParenthesis and
    KPRightParenthesis as defined by Keyboard page in HUT 1.12. The
    corresponding usages are also emitted by this keyboard.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • HUT 1.12 defines Spell Check usage 0x1ab in Consumer page. There are
    keyboards out there emitting this usage code (for example Microsoft
    Natural Ergonomic Keyboard 4000). Add this key so that HID code could
    map usages to it.

    Acked-by: Dmitry Torokhov
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    mlx4_core: Fix infinite loop on device initialization

    Linus Torvalds
     
  • The i2c-nforce2 driver has SMBus PEC support, so it should say so.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • This patch is to add an abort function that will bring back the MCP51/55
    controller if it was blocked by a block-read operation, in particular.
    (When a slave sends a wrong byte count on a byte read, the host gets
    locked up). I've only tested it on an MCP51 and MCP55. However, I'm
    almost certain it will also work on MCP65, I just did not have the board
    to test it on. Thus for now the abort function will only be called
    if an MCP51/55 was detected.

    Signed-off-by: Oleg Ryjkov
    Signed-off-by: Jean Delvare

    Oleg Ryjkov
     
  • This is the first part of the patch that adds a function to reset the
    nvidia MCP51/55 i2c controller, if something bad happens to it (e.g.
    a slave sends a wrong byte count during a block transaction).

    This patch just adds nforce2_check_status function. It was originally
    written by Hans-Frieder Vogt.

    The reason that I'm the one sending it is:
    - I relied on it for the second part of the patch,
    - It makes the driver code cleaner/better.

    Signed-off-by: Oleg Ryjkov
    Signed-off-by: Jean Delvare

    Oleg Ryjkov
     
  • Fix a "mis-used register" problem on the AMD MIPS Alchemy au1550
    I2C interface.

    In summary, the programmable serial controller seems to hang the kernel
    when I send a single 'address' byte on the I2C bus. The patch
    essentially uses the PSC_SMBSTAT register's TE (transmit FIFO empty)
    bit to check when the transmit FIFO is empty, instead of using the
    PSC_SMBEVNT register's TU (transmit underflow) bit. Using the TE bit
    fixed the hang problem.

    Signed-off-by: Chris David
    Acked-by: Ralf Baechle
    Signed-off-by: Jean Delvare

    Chris David
     
  • Rename I2C_FUNC_SMBUS_HWPEC_CALC as I2C_FUNC_SMBUS_PEC, and list that
    functionality as always available through the software implementation.
    Update documentation accordingly (and list similar requirements).

    The way it's currently packaged doesn't present the capability in a
    useful way.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • Mark the i2c-at91 driver BROKEN in Kconfig, and explain just
    why it's broken. (Summary: hardware design issues.)

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • Move the i2c-dev support into where it should always
    have lived. Now no longer holds stuff related to the
    optional userspace /dev/i2c-X interface. Improve the descriptions
    for these ioctl requests.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • This removes:

    - An effectively unused hook: i2c_algorithm.algo_control.

    - The i2c_control() call, used only by i2c-dev to call that
    unused hook or set two barely supported adapter params.

    (That param setting moves into i2c-dev.c ... still iffy
    due to lack of locking, but no other changes.)

    As shown by diffstat, this is a net code shrink. It also reduces the
    complexity of the I2C adapter and /dev interfaces.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • i2c_algorithm.algo_control is about to be removed.

    Signed-off-by: Jean Delvare
    Reviewed-by: Michael Krufky
    Acked-by: Mauro Carvalho Chehab

    Jean Delvare
     
  • This removes NOP implementations of i2c_algorithm.algo_control.

    With this change, there are no implementations of this hook in
    the kernel.org tree ... that hook seems about ripe to remove.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • The I2C_M_RECV_LEN calling convention for i2c_mesg.flags involves
    playing games with reported buffer lengths. (They start out less
    than their actual size, and the length is then modified to reflect
    how many bytes were delivered ... which one hopes is less than the
    presumed actual size.) Refuse to play such error prone games across
    the boundary between userspace and kernel.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • Add support for multiple chips to i2c-stub. I've changed the memory
    allocation scheme from static to dynamic, so that we don't waste too
    much memory.

    Signed-off-by: Jean Delvare
    Acked-by: Mark M. Hoffman

    Jean Delvare
     
  • Remove this unneeded mutex. Indeed it was used to serialize access to
    the hardware, but this is already done by the i2c-core layer, see
    'bus_lock' mutex used by i2c_transfer().

    Signed-off-by: Francis Moreau
    Acked-by: Bryan Wu
    Signed-off-by: Jean Delvare

    Francis Moreau
     
  • Add the Intel Tolapai SMBus Controller DID.

    Signed-off-by: Jason Gaston
    Signed-off-by: Jean Delvare

    Jason Gaston
     
  • Clarify use of the I2C_M_* flags by highlighting the fact that
    most of them depend on I2C_FUNC_PROTOCOL_MANGLING.

    Also provide kerneldoc for i2c_smbus_read_block_data() and also
    for "struct i2c_msg".

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • Do not initialize the PCF8574 with an arbitrary value. Users will have
    to write the initial value to sysfs themselves.

    Signed-off-by: Jean Delvare
    Acked-by: Aurelien Jarno

    Jean Delvare
     
  • Signed-off-by: Vladimir Barinov
    Acked-by: Trilok Soni
    Signed-off-by: Jean Delvare

    Vladimir Barinov
     
  • Use i2c_bit_add_numbered_adapter() if device id specified, so that the
    i2c-ibm_iic adapter works well with new-style pre-declared devices.

    Signed-off-by: Stefan Roese
    Signed-off-by: Jean Delvare

    Stefan Roese
     
  • Switch the tps65010 driver into a "new-style" I2C driver, and convert all
    of its in-tree users (board support for OSK, H2, H3) accordingly.

    That accounts for most of the board-specific code in this driver; the
    rest of that code is now moved into board-specific initcalls.

    Also remove some of the many now-superfluous #includes.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • Prepare to convert tps65010 driver to "new style" driver by changing
    how it references the i2c_client. This lets the eventual patch with
    driver and platform updates be smaller.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • After the i2c-isa removal some code can become static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Jean Delvare

    Adrian Bunk
     
  • We need to be able to flag I2C devices, such as RTCs, which can issue wake
    events (usually through IRQ lines). This adds an i2c_board_info.flags bit,
    and uses it to initialize the i2c device node. (And shrinks a few lines
    that were overly long.)

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell