On Fri, Aug 5, 2022 at 6:59 PM Limonciello, Mario <mario.limonciello@xxxxxxx> wrote: > > On 8/5/2022 11:51, Rafael J. Wysocki wrote: > > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > > > The ACPI_FADT_LOW_POWER_S0 flag merely means that it is better to > > use low-power S0 idle on the given platform than S3 (provided that > > the latter is supported) and it doesn't preclude using either of > > them (which of them will be used depends on the choices made by user > > space). > > > > Because of that, ACPI_FADT_LOW_POWER_S0 is generally not sufficient > > for making decisions in device drivers and so i2c_hid_acpi_probe() > > should not use it. > > > > Moreover, Linux always supports suspend-to-idle, so if a given > > device can wake up the system from suspend-to-idle, then it can be > > marked as wakeup capable unconditionally, so make that happen in > > i2c_hid_acpi_probe(). > > > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > +Raul > +Hans > +KH > > Raul had a patch that was actually going to just tear out this code > entirely: > https://lkml.kernel.org/lkml/20211220163823.1.Ie20ca47a26d3ea68124d8197b67bb1344c67f650@changeid/ > > As part of that patch series discussion another suggestion had > transpired > (https://patchwork.kernel.org/project/linux-input/patch/20211220163823.2.Id022caf53d01112188308520915798f08a33cd3e@changeid/#24681016): > > ``` > if ((acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0) && > !adev->flags.power_manageable) { > device_set_wakeup_capable(dev, true); > device_set_wakeup_enable(dev, false); > } > ``` > > If this is being changed, maybe consider that suggestion to > check `adev->flags.power_manageable`. Fair enough, I'll send a v2 with this check added.