Re: [PATCH 1/2] ideapad-laptop: Ignore an unused VPC notification

From: Keng-YÃ Lin
Date: Thu Jun 30 2011 - 06:18:44 EST


On Wed, Jun 29, 2011 at 3:26 PM, Ike Panhc <ike.pan@xxxxxxxxxxxxx> wrote:
> On 06/28/2011 09:35 PM, Keng-Yu Lin wrote:
>> BIOS fires notifications in a constant period with VPC bit 1 set when the
>> power cord is unplugged.
>>
>> This event is not known yet to have any effect, but it makes the
>> call to sparse_keymap_report_event() and generates many KEY_UNKNOWNs.
>>
>> This causes the userspace (Gnome Power Manager in my case) unable
>> to enter the idle mode. As the result there is no screensaver showing up,
>> no dim backlight, etc.
>>
>> Signed-off-by: Keng-Yu Lin <kengyu@xxxxxxxxxxxxx>
>> ---
>> Âdrivers/platform/x86/ideapad-laptop.c | Â Â3 ++-
>> Â1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
>> index bfdda33..820f013 100644
>> --- a/drivers/platform/x86/ideapad-laptop.c
>> +++ b/drivers/platform/x86/ideapad-laptop.c
>> @@ -463,7 +463,8 @@ static void ideapad_acpi_notify(struct acpi_device *adevice, u32 event)
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ideapad_sync_rfk_state(adevice);
>> Â Â Â Â Â Â Â Â Â Â Â else if (vpc_bit == 4)
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â read_ec_data(handle, 0x12, &vpc2);
>> - Â Â Â Â Â Â Â Â Â Â else
>> + Â Â Â Â Â Â Â Â Â Â else if (vpc_bit == 1) {
>> + Â Â Â Â Â Â Â Â Â Â } else
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ideapad_input_report(priv, vpc_bit);
>> Â Â Â Â Â Â Â }
>> Â Â Â }
>
> So far I know this event (coming with vpc_bit=1) is for Lenovo PM utility
> on Windows. For most of the machine this event is not implemented in BIOS.
>
> Its ok that we just ignore the event.
>
> I think it will be better if we can let sparse-keymap or any upper level
> application to ignore all unknown scancode or KEY_UNKNOWN but so far I do
> not know a better way then this patch.

I think sparse_keymap_report_event() sends the KEY_UNKNOWN on purpose
as a debugging aid.

We should prevent the call to it in ideapad-laptop. I think the patch
is probably the simplest way.

Thanks,
-kengyu
--
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/