Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0eedab70 authored by Marc Dietrich's avatar Marc Dietrich Committed by Greg Kroah-Hartman
Browse files

staging: nvec: ps2: add some more debug functions



This can print the mouse traffic which goes over the i2c bus. Make
mouse debugging messages configurable and disable them by default.

Signed-off-by: default avatarMarc Dietrich <marvin24@gmx.de>
Signed-off-by: default avatarJulian Andres Klode <jak@jak-linux.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 4b625c3a
Loading
Loading
Loading
Loading
+13 −5
Original line number Original line Diff line number Diff line
@@ -25,6 +25,14 @@
#define STOP_STREAMING	{'\x06', '\x04'}
#define STOP_STREAMING	{'\x06', '\x04'}
#define SEND_COMMAND	{'\x06', '\x01', '\xf4', '\x01'}
#define SEND_COMMAND	{'\x06', '\x01', '\xf4', '\x01'}


#ifdef NVEC_PS2_DEBUG
#define NVEC_PHD(str, buf, len) \
	print_hex_dump(KERN_DEBUG, str, DUMP_PREFIX_NONE, \
			16, 1, buf, len, false)
#else
#define NVEC_PHD(str, buf, len)
#endif

static const unsigned char MOUSE_RESET[] = {'\x06', '\x01', '\xff', '\x03'};
static const unsigned char MOUSE_RESET[] = {'\x06', '\x01', '\xff', '\x03'};


struct nvec_ps2 {
struct nvec_ps2 {
@@ -67,18 +75,18 @@ static int nvec_ps2_notifier(struct notifier_block *nb,
	case NVEC_PS2_EVT:
	case NVEC_PS2_EVT:
		for (i = 0; i < msg[1]; i++)
		for (i = 0; i < msg[1]; i++)
			serio_interrupt(ps2_dev.ser_dev, msg[2 + i], 0);
			serio_interrupt(ps2_dev.ser_dev, msg[2 + i], 0);
		NVEC_PHD("ps/2 mouse event: ", &msg[2], msg[1]);
		return NOTIFY_STOP;
		return NOTIFY_STOP;


	case NVEC_PS2:
	case NVEC_PS2:
		if (msg[2] == 1)
		if (msg[2] == 1) {
			for (i = 0; i < (msg[1] - 2); i++)
			for (i = 0; i < (msg[1] - 2); i++)
				serio_interrupt(ps2_dev.ser_dev, msg[i + 4], 0);
				serio_interrupt(ps2_dev.ser_dev, msg[i + 4], 0);
		else if (msg[1] != 2) {	/* !ack */
			NVEC_PHD("ps/2 mouse reply: ", &msg[4], msg[1] - 2);
			print_hex_dump(KERN_WARNING, "unhandled mouse event: ",
				DUMP_PREFIX_NONE, 16, 1,
				msg, msg[1] + 2, true);
		}
		}


		else if (msg[1] != 2) /* !ack */
			NVEC_PHD("unhandled mouse event: ", msg, msg[1] + 2);
		return NOTIFY_STOP;
		return NOTIFY_STOP;
	}
	}