All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tzung-Bi Shih <tzungbi@kernel.org>
To: Mark Hasemeyer <markhas@chromium.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Raul Rangel <rrangel@chromium.org>,
	Benson Leung <bleung@chromium.org>,
	Bhanu Prakash Maiya <bhanumaiya@chromium.org>,
	Chen-Yu Tsai <wenst@chromium.org>,
	Guenter Roeck <groeck@chromium.org>, Lee Jones <lee@kernel.org>,
	Prashant Malani <pmalani@chromium.org>,
	Rob Barnes <robbarnes@google.com>,
	Stephen Boyd <swboyd@chromium.org>,
	chrome-platform@lists.linux.dev
Subject: Re: [PATCH v3 24/24] platform/chrome: cros_ec: Use PM subsystem to manage wakeirq
Date: Wed, 27 Dec 2023 14:26:58 +0800	[thread overview]
Message-ID: <ZYvDshfJ-jnWNEY5@google.com> (raw)
In-Reply-To: <20231226122113.v3.24.Ieee574a0e94fbaae01fd6883ffe2ceeb98d7df28@changeid>

On Tue, Dec 26, 2023 at 12:21:28PM -0700, Mark Hasemeyer wrote:
> The cros ec driver is manually managing the wake IRQ by calling
> enable_irq_wake()/disable_irq_wake() during suspend/resume.
> 
> Modify the driver to use the power management subsystem to manage the
> wakeirq.
> 
> Rather than assuming that the IRQ is wake capable, use the underlying
> firmware/device tree to determine whether or not to enable it as a wake
> source. Some Chromebooks rely solely on the ec_sync pin to wake the AP
> but do not specify the interrupt as wake capable in the ACPI _CRS. For
> LPC/ACPI based systems a DMI quirk is introduced listing boards whose
> firmware should not be trusted to provide correct wake capable values.
> For device tree base systems, it is not an issue as the relevant device
> tree entries have been updated and DTS is built from source for each
> ChromeOS update.
> 
> Signed-off-by: Mark Hasemeyer <markhas@chromium.org>

The patch overall looks good to me.

With some minor comments:
Acked-by: Tzung-Bi Shih <tzungbi@kernel.org>

