1. 21 Sep, 2016 1 commit
    • Hans Verkuil's avatar
      Input: serio - add hangup support · 51db0137
      Hans Verkuil authored
      The Pulse-Eight USB CEC adapter is a usb device that shows up as a ttyACM0
      device.  It requires that you run inputattach in order to communicate with
      it via serio.
      
      This all works well, but it would be nice to have a udev rule to
      automatically start inputattach. That too works OK, but the problem comes
      when the USB device is unplugged: the tty hangup is never handled by the
      serio framework so the inputattach utility never exits and you have to kill
      it manually.
      
      By adding this hangup callback the inputattach utility now properly exits
      as soon as the USB device is unplugged.
      
      The udev rule I used on my Debian sid system is:
      
      SUBSYSTEM=="tty", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="2548", ATTRS{idProduct}=="1002", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="pulse8-cec-inputattach@%k.service"
      
      And /etc/systemd/system/pulse8-cec-inputattach@.service is as follows:
      
      ===============================================================
      [Unit]
      Description=inputattach for pulse8-cec device on %I
      
      [Service]
      Type=simple
      ExecStart=/usr/local/bin/inputattach --pulse8-cec /dev/%I
      KillMode=process
      ===============================================================
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Tested-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      51db0137
  2. 10 Sep, 2016 3 commits
  3. 05 Sep, 2016 3 commits
  4. 30 Aug, 2016 2 commits
  5. 25 Aug, 2016 5 commits
  6. 22 Aug, 2016 8 commits
  7. 03 Aug, 2016 5 commits
  8. 28 Jul, 2016 2 commits
  9. 27 Jul, 2016 1 commit
    • Dmitry Torokhov's avatar
      Input: i8042 - break load dependency between atkbd/psmouse and i8042 · 40974618
      Dmitry Torokhov authored
      As explained in 1407814240-4275-1-git-send-email-decui@microsoft.com we
      have a hard load dependency between i8042 and atkbd which prevents
      keyboard from working on Gen2 Hyper-V VMs.
      
      > hyperv_keyboard invokes serio_interrupt(), which needs a valid serio
      > driver like atkbd.c.  atkbd.c depends on libps2.c because it invokes
      > ps2_command().  libps2.c depends on i8042.c because it invokes
      > i8042_check_port_owner().  As a result, hyperv_keyboard actually
      > depends on i8042.c.
      >
      > For a Generation 2 Hyper-V VM (meaning no i8042 device emulated), if a
      > Linux VM (like Arch Linux) happens to configure CONFIG_SERIO_I8042=m
      > rather than =y, atkbd.ko can't load because i8042.ko can't load(due to
      > no i8042 device emulated) and finally hyperv_keyboard can't work and
      > the user can't input: https://bugs.archlinux.org/task/39820
      > (Ubuntu/RHEL/SUSE aren't affected since they use CONFIG_SERIO_I8042=y)
      
      To break the dependency we move away from using i8042_check_port_owner()
      and instead allow serio port owner specify a mutex that clients should use
      to serialize PS/2 command stream.
      Reported-by: default avatarMark Laws <mdl@60hz.org>
      Tested-by: default avatarMark Laws <mdl@60hz.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      40974618
  10. 26 Jul, 2016 2 commits
  11. 21 Jul, 2016 1 commit
  12. 19 Jul, 2016 7 commits