Re: [PATCH 2/3] Input: elan_i2c - Use PM subsystem to manage wake irq

From: Dmitry Torokhov
Date: Mon Dec 20 2021 - 21:41:19 EST


Hi Raul,

On Mon, Dec 20, 2021 at 04:43:45PM -0700, Raul E Rangel wrote:
> @@ -1368,11 +1367,13 @@ static int elan_probe(struct i2c_client *client,
> }
>
> /*
> - * Systems using device tree should set up wakeup via DTS,
> + * Systems using device tree or ACPI should set up wakeup via DTS/ACPI,
> * the rest will configure device as wakeup source by default.
> */
> - if (!dev->of_node)
> + if (!dev->of_node && !ACPI_COMPANION(dev)) {

I think this will break our Rambis that use ACPI for enumeration but
actually lack _PRW. As far as I remember their trackpads were capable
of waking up the system.

I think we should remove this chunk completely and instead add necessary
code to drivers/platform/chrome/chrome-laptop.c (I suppose we need to
have additional member in struct acpi_peripheral to indicate whether
device needs to be configured for wakeup and then act upon it in
chromeos_laptop_adjust_client().

> device_init_wakeup(dev, true);
> + dev_pm_set_wake_irq(dev, client->irq);
> + }
>
> return 0;
> }

Thanks.

--
Dmitry