2021-11-04 14:46:59

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH 1/1] power: supply: Introduces bypass charging property

Hi,

On Thu, Nov 04, 2021 at 08:50:27AM -0500, Ricardo Rivera-Matos wrote:
> Adds a POWER_SUPPLY_CHARGE_TYPE_BYPASS option to the POWER_SUPPLY_PROP_CHARGE_TYPE
> property to facilitate bypass charging operation.
>
> In bypass charging operation, the charger bypasses the charging path around the
> integrated converter allowing for a "smart" wall adaptor to perform the power
> conversion externally.
>
> This operational mode is critical for the USB PPS standard of power adaptors and is
> becoming a common feature in modern charging ICs such as:
>
> - BQ25980
> - BQ25975
> - BQ25960
> - LN8000
> - LN8410
>
> Signed-off-by: Ricardo Rivera-Matos <[email protected]>
> ---

Please always send API changes together with a user (e.g. in this
case you could update bq25980_charger driver to use this property).

-- Sebastian

> drivers/power/supply/power_supply_sysfs.c | 1 +
> include/linux/power_supply.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
> index c3d7cbcd4fad..1368e13dc94b 100644
> --- a/drivers/power/supply/power_supply_sysfs.c
> +++ b/drivers/power/supply/power_supply_sysfs.c
> @@ -89,6 +89,7 @@ static const char * const POWER_SUPPLY_CHARGE_TYPE_TEXT[] = {
> [POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE] = "Adaptive",
> [POWER_SUPPLY_CHARGE_TYPE_CUSTOM] = "Custom",
> [POWER_SUPPLY_CHARGE_TYPE_LONGLIFE] = "Long Life",
> + [POWER_SUPPLY_CHARGE_TYPE_BYPASS] = "Bypass",
> };
>
> static const char * const POWER_SUPPLY_HEALTH_TEXT[] = {
> diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
> index 9ca1f120a211..9432234d7900 100644
> --- a/include/linux/power_supply.h
> +++ b/include/linux/power_supply.h
> @@ -49,6 +49,7 @@ enum {
> POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE, /* dynamically adjusted speed */
> POWER_SUPPLY_CHARGE_TYPE_CUSTOM, /* use CHARGE_CONTROL_* props */
> POWER_SUPPLY_CHARGE_TYPE_LONGLIFE, /* slow speed, longer life */
> + POWER_SUPPLY_CHARGE_TYPE_BYPASS, /* bypassing the charger */
> };
>
> enum {
> --
> 2.25.1
>


Attachments:
(No filename) (2.13 kB)
signature.asc (849.00 B)
Download all attachments

2021-11-10 15:52:17

by Rivera-Matos, Ricardo

[permalink] [raw]
Subject: Re: [PATCH 1/1] power: supply: Introduces bypass charging property

Hello,

> On Nov 4, 2021, at 9:44 AM, Sebastian Reichel <[email protected]> wrote:
>
> Hi,
>
> On Thu, Nov 04, 2021 at 08:50:27AM -0500, Ricardo Rivera-Matos wrote:
>> Adds a POWER_SUPPLY_CHARGE_TYPE_BYPASS option to the POWER_SUPPLY_PROP_CHARGE_TYPE
>> property to facilitate bypass charging operation.
>>
>> In bypass charging operation, the charger bypasses the charging path around the
>> integrated converter allowing for a "smart" wall adaptor to perform the power
>> conversion externally.
>>
>> This operational mode is critical for the USB PPS standard of power adaptors and is
>> becoming a common feature in modern charging ICs such as:
>>
>> - BQ25980
>> - BQ25975
>> - BQ25960
>> - LN8000
>> - LN8410
>>
>> Signed-off-by: Ricardo Rivera-Matos <[email protected]>
>> ---
>
> Please always send API changes together with a user (e.g. in this
> case you could update bq25980_charger driver to use this property).

Ack, I will send out a v2 patch series with an update to the bq25980_charger driver.
>
> — Sebastian

Best Regards,
Ricardo
>
>> drivers/power/supply/power_supply_sysfs.c | 1 +
>> include/linux/power_supply.h | 1 +
>> 2 files changed, 2 insertions(+)
>>
>> diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
>> index c3d7cbcd4fad..1368e13dc94b 100644
>> --- a/drivers/power/supply/power_supply_sysfs.c
>> +++ b/drivers/power/supply/power_supply_sysfs.c
>> @@ -89,6 +89,7 @@ static const char * const POWER_SUPPLY_CHARGE_TYPE_TEXT[] = {
>> [POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE] = "Adaptive",
>> [POWER_SUPPLY_CHARGE_TYPE_CUSTOM] = "Custom",
>> [POWER_SUPPLY_CHARGE_TYPE_LONGLIFE] = "Long Life",
>> + [POWER_SUPPLY_CHARGE_TYPE_BYPASS] = "Bypass",
>> };
>>
>> static const char * const POWER_SUPPLY_HEALTH_TEXT[] = {
>> diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
>> index 9ca1f120a211..9432234d7900 100644
>> --- a/include/linux/power_supply.h
>> +++ b/include/linux/power_supply.h
>> @@ -49,6 +49,7 @@ enum {
>> POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE, /* dynamically adjusted speed */
>> POWER_SUPPLY_CHARGE_TYPE_CUSTOM, /* use CHARGE_CONTROL_* props */
>> POWER_SUPPLY_CHARGE_TYPE_LONGLIFE, /* slow speed, longer life */
>> + POWER_SUPPLY_CHARGE_TYPE_BYPASS, /* bypassing the charger */
>> };
>>
>> enum {
>> --
>> 2.25.1
>>