* Rafael J. Wysocki <rafael@xxxxxxxxxx> [220831 18:35]: > On Wed, Aug 31, 2022 at 8:14 PM Raul Rangel <rrangel@xxxxxxxxxxxx> wrote: > > > > On Wed, Aug 31, 2022 at 12:01 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote: > > > > > > On Wed, Aug 31, 2022 at 1:16 AM Raul E Rangel <rrangel@xxxxxxxxxxxx> wrote: > > > > > > > > The Elan I2C touchpad driver is currently manually managing the wake > > > > IRQ. This change removes the explicit enable_irq_wake/disable_irq_wake > > > > and instead relies on the PM subsystem. This is done by calling > > > > dev_pm_set_wake_irq. > > > > > > > > i2c_device_probe already calls dev_pm_set_wake_irq when using device > > > > tree, so it's only required when using ACPI. The net result is that this > > > > change should be a no-op. i2c_device_remove also already calls > > > > dev_pm_clear_wake_irq, so we don't need to do that in this driver. > > > > > > > > I tested this on an ACPI system where the touchpad doesn't have _PRW > > > > defined. I verified I can still wake the system and that the wake source > > > > was the touchpad IRQ GPIO. > > > > > > > > Signed-off-by: Raul E Rangel <rrangel@xxxxxxxxxxxx> > > > > > > > > > > I like this a lot, but the assumption in the wakeirq code is that the > > > IRQ in question will be dedicated for signaling wakeup. Does it hold > > > here? > > > > The wakeirq code defines two methods: `dev_pm_set_wake_irq` and > > `dev_pm_set_dedicated_wake_irq`. > > The latter is used when you have a dedicated wakeup signal. In this > > driver it's currently assumed > > that the IRQ and the wake IRQ are the same, so I used `dev_pm_set_wake_irq`. > > > > This change in theory also fixes a bug where you define a dedicated > > wake irq in DT, but > > then the driver enables the `client->irq` as a wake source. In > > practice this doesn't happen > > since the elan touchpads only have a single IRQ line. > > OK, thanks! > > Please feel free to add > > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > to the patch. Looks good to me too: Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx>