Re: [PATCH v2] platform: hp_accel: add a i8042 filter to remove HPQ6000 data from kb bus stream

From: Ãric Piel
Date: Sun Nov 02 2014 - 17:19:50 EST


On 30-10-14 17:57, Giedrius Statkevicius wrote:
Add a i8042 filter to hp_accel to remove accelerometer's data with acpi
id HPQ6000 from keyboard bus stream. The codes sent by accelerometer are
e0 25, e0 26, e0 27 and e0 28. The relevant information is already
passed through /dev/freefall so no need to send these undocumented weird
signals through the keyboard bus. Also, unclogs `dmesg` because atkbd
complained about weird scan codes, saves processing power and disk
space.

Signed-off-by: Giedrius StatkeviÄius <giedriuswork@xxxxxxxxx>
Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Hi,
Looks fine with respect to the hp accel driver. If Dmitry thinks the behaviour is fine then I've got nothing more to say :-)

Reviewed-by: Ãric Piel <eric.piel@xxxxxxxxxxxxxxxx>

Darren, could you pick up this patch in your tree?

Cheers,
Ãric


---
Changes in v2:
* Remove a unnecessary deletion of a blank line
* Move #includes of i8042.h and serio.h before the relative path
includes.

First of all, any Tested-Bys are very welcome by people who also have a
accelerometer with acpi id HPQ6000. If it happens with HPQ6007 too we
can easily modify this to install the filter when HPQ6007 is detected.
For the time being the filter is only installed when HPQ6000 is
detected.

Now moving to what was changed since the RFC. I reworked the filter
function to hopefully make it more clear what it is doing. Since the
codes sent by the accelerometer are extended then we need to filter all
of 0xe0's and then send one 0xe0 back when the actual key isn't in the
range of 0x25-0x28. Also, I've removed the check for errors for
i8042_install_filter() because it's unnecessary to check if it failed.
If multiple HPQ6000's are in the system then no issue occurs even if
multiple i8042_install_filter() are issued because this is handled by
i8042 and it's smart enough not to install the same filter two or more
times.

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=84941.
:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/