acpi: Add support for writing a Power Resource
These are used in ACPI to disable power to various pats of the system when in sleep. Add a way to create a power resource, with the caller finishing off the details. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
@@ -51,6 +51,7 @@ enum {
|
||||
AND_OP = 0x7b,
|
||||
OR_OP = 0x7d,
|
||||
NOT_OP = 0x80,
|
||||
POWER_RES_OP = 0x84,
|
||||
RETURN_OP = 0xa4,
|
||||
};
|
||||
|
||||
@@ -321,4 +322,25 @@ void acpigen_write_and(struct acpi_ctx *ctx, u8 arg1, u8 arg2, u8 res);
|
||||
*/
|
||||
void acpigen_write_not(struct acpi_ctx *ctx, u8 arg, u8 res);
|
||||
|
||||
/**
|
||||
* acpigen_write_power_res() - Write a power resource
|
||||
*
|
||||
* Name (_PRx, Package(One) { name })
|
||||
* ...
|
||||
* PowerResource (name, level, order)
|
||||
*
|
||||
* The caller should fill in the rest of the power resource and then call
|
||||
* acpigen_pop_len() to close it off
|
||||
*
|
||||
* @ctx: ACPI context pointer
|
||||
* @name: Name of power resource (e.g. "PRIC")
|
||||
* @level: Deepest sleep level that this resource must be kept on (0=S0, 3=S3)
|
||||
* @order: Order that this must be enabled/disabled (e.g. 0)
|
||||
* @dev_stats: List of states to define, e.g. {"_PR0", "_PR3"}
|
||||
* @dev_states_count: Number of dev states
|
||||
*/
|
||||
void acpigen_write_power_res(struct acpi_ctx *ctx, const char *name, uint level,
|
||||
uint order, const char *const dev_states[],
|
||||
size_t dev_states_count);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user