All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tzung-Bi Shih <tzungbi@kernel.org>
To: Stephen Horvath <s.horvath@outlook.com.au>
Cc: Lee Jones <lee@kernel.org>, Benson Leung <bleung@chromium.org>,
	Guenter Roeck <groeck@chromium.org>,
	chrome-platform@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] platform/chrome: cros_kbd_led_backlight: Automatically enable keyboard backlight control if feature present in EC
Date: Mon, 25 Mar 2024 11:24:56 +0800	[thread overview]
Message-ID: <ZgDuiEYcgMTuZAeA@google.com> (raw)
In-Reply-To: <SY4P282MB306333469B31348E4A25A1A5C5312@SY4P282MB3063.AUSP282.PROD.OUTLOOK.COM>

On Fri, Mar 22, 2024 at 08:27:58PM +1000, Stephen Horvath wrote:
> I also fixed a bug that seemed like there was some confusion between
> `cros_ec_dev` and `cros_ec_device`, so I'm not sure if this module even
> worked until now.

If they aren't part of commit message, please put them after "---".  Please
separate to an independent patch if they fix different things.

> diff --git a/drivers/platform/chrome/cros_kbd_led_backlight.c b/drivers/platform/chrome/cros_kbd_led_backlight.c
> index 793fd3f1015d..06e9a57536af 100644
> --- a/drivers/platform/chrome/cros_kbd_led_backlight.c
> +++ b/drivers/platform/chrome/cros_kbd_led_backlight.c
> @@ -171,12 +171,15 @@ static int keyboard_led_init_ec_pwm(struct platform_device *pdev)
>  {
>  	struct keyboard_led *keyboard_led = platform_get_drvdata(pdev);
>  
> -	keyboard_led->ec = dev_get_drvdata(pdev->dev.parent);
> -	if (!keyboard_led->ec) {
> +	struct cros_ec_dev *parent_ec = dev_get_drvdata(pdev->dev.parent);

I'm not sure if it really fixes anything.  See [1] or [2].

[1]: https://elixir.bootlin.com/linux/v6.8/source/drivers/platform/chrome/cros_ec_lpc.c#L417
[2]: https://elixir.bootlin.com/linux/v6.8/source/drivers/platform/chrome/cros_ec_spi.c#L759

> @@ -200,8 +203,10 @@ static int keyboard_led_probe(struct platform_device *pdev)
>  	int error;
>  
>  	drvdata = device_get_match_data(&pdev->dev);
> -	if (!drvdata)
> -		return -EINVAL;
> +	if (!drvdata) {
> +		/* Assume EC if no match data is provided */
> +		drvdata = &keyboard_led_drvdata_ec_pwm;
> +	}

By current design, the `drvdata` should be provided by either ACPI or OF match.

> @@ -236,22 +241,10 @@ static const struct acpi_device_id keyboard_led_acpi_match[] = {
>  MODULE_DEVICE_TABLE(acpi, keyboard_led_acpi_match);
>  #endif
>  
> -#ifdef CONFIG_OF
> -static const struct of_device_id keyboard_led_of_match[] = {
> -	{
> -		.compatible = "google,cros-kbd-led-backlight",
> -		.data = &keyboard_led_drvdata_ec_pwm,
> -	},
> -	{}
> -};
> -MODULE_DEVICE_TABLE(of, keyboard_led_of_match);
> -#endif
> -
>  static struct platform_driver keyboard_led_driver = {
>  	.driver		= {
>  		.name	= "chromeos-keyboard-leds",
>  		.acpi_match_table = ACPI_PTR(keyboard_led_acpi_match),
> -		.of_match_table = of_match_ptr(keyboard_led_of_match),

The patch is ruining the use cases in OF world (e.g. [3]).

[3]: https://elixir.bootlin.com/linux/v6.8/source/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi#L1154

  reply	other threads:[~2024-03-25  3:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20240322102800.1322022-1-s.horvath@outlook.com.au>
2024-03-22 10:27 ` [PATCH 1/2] platform/chrome: cros_kbd_led_backlight: Automatically enable keyboard backlight control if feature present in EC Stephen Horvath
2024-03-25  3:24   ` Tzung-Bi Shih [this message]
2024-03-25  4:27     ` Stephen Horvath
2024-03-22 10:27 ` [PATCH 2/2] platform/chrome: cros_kbd_led_backlight: Remove obsolete commands (EC_CMD_PWM_*_KEYBOARD_BACKLIGHT) Stephen Horvath
2024-03-25 18:45   ` Brian Norris
2024-03-26  0:30     ` Stephen Horvath
2024-03-26  0:39       ` Brian Norris

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=ZgDuiEYcgMTuZAeA@google.com \
    --to=tzungbi@kernel.org \
    --cc=bleung@chromium.org \
    --cc=chrome-platform@lists.linux.dev \
    --cc=groeck@chromium.org \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=s.horvath@outlook.com.au \
    /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.