[RFD] Let acpi video driver handle its dmi table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Recently I saw two bugs about acer system:
https://bugzilla.kernel.org/show_bug.cgi?id=35622
https://bugzilla.kernel.org/show_bug.cgi?id=51051
The backlight is handled by gpu driver's backlight interface, and hotkey
is handled by acpi video driver. The problem is, hotkey notification
does not function on these systems now.

The reason is, acer-wmi driver will unload acpi video driver when it
found these systems are in its video_vendor_dmi_table, which is used to
keep all the systems that are known having buggy acpi video interface
implementations.

So we have a problem here, though acpi video driver can't handle
backlight level change, it is still required to handle hotkey
notificaions, and thus unload the driver is not desired.

One way to solve this problem is, to have acpi video driver deal with
these broken systems that it can not handle by itself: not create
backlight interface while still keeping the notification handler there.
To achieve this, we need to move those systems listed in
video_vendor_dmi_table to video_detect_dmi_table, and we are done. And
any code to touch acpi video driver in acer-wmi driver can be removed,
also no need to add SELECT ACPI_VIDEO to CONFIG_ACER_WMI. The downside
is, if other platform vendor drivers all follow this rule, we will end
up with a big video_detect_dmi_table.

Another way is to add a new interface, something like
acpi_video_unregister_backlight, to let platform drivers call. And this
new interface will only unregister the backlight device acpi video
driver has already created and nothing more. So the notification handler
of acpi video driver will stay, solving the problem. The downside is,
it's kind of odd to let another module solve a problem for acpi video
module. In this case, the vendor driver's whole point is to unregister
acpi video driver's backlight interface, while it does't handle backlight
nor hotkey. So it doesn't seem to be required in this game.

Please feel free to share your opinion, which one you prefer or some new
idea perhaps.

Thanks,
Aaron

--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux