Thread (15 messages) 15 messages, 4 authors, 2022-01-31

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

flat view

From: Raul Rangel <hidden>
Date: 2021-12-21 18:13:28
Also in: lkml

On Mon, Dec 20, 2021 at 7:41 PM Dmitry Torokhov
[off-list ref] wrote:
Hi Raul,

On Mon, Dec 20, 2021 at 04:43:45PM -0700, Raul E Rangel wrote:
quoted
@@ -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.
Looks like the _PRW was only added for the atmel touchscreen:
https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/third_party/coreboot/src/mainboard/google/rambi/acpi/touchscreen_atmel.asl;l=42

I'm assuming this was before we had the `drivers/i2c/hid` chip driver.
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().
I think that's a good idea. Should I add all the mainboards defined
here: https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/third_party/coreboot/src/mainboard/google/rambi/Kconfig;l=48
?
quoted
              device_init_wakeup(dev, true);
+             dev_pm_set_wake_irq(dev, client->irq);
+     }

      return 0;
 }
Thanks.

--
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help