+101
−40
Loading
Both acpi_bus_osc_negotiate_platform_control() and acpi_bus_osc_negotiate_usb_control() first call acpi_run_osc() to evaluate _OSC in "query mode", with OSC_QUERY_ENABLE set in the capabilities buffer, and then use the resultant feature mask as the input buffer for requesting control of those features by calling acpi_run_osc() to evaluate _OSC with OSC_QUERY_ENABLE clear. This involves some code duplication and unnecessary memory allocations, so introduce a new helper function carrying out an _OSC handshake along the lines of the above description in a simpler way and update acpi_bus_osc_negotiate_platform_control() to use it. Signed-off-by:Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by:
Jonathan Cameron <jonathan.cameron@huawei.com> Link: https://patch.msgid.link/1966378.CQOukoFCf9@rafael.j.wysocki