Len, Zhang, you may have an advice on that:
- vendor backlight interface provides a working "power" file
- generic backlight interface does not
- hardware send a notification when the user press the LCD toogle key
Solutions:
- Use acpi_video=vendor by default (adding a blacklist in ACPI code)
- Handle the key in the driver instead of letting userspace do it
- Another idea ?
> Userspace app, such as gnome-settings-daemon, will use
> /sys/class/backlight/acpi_video0
> as it's first choice if there is one.
> But ACPI function to toggle the backlight power is not working, and
> from our BIOS engineer,
> ACPI doesn't define the backlight power section, but ASUS WMI does.
> So, I think it would have less problem to turn on/off backlight power
> through WMI.
Ok. So the vendor backlight provides features that the generic
backlight does not.
> And, yes, calling asus_wmi_backlight_init() is not a good idea here.
> We have to record the backlight power status by ourselves if we didn't call
> it.
> Let me show you another version of patch later.
That's a solution yes. Another one could be to force
acpi_backlight=vendor for these well known laptop, but I don't know if
this will be accepted by ACPI maintainers. So let's start with a
simpler patch as you proposed (handling via backlight if registered,
or recording the status ourselve if it's not the case, but please add
a comment explaining why it's done this way).
>> What does the key do exactly without driver ? Does it just send a
>> notification or does it also poke the hardware ?
> It's a WMI event notify, and will be mapped to the key shown below
> { KE_KEY, 0xe9, { KEY_BRIGHTNESS_ZERO } },
> Just a notification.
KEY_DISPLAY_TOGGLE is the key to power up/down an LCD screen. Looks
better than KEY_BRIGHTNESS_ZERO that may only put the brughtness to
zero. But I'm not sure how these keys are handled by userspace.
--
Corentin Chary
http://xf.iksaif.net
--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86"
in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html