1. 03 6月, 2013 12 次提交
    • D
      HID: wiimote: convert IR to module · 3b5f03c4
      David Herrmann 提交于
      IR is the last piece that still is handled natively. This patch converts
      it into a sub-device module like all other sub-devices. It mainly moves
      code and doesn't change semantics.
      
      We also implicitly sync IR data on ir_to_input3 now so the explicit
      input_sync() calls are no longer needed.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      3b5f03c4
    • D
      HID: wiimote: convert ACCEL to module · 0ea16757
      David Herrmann 提交于
      Accelerometer data is very similar to KEYS handling. Therefore, convert
      all ACCEL related handling into a sub-device module similar to KEYS.
      
      This doesn't change any semantics but only moves code over to
      wiimote-modules.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      0ea16757
    • D
      HID: wiimote: convert LEDS to modules · 6c5ae018
      David Herrmann 提交于
      Each of the 4 LEDs may be supported individually by devices. Therefore,
      we need one module for each device. To avoid code-duplication, we simply
      pass the LED ID as "arg" argument to the module loading code.
      
      This just moves the code over to wiimote-module. The semantics stay the
      same as before.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      6c5ae018
    • D
      HID: wiimote: convert BATTERY to module · dcf39231
      David Herrmann 提交于
      This introduces a new sub-device module for the BATTERY handlers. It
      moves the whole power_supply battery handling over to wiimote-modules.
      
      This doesn't change any semantics or ABI but only converts the battery
      handling into a sub-device module.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      dcf39231
    • D
      HID: wiimote: convert KEYS and RUMBLE to modules · 20cef813
      David Herrmann 提交于
      This introduces the first sub-device modules by converting the KEYS and
      RUMBLE sub-devices into wiimote modules. Both must be converted at once
      because they depend on the built-in shared input device.
      
      This mostly moves code from wiimote-core to wiimote-modules and doesn't
      change any semantics or ABI.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      20cef813
    • D
      HID: wiimote: add sub-device module infrastructure · 27f06942
      David Herrmann 提交于
      To avoid loading all sub-device drivers for every Wii Remote, even though
      the required hardware might not be available, we introduce a module layer.
      
      The module layer specifies which sub-devices are available on each
      device-type. After device detection, we only load the modules for the
      detected device. If module loading fails, we unload everything and mark
      the device as WIIMOTE_DEV_UNKNOWN. As long as a device is marked as
      "unknown", no sub-devices will be used and the device is considered
      unsupported.
      
      All the different sub-devices, including KEYS, RUMBLE, BATTERY, LEDS,
      ACCELEROMETER, IR and more will be ported in follow-up patches to the new
      module layer.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      27f06942
    • D
      HID: wiimote: wake up if output queue failed · d758b1f0
      David Herrmann 提交于
      Our output queue is asynchronous but synchronous reports may wait for a
      response to their request. Therefore, wake them up unconditionally if an
      output report couldn't be sent. But keep the report ID intact so we don't
      incorrectly assume our request succeeded.
      
      Note that the underlying connection is required to be reliable and does
      retransmission itself. So it is safe to assume that if the transmission
      fails, the device is in inconsistent state. Hence, we abort every request
      if any output report fails. No need to verify which report failed.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      d758b1f0
    • D
      HID: wiimote: use cached battery values on I/O failure · 6b80bb94
      David Herrmann 提交于
      Battery reports are sent along every status report of the Wii Remote.
      So chances are pretty high that we have an up-to-date battery
      cache at any time. Therefore, initialize the battery-cache to 100% and
      then return battery values from the cache if the query fails.
      
      This works around a power_supply limitation in that it requires us to be
      able to query the device during power_supply registration and
      removal. Otherwise, "add" or "remove" udev events are not sent. If
      we answer these requests from our cache instead, we avoid dropping these
      events and no longer cause warnings printed.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      6b80bb94
    • D
      HID: wiimote: add device detection · c57ff761
      David Herrmann 提交于
      Nintendo produced many different devices that are internally based on the
      Wii Remote protocol but provide different peripherals. To support these
      devices, we need to schedule a device detection during initialization.
      
      Device detection includes requesting a status report, reading extension
      information and then evaluating which device we may be dealing with.
      
      We currently detect gen1 and gen2 Wii Remote devices. All other devices
      are marked as generic devices. More detections will be added later.
      
      In followup patches we will be using these device IDs to control which
      peripherals to initialize. For instance if a device is known to have no IR
      camera, there is no need to provide the IR input device nor trying to
      access IR registers. In fact, there are 3rd party devices that break if we
      try things like this (hurray!).
      
      The init_worker will be scheduled whenever we get hotplug events. This
      isn't implemented, yet and will be added later. However, we need to make
      sure that this worker can be called multiple times.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      c57ff761
    • D
      HID: wiimote: keep HID device open · 5682b1a8
      David Herrmann 提交于
      We need constant I/O to keep the state up-to-date and not miss any
      packets. Hence, call hid_hw_open() during setup and hid_hw_close() during
      destruction.
      
      These are no-ops for Bluetooth HIDP, but lets be safe.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      5682b1a8
    • D
      HID: wiimote: move queue handling into separate struct · 13938538
      David Herrmann 提交于
      The output queue is independent of the other wiimote modules and can run
      on its own. Therefore, move its members into a separate struct so we don't
      run into name collisions with other modules.
      
      This is only a syntactic change that renames all queue members to queue.*.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      13938538
    • D
      HID: wiimote: extend driver description · 92eda7e4
      David Herrmann 提交于
      The hid-wiimote driver supports more than the Wii Remote. Nintendo
      produced many devices based on the Wii Remote, which have extension
      devices built-in. It is not clear to many users, that these devices have
      anything in common with the Wii Remote, so fix the driver description.
      
      This also updates the copyright information for the coming hotplugging
      rework.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      92eda7e4
  2. 04 4月, 2013 3 次提交
  3. 03 1月, 2013 1 次提交
  4. 09 5月, 2012 1 次提交
  5. 07 2月, 2012 1 次提交
  6. 23 11月, 2011 10 次提交
  7. 07 9月, 2011 12 次提交