All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Reichel <sre@kernel.org>
To: Steffen Dirkwinkel <lists@steffen.cc>
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
	 Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
Subject: Re: [PATCH 2/2] power: supply: leds: add a not-charging trigger
Date: Tue, 21 Jul 2026 00:23:31 +0200	[thread overview]
Message-ID: <al6dJek_lLPGARdU@venus> (raw)
In-Reply-To: <20260625-std-power-supply-triggers-v1-2-d80db570d329@beckhoff.com>

[-- Attachment #1: Type: text/plain, Size: 2997 bytes --]

Hi,

On Thu, Jun 25, 2026 at 07:07:35PM +0200, Steffen Dirkwinkel wrote:
> From: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
> 
> We intend to use this with a gpio-charger ups device that reports
> charging or not-charging based on a gpio to set a "power failure" led.
> 
> Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
> ---
>  drivers/power/supply/power_supply_leds.c | 7 +++++++
>  include/linux/power_supply.h             | 1 +
>  2 files changed, 8 insertions(+)

POWER_SUPPLY_STATUS_NOT_CHARGING means, that a battery is neither
charged **nor discharged**. I think the NOT_CHARGING status has a
bad name, but it's ABI and cannot be changed easily. But I certainly
don't want it to spread further. Let's find a better name for this
trigger. Maybe idle?

Greetings,

-- Sebastian

> diff --git a/drivers/power/supply/power_supply_leds.c b/drivers/power/supply/power_supply_leds.c
> index 538cc0440e53..c82a3628765c 100644
> --- a/drivers/power/supply/power_supply_leds.c
> +++ b/drivers/power/supply/power_supply_leds.c
> @@ -131,6 +131,10 @@ static void power_supply_update_status_leds(struct power_supply *psy)
>  			LED_OFF);
>  		break;
>  	}
> +
> +	led_trigger_event(psy->not_charging_trig,
> +			  status.intval == POWER_SUPPLY_STATUS_NOT_CHARGING ?
> +			  LED_FULL : LED_OFF);
>  }
>  
>  static int power_supply_create_status_triggers(struct power_supply *psy)
> @@ -150,6 +154,8 @@ static int power_supply_create_status_triggers(struct power_supply *psy)
>  					  &psy->charging_blink_full_solid_trig, &err);
>  	power_supply_register_led_trigger(psy, "%s-charging-orange-full-green",
>  					  &psy->charging_orange_full_green_trig, &err);
> +	power_supply_register_led_trigger(psy, "%s-not-charging",
> +					  &psy->not_charging_trig, &err);
>  
>  	return err;
>  }
> @@ -209,6 +215,7 @@ void power_supply_remove_triggers(struct power_supply *psy)
>  	power_supply_unregister_led_trigger(psy->online_trig);
>  	power_supply_unregister_led_trigger(psy->charging_or_full_trig);
>  	power_supply_unregister_led_trigger(psy->charging_trig);
> +	power_supply_unregister_led_trigger(psy->not_charging_trig);
>  	power_supply_unregister_led_trigger(psy->full_trig);
>  	power_supply_unregister_led_trigger(psy->charging_blink_full_solid_trig);
>  	power_supply_unregister_led_trigger(psy->charging_orange_full_green_trig);
> diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
> index 68b65682b14d..9052610e3910 100644
> --- a/include/linux/power_supply.h
> +++ b/include/linux/power_supply.h
> @@ -349,6 +349,7 @@ struct power_supply {
>  	struct led_trigger *charging_or_full_trig;
>  	struct led_trigger *online_trig;
>  	struct led_trigger *charging_trig;
> +	struct led_trigger *not_charging_trig;
>  	struct led_trigger *full_trig;
>  	struct led_trigger *charging_blink_full_solid_trig;
>  	struct led_trigger *charging_orange_full_green_trig;
> 
> -- 
> 2.54.0
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2026-07-20 22:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-25 17:07 [PATCH 0/2] power: supply: leds: add triggers for non battery type Steffen Dirkwinkel
2026-06-25 17:07 ` [PATCH 1/2] power: supply: leds: create triggers based on properties, not type Steffen Dirkwinkel
2026-06-25 17:07 ` [PATCH 2/2] power: supply: leds: add a not-charging trigger Steffen Dirkwinkel
2026-07-20 22:23   ` Sebastian Reichel [this message]
2026-07-20 22:23 ` (subset) [PATCH 0/2] power: supply: leds: add triggers for non battery type Sebastian Reichel

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=al6dJek_lLPGARdU@venus \
    --to=sre@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lists@steffen.cc \
    --cc=s.dirkwinkel@beckhoff.com \
    /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.