diff options
Diffstat (limited to 'src/acpi/acpigen_dsm.c')
-rw-r--r-- | src/acpi/acpigen_dsm.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/acpi/acpigen_dsm.c b/src/acpi/acpigen_dsm.c index 734fbd5cfb..d51d643c7e 100644 --- a/src/acpi/acpigen_dsm.c +++ b/src/acpi/acpigen_dsm.c @@ -47,3 +47,26 @@ void acpigen_write_dsm_i2c_hid(struct dsm_i2c_hid_config *config) } /* ------------------- End: I2C HID DSM ------------------------- */ + +#define USB_DSM_UUID "CE2EE385-00E6-48CB-9F05-2EDB927C4899" + +static void usb_dsm_func5_cb(void *arg) +{ + struct dsm_usb_config *config = arg; + acpigen_write_return_byte(config->usb_lpm_incapable); +} + +static void (*usb_dsm_callbacks[6])(void *) = { + NULL, + NULL, + NULL, + NULL, + NULL, + usb_dsm_func5_cb, +}; + +void acpigen_write_dsm_usb(struct dsm_usb_config *config) +{ + acpigen_write_dsm(USB_DSM_UUID, usb_dsm_callbacks, + ARRAY_SIZE(usb_dsm_callbacks), config); +} |