ACPI: utils: Add acpi_evaluate_reg() helper
With a recent fix to the pinctrl-cherryview driver we now have 2 drivers open-coding the parameter building / passing for calling _REG on an ACPI handle. Add a helper for this, so that these 2 drivers can be converted to this helper. Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
0e698dfa28
commit
132565d8ec
@ -605,6 +605,31 @@ acpi_status acpi_evaluate_lck(acpi_handle handle, int lock)
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* acpi_evaluate_reg: Evaluate _REG method to register OpRegion presence
|
||||||
|
* @handle: ACPI device handle
|
||||||
|
* @space_id: ACPI address space id to register OpRegion presence for
|
||||||
|
* @function: Parameter to pass to _REG one of ACPI_REG_CONNECT or
|
||||||
|
* ACPI_REG_DISCONNECT
|
||||||
|
*
|
||||||
|
* Evaluate device's _REG method to register OpRegion presence.
|
||||||
|
*/
|
||||||
|
acpi_status acpi_evaluate_reg(acpi_handle handle, u8 space_id, u32 function)
|
||||||
|
{
|
||||||
|
struct acpi_object_list arg_list;
|
||||||
|
union acpi_object params[2];
|
||||||
|
|
||||||
|
params[0].type = ACPI_TYPE_INTEGER;
|
||||||
|
params[0].integer.value = space_id;
|
||||||
|
params[1].type = ACPI_TYPE_INTEGER;
|
||||||
|
params[1].integer.value = function;
|
||||||
|
arg_list.count = 2;
|
||||||
|
arg_list.pointer = params;
|
||||||
|
|
||||||
|
return acpi_evaluate_object(handle, "_REG", &arg_list, NULL);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(acpi_evaluate_reg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* acpi_evaluate_dsm - evaluate device's _DSM method
|
* acpi_evaluate_dsm - evaluate device's _DSM method
|
||||||
* @handle: ACPI device handle
|
* @handle: ACPI device handle
|
||||||
|
@ -44,6 +44,7 @@ acpi_status acpi_execute_simple_method(acpi_handle handle, char *method,
|
|||||||
u64 arg);
|
u64 arg);
|
||||||
acpi_status acpi_evaluate_ej0(acpi_handle handle);
|
acpi_status acpi_evaluate_ej0(acpi_handle handle);
|
||||||
acpi_status acpi_evaluate_lck(acpi_handle handle, int lock);
|
acpi_status acpi_evaluate_lck(acpi_handle handle, int lock);
|
||||||
|
acpi_status acpi_evaluate_reg(acpi_handle handle, u8 space_id, u32 function);
|
||||||
bool acpi_ata_match(acpi_handle handle);
|
bool acpi_ata_match(acpi_handle handle);
|
||||||
bool acpi_bay_match(acpi_handle handle);
|
bool acpi_bay_match(acpi_handle handle);
|
||||||
bool acpi_dock_match(acpi_handle handle);
|
bool acpi_dock_match(acpi_handle handle);
|
||||||
|
Loading…
Reference in New Issue
Block a user