Merge branch 'for-5.10/i2c-hid' into for-linus

- i2c-hid support for wakeup from suspend-to-idle
This commit is contained in:
Jiri Kosina 2020-10-15 20:46:23 +02:00
commit 3504e85cd8

View file

@ -935,6 +935,14 @@ static void i2c_hid_acpi_fix_up_power(struct device *dev)
acpi_device_fix_up_power(adev);
}
static void i2c_hid_acpi_enable_wakeup(struct device *dev)
{
if (acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0) {
device_set_wakeup_capable(dev, true);
device_set_wakeup_enable(dev, false);
}
}
static const struct acpi_device_id i2c_hid_acpi_match[] = {
{"ACPI0C50", 0 },
{"PNP0C50", 0 },
@ -949,6 +957,8 @@ static inline int i2c_hid_acpi_pdata(struct i2c_client *client,
}
static inline void i2c_hid_acpi_fix_up_power(struct device *dev) {}
static inline void i2c_hid_acpi_enable_wakeup(struct device *dev) {}
#endif
#ifdef CONFIG_OF
@ -1076,6 +1086,8 @@ static int i2c_hid_probe(struct i2c_client *client,
i2c_hid_acpi_fix_up_power(&client->dev);
i2c_hid_acpi_enable_wakeup(&client->dev);
device_enable_async_suspend(&client->dev);
/* Make sure there is something at this address */