> diff --git a/drivers/platform/chrome/cros_ec_uart.c b/drivers/platform/chrome/cros_ec_uart.c
[...]
>  static int cros_ec_uart_acpi_probe(struct cros_ec_uart *ec_uart)
>  {
[...]
>  	/* Retrieve GpioInt and translate it to Linux IRQ number */
> -	ret = acpi_dev_gpio_irq_get(adev, 0);
> +	ret = acpi_dev_get_gpio_irq_resource(adev, NULL, 0, &irqres);
>  	if (ret < 0)
>  		return ret;
>  
> -	ec_uart->irq = ret;
> -	dev_dbg(&ec_uart->serdev->dev, "IRQ number %d\n", ec_uart->irq);
> +	ec_uart->irq = irqres.start;

How about keep using `ret`?

> @@ -301,7 +306,14 @@ static int cros_ec_uart_probe(struct serdev_device *serdev)
>  
>  	serdev_device_set_client_ops(serdev, &cros_ec_uart_client_ops);
>  
> -	return cros_ec_register(ec_dev);
> +	/* Register a new cros_ec device */
> +	ret = cros_ec_register(ec_dev);
> +	if (ret) {
> +		dev_err(dev, "Couldn't register ec_dev (%d)\n", ret);
> +		return ret;
> +	}

It doesn't need the change after moving device_init_wakeup() and
dev_pm_set_wake_irq() into cros_ec_register().

Drop it?

  reply	other threads:[~2023-12-27  6:27 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-26 19:21 [PATCH v3 00/24] Improve IRQ wake capability reporting and update the cros_ec driver to use it Mark Hasemeyer
2023-12-26 19:21 ` Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 01/24] resource: Add DEFINE_RES_*_NAMED_FLAGS macro Mark Hasemeyer
2023-12-27 17:05   ` Andy Shevchenko
2023-12-26 19:21 ` [PATCH v3 02/24] gpiolib: acpi: Modify acpi_dev_irq_wake_get_by() to use resource Mark Hasemeyer
2023-12-27 17:12   ` Andy Shevchenko
2024-01-02 20:03     ` Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 03/24] i2c: acpi: Modify i2c_acpi_get_irq() " Mark Hasemeyer
2023-12-27 17:17   ` Andy Shevchenko
2023-12-26 19:21 ` [PATCH v3 04/24] dt-bindings: power: Clarify wording for wakeup-source property Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 05/24] ARM: dts: tegra: Enable cros-ec-spi as wake source Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 06/24] ARM: dts: rockchip: rk3288: " Mark Hasemeyer
2023-12-26 19:21   ` Mark Hasemeyer
2023-12-26 19:21   ` Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 07/24] ARM: dts: samsung: exynos5420: " Mark Hasemeyer
2023-12-26 19:21   ` Mark Hasemeyer
2023-12-27 11:54   ` Krzysztof Kozlowski
2023-12-27 11:54     ` Krzysztof Kozlowski
2023-12-26 19:21 ` [PATCH v3 08/24] ARM: dts: samsung: exynos5800: " Mark Hasemeyer
2023-12-26 19:21   ` Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 09/24] arm64: dts: mediatek: mt8173: " Mark Hasemeyer
2023-12-26 19:21   ` Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 10/24] arm64: dts: mediatek: mt8183: " Mark Hasemeyer
2023-12-26 19:21   ` Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 11/24] arm64: dts: mediatek: mt8192: " Mark Hasemeyer
2023-12-26 19:21   ` Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 12/24] arm64: dts: mediatek: mt8195: " Mark Hasemeyer
2023-12-26 19:21   ` Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 13/24] arm64: dts: tegra: " Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 14/24] arm64: dts: qcom: sc7180: " Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 15/24] arm64: dts: qcom: sc7280: " Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 16/24] arm64: dts: qcom: sdm845: " Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 17/24] arm64: dts: rockchip: rk3399: " Mark Hasemeyer
2023-12-26 19:21   ` Mark Hasemeyer
2023-12-26 19:21   ` Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 18/24] of: irq: add wake capable bit to of_irq_resource() Mark Hasemeyer
2023-12-27 17:19   ` Andy Shevchenko
2023-12-27 18:21     ` Mark Hasemeyer
2024-01-02 16:01       ` Rob Herring
2024-01-02 16:01   ` Rob Herring
2023-12-26 19:21 ` [PATCH v3 19/24] of: irq: Add default implementation for of_irq_to_resource() Mark Hasemeyer
2024-01-02 16:02   ` Rob Herring
2024-01-02 16:53     ` Mark Hasemeyer
2023-12-26 19:21 ` [PATCH v3 20/24] of: irq: Remove extern from function declarations Mark Hasemeyer
2024-01-02 16:02   ` Rob Herring
2023-12-26 19:21 ` [PATCH v3 21/24] device property: Modify fwnode irq_get() to use resource Mark Hasemeyer
2023-12-27 17:24   ` Andy Shevchenko
2023-12-27 19:09     ` Mark Hasemeyer
2024-01-06 14:05       ` Andy Shevchenko
2023-12-26 19:21 ` [PATCH v3 22/24] device property: Update functions to use EXPORT_SYMBOL_GPL Mark Hasemeyer
2023-12-27 17:26   ` Andy Shevchenko
2023-12-26 19:21 ` [PATCH v3 23/24] platform: Modify platform_get_irq_optional() to use resource Mark Hasemeyer
2023-12-27 17:30   ` Andy Shevchenko
2023-12-27 20:33     ` Mark Hasemeyer
2024-01-06 14:09       ` Andy Shevchenko
2023-12-26 19:21 ` [PATCH v3 24/24] platform/chrome: cros_ec: Use PM subsystem to manage wakeirq Mark Hasemeyer
2023-12-27  6:26   ` Tzung-Bi Shih [this message]
2023-12-27 20:45     ` Mark Hasemeyer
2023-12-27 17:34   ` Andy Shevchenko
2023-12-27 21:29     ` Mark Hasemeyer
2023-12-28  2:18     ` Tzung-Bi Shih
2024-02-14 17:57 ` (subset) [PATCH v3 00/24] Improve IRQ wake capability reporting and update the cros_ec driver to use it Bjorn Andersson
2024-02-14 17:57   ` Bjorn Andersson
2024-02-16 11:31 ` Thierry Reding
2024-02-16 11:31   ` Thierry Reding

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZYvDshfJ-jnWNEY5@google.com \
    --to=tzungbi@kernel.org \
    --cc=andriy.shevchenko@intel.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=bhanumaiya@chromium.org \
    --cc=bleung@chromium.org \
    --cc=chrome-platform@lists.linux.dev \
    --cc=groeck@chromium.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markhas@chromium.org \
    --cc=pmalani@chromium.org \
    --cc=robbarnes@google.com \
    --cc=robh@kernel.org \
    --cc=rrangel@chromium.org \
    --cc=sudeep.holla@arm.com \
    --cc=swboyd@chromium.org \
    --cc=wenst@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.