2019-08-30 23:17:04

by Ravi Chandra Sadineni

[permalink] [raw]
Subject: [PATCH] platform/chrome: chromeos_tbmc : Report wake events.

Mark chromeos_tbmc as wake capable and report wake events. This helps to
abort suspend on seeing a tablet mode switch event when kernel is
suspending. This also helps identifying if chroemos_tbmc is the wake
source.

Signed-off-by: Ravi Chandra Sadineni <[email protected]>
---
drivers/platform/chrome/chromeos_tbmc.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/platform/chrome/chromeos_tbmc.c b/drivers/platform/chrome/chromeos_tbmc.c
index ce259ec9f990..d1cf8f3463ce 100644
--- a/drivers/platform/chrome/chromeos_tbmc.c
+++ b/drivers/platform/chrome/chromeos_tbmc.c
@@ -47,6 +47,7 @@ static __maybe_unused int chromeos_tbmc_resume(struct device *dev)

static void chromeos_tbmc_notify(struct acpi_device *adev, u32 event)
{
+ acpi_pm_wakeup_event(&adev->dev);
switch (event) {
case 0x80:
chromeos_tbmc_query_switch(adev, adev->driver_data);
@@ -90,6 +91,7 @@ static int chromeos_tbmc_add(struct acpi_device *adev)
dev_err(dev, "cannot register input device\n");
return ret;
}
+ device_init_wakeup(dev, true);
return 0;
}

--
2.21.0


2019-09-04 08:11:59

by Enric Balletbo i Serra

[permalink] [raw]
Subject: Re: [PATCH] platform/chrome: chromeos_tbmc : Report wake events.

Hi Ravi,

Many thanks for this patch.

On 31/8/19 1:14, Ravi Chandra Sadineni wrote:
> Mark chromeos_tbmc as wake capable and report wake events. This helps to
> abort suspend on seeing a tablet mode switch event when kernel is
> suspending. This also helps identifying if chroemos_tbmc is the wake
> source.
>
> Signed-off-by: Ravi Chandra Sadineni <[email protected]>

The patch looks good to me, I'll wait a bit before pick the patch for I can get
a Tested-by from someone as I don't think I have the hardware to test this (no
x86/tablet devices on my hand)

For my own reference:
Acked-for-chrome-by: Enric Balletbo i Serra <[email protected]>

Thanks,
Enric

> ---
> drivers/platform/chrome/chromeos_tbmc.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/platform/chrome/chromeos_tbmc.c b/drivers/platform/chrome/chromeos_tbmc.c
> index ce259ec9f990..d1cf8f3463ce 100644
> --- a/drivers/platform/chrome/chromeos_tbmc.c
> +++ b/drivers/platform/chrome/chromeos_tbmc.c
> @@ -47,6 +47,7 @@ static __maybe_unused int chromeos_tbmc_resume(struct device *dev)
>
> static void chromeos_tbmc_notify(struct acpi_device *adev, u32 event)
> {
> + acpi_pm_wakeup_event(&adev->dev);
> switch (event) {
> case 0x80:
> chromeos_tbmc_query_switch(adev, adev->driver_data);
> @@ -90,6 +91,7 @@ static int chromeos_tbmc_add(struct acpi_device *adev)
> dev_err(dev, "cannot register input device\n");
> return ret;
> }
> + device_init_wakeup(dev, true);
> return 0;
> }
>
>

2019-09-19 13:56:00

by Enric Balletbo i Serra

[permalink] [raw]
Subject: Re: [PATCH] platform/chrome: chromeos_tbmc : Report wake events.

Hi,

On 31/8/19 1:14, Ravi Chandra Sadineni wrote:
> Mark chromeos_tbmc as wake capable and report wake events. This helps to
> abort suspend on seeing a tablet mode switch event when kernel is
> suspending. This also helps identifying if chroemos_tbmc is the wake
> source.
>
> Signed-off-by: Ravi Chandra Sadineni <[email protected]>

Applied for 5.4, the patches went to linux-next some time ago but sorry for late
reply.

Thanks,
Enric

> ---
> drivers/platform/chrome/chromeos_tbmc.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/platform/chrome/chromeos_tbmc.c b/drivers/platform/chrome/chromeos_tbmc.c
> index ce259ec9f990..d1cf8f3463ce 100644
> --- a/drivers/platform/chrome/chromeos_tbmc.c
> +++ b/drivers/platform/chrome/chromeos_tbmc.c
> @@ -47,6 +47,7 @@ static __maybe_unused int chromeos_tbmc_resume(struct device *dev)
>
> static void chromeos_tbmc_notify(struct acpi_device *adev, u32 event)
> {
> + acpi_pm_wakeup_event(&adev->dev);
> switch (event) {
> case 0x80:
> chromeos_tbmc_query_switch(adev, adev->driver_data);
> @@ -90,6 +91,7 @@ static int chromeos_tbmc_add(struct acpi_device *adev)
> dev_err(dev, "cannot register input device\n");
> return ret;
> }
> + device_init_wakeup(dev, true);
> return 0;
> }
>
>