This driver needs to mature a bit more and another round of
code cleanups.

Otherwise it looks to be in good shape. And of course the fact
that the CEC framework is in staging at the moment also prevents
this driver from being mainlined.

Some notes:

1) Regarding the "autonomous" mode of the Pulse-Eight: currently this
is disabled, but the idea is that this allows basic functionality
when the PC is off, and it can wake-up the PC through USB.

To prevent the device to go into autonomous mode the driver would
have to send MSGCODE_SET_CONTROLLED 1 and then send a ping every
30 seconds (in practice once every 15 seconds would be good). When
powering off or going to standby send MSGCODE_SET_CONTROLLED 0 to
turn the autonomous mode back on.

This needs to be implemented in the driver. Autonomous mode was
added in firmware v2.

2) Writing to the EEPROM can only be done once every 10 seconds.

3) To use this driver you also need to patch the inputattach utility,
this patch will be submitted once this driver is moved out of staging.

diff -urN linuxconsoletools-1.4.9/utils/inputattach.c linuxconsoletools-1.4.9.new/utils/inputattach.c
--- linuxconsoletools-1.4.9/utils/inputattach.c	2016-01-09 16:27:02.000000000 +0100
+++ linuxconsoletools-1.4.9.new/utils/inputattach.c	2016-03-20 11:35:31.707788967 +0100
@@ -861,6 +861,9 @@
 { "--wacom_iv",		"-wacom_iv",	"Wacom protocol IV tablet",
 	B9600, CS8 | CRTSCTS,
 	SERIO_WACOM_IV,		0x00,	0x00,	0,	wacom_iv_init },
+{ "--pulse8-cec",		"-pulse8-cec",	"Pulse Eight HDMI CEC dongle",
+	B9600, CS8,
+	SERIO_PULSE8_CEC,		0x00,	0x00,	0,	NULL },
 { NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, NULL }
 };
 
diff -urN linuxconsoletools-1.4.9/utils/serio-ids.h linuxconsoletools-1.4.9.new/utils/serio-ids.h
--- linuxconsoletools-1.4.9/utils/serio-ids.h	2015-04-26 18:29:42.000000000 +0200
+++ linuxconsoletools-1.4.9.new/utils/serio-ids.h	2016-03-20 11:41:00.153558539 +0100
@@ -131,5 +131,8 @@
 #ifndef SERIO_EASYPEN
 # define SERIO_EASYPEN		0x3f
 #endif
+#ifndef SERIO_PULSE8_CEC
+# define SERIO_PULSE8_CEC	0x40
+#endif
 
 #endif
