linux/drivers/input/serio
Hans Verkuil 51db013767 Input: serio - add hangup support
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: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2016-09-21 07:57:11 -07:00
..
altera_ps2.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
ambakmi.c Input: ambakmi - fix system PM by converting to modern callbacks 2015-07-16 10:36:08 -07:00
ams_delta_serio.c Input: ams_delta_serio - fix spelling mistake: "paritiy" -> "parity" 2016-06-23 10:43:59 -07:00
apbps2.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
arc_ps2.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
at32psif.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
ct82c710.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
gscps2.c Input: gscps2 - drop pci_ids dependency 2015-04-06 09:38:08 -07:00
hil_mlc.c Input: HIL - do not call tasklet_disable right before tasklet_kill 2012-11-25 00:10:13 -08:00
hp_sdc_mlc.c Input: serio HIL MLC - don't deref null, don't leak and return proper error 2010-11-20 13:38:18 -08:00
hp_sdc.c Input: hp_sdc - use del_timer_sync() in exit path 2014-03-23 17:25:40 -07:00
hyperv-keyboard.c Drivers: hv: vmbus: fix the building warning with hyperv-keyboard 2015-12-21 13:07:56 -08:00
i8042-io.h Input: i8042-io - fix up region handling on MIPS 2012-10-17 23:58:56 -07:00
i8042-ip22io.h
i8042-jazzio.h
i8042-ppcio.h Input: i8042 - remove SPRUCE support 2010-06-04 00:44:30 -07:00
i8042-snirm.h
i8042-sparcio.h input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
i8042-unicore32io.h unicore32 io: redefine __REG(x) and re-use readl/writel funcs 2011-03-17 09:19:19 +08:00
i8042-x86ia64io.h Input: i8042 - add Fujitsu Lifebook U745 to the nomux list 2016-01-02 21:03:53 -08:00
i8042.c Input: i8042 - break load dependency between atkbd/psmouse and i8042 2016-07-27 14:20:09 -07:00
i8042.h Input: i8042 - add unmask_kbd_data option 2015-07-16 10:30:55 -07:00
Kconfig Input: add userio module 2015-10-27 18:55:31 -07:00
libps2.c Input: i8042 - break load dependency between atkbd/psmouse and i8042 2016-07-27 14:20:09 -07:00
maceps2.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
Makefile Input: add userio module 2015-10-27 18:55:31 -07:00
olpc_apsp.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
parkbd.c Input: parkbd - clear unused function pointers 2015-11-17 10:00:16 -08:00
pcips2.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
ps2mult.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
q40kbd.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
rpckbd.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
sa1111ps2.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
serio_raw.c Input: initialize device counter variables with -1 2014-12-03 15:27:17 -08:00
serio.c Input: serio - drop warnings in case of EPROBE_DEFER from serio_find_driver() 2016-01-27 15:56:24 -08:00
serport.c Input: serio - add hangup support 2016-09-21 07:57:11 -07:00
sun4i-ps2.c Input: serio - add support for Alwinner A10/A20 PS/2 controller 2015-01-26 23:10:13 -08:00
userio.c Input: add userio module 2015-10-27 18:55:31 -07:00
xilinx_ps2.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00