• Aaron Lu's avatar
    thinkpad-acpi: fix handle locate for video and query of _BCL · 46445b6b
    Aaron Lu authored
    The tpacpi_acpi_handle_locate function makes use of acpi_get_devices to
    locate handle for ACPI video by HID, the problem is, ACPI video node
    doesn't really have HID defined(i.e. no _HID control method is defined
    for video device), so.. that function would fail. This can be solved by
    enhancing the callback function for acpi_get_devices, where we can use
    acpi_device_hid function to check if the ACPI node corresponds to a
    video controller.
    
    In addition to that, the _BCL control method only exists under a video
    output device node, not a video controller device node. So to evaluate
    _BCL, we need the handle of a video output device node, which is child
    of the located video controller node from tpacpi_acpi_handle_locate.
    
    The two fix are necessary for some Thinkpad models to emit notification
    on backlight hotkey press as a result of evaluation of _BCL.
    Signed-off-by: default avatarAaron Lu <aaron.lu@intel.com>
    Tested-by: default avatarIgor Gnatenko <i.gnatenko.brain@gmail.com>
    Acked-by: default avatarHenrique de Moraes Holschuh <hmh@hmh.eng.br>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    46445b6b
thinkpad_acpi.c 230 KB