Re: [PATCH 1/1] x86/platform: classmate-laptop: Add cmpc_keyssupport for new classmate laptops

From: Thadeu Lima de Souza Cascardo
Date: Tue Jun 21 2011 - 15:58:11 EST


On Tue, Jun 21, 2011 at 09:40:01PM +0200, Carlos Alberto Lopez Perez wrote:
> The cmpc_keys ACPI driver from the classmate-laptop module fails to
> recognize the device on the 4th generation of classmate laptops (Atom N450)
> because the device ID is named "FNBT0000" (uppercase N) on this laptops.
>
> MODALIAS=acpi:FNBT0000:
>
> This patch makes the driver cmpc_keys recognize it:
>
> input: cmpc_keys as /devices/LNXSYSTM:00/device:00/FNBT0000:00/input/input18
>
> Signed-off-by: Carlos Alberto Lopez Perez <clopez@xxxxxxxxxx>
> ---
> drivers/platform/x86/classmate-laptop.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/platform/x86/classmate-laptop.c b/drivers/platform/x86/classmate-laptop.c
> index 94f93b6..03896cd 100644
> --- a/drivers/platform/x86/classmate-laptop.c
> +++ b/drivers/platform/x86/classmate-laptop.c
> @@ -40,6 +40,7 @@ struct cmpc_accel {
> #define CMPC_TABLET_HID "TBLT0000"
> #define CMPC_IPML_HID "IPML200"
> #define CMPC_KEYS_HID "FnBT0000"
> +#define CMPC_KEYS_4GEN_HID "FNBT0000"
>
> /*
> * Generic input device code.
> @@ -683,6 +684,7 @@ static int cmpc_keys_remove(struct acpi_device *acpi, int type)
>
> static const struct acpi_device_id cmpc_keys_device_ids[] = {
> {CMPC_KEYS_HID, 0},
> + {CMPC_KEYS_4GEN_HID, 0},
> {"", 0}
> };
>
> @@ -754,6 +756,7 @@ static const struct acpi_device_id cmpc_device_ids[] = {
> {CMPC_TABLET_HID, 0},
> {CMPC_IPML_HID, 0},
> {CMPC_KEYS_HID, 0},
> + {CMPC_KEYS_4GEN_HID, 0},
> {"", 0}
> };
>
> --
> 1.7.5.3
>

Not-Acked-By: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx>

Recent Linux versions have "upper-cased" the device names, because ACPI
spec says devices must have upper-case letters. This is probably related
to this change, not because the device name has changed in recent
versions of the device. So the correct fix would be to either revert
this change in Linux or use only a single uppercase name for the device.

Thanks anyway for this report. I have received one report in private a
while back, but was too lazy to discuss this on the list. Any pointers
on that? Easist way to go is to simply replace FnBT for FNBT.

Regards,
Cascardo.

Attachment: signature.asc
Description: Digital signature