Re: [PATCH v2 0/3] ChromeOS Embedded Controller charge control driver

From: Thomas Weißschuh
Date: Wed Jun 05 2024 - 05:38:39 EST


On 2024-06-04 20:27:57+0000, Dustin Howett wrote:
> On Mon, Jun 3, 2024 at 3:59 PM Thomas Weißschuh <linux@xxxxxxxxxxxxxx> wrote:
> >
> > Can you try disabling all of the Framework-specific charge control
> > settings and test again?
> > Probably the different, disparate logics in the Framework ECs are
> > conflicting with each other.
>
> Fascinating! This board does indeed support charge limiting through
> both interfaces. It looks like the most recently set one wins for a
> time.

If it is the most recent one, shouldn't the driver have worked?
What does "for a time" mean?
I'm using only the upstream EC command and that seems to work fine.

> The UEFI setup utility only sets the framework-specific charge limit value.
>
> We should probably find some way to converge them, for all of the
> supported Framework Laptop programs.

In the long term, Framework should align their implementation with
upstream CrOS EC and either drop their custom command or make it a thin
wrapper around the normal the upstream command.

(As you are familiar with EC programming maybe you want to tackle this?)

Until then I think we can detect at probe-time if the Framework APIs are
available and use them to disable the Framework-specific mechanism.
Then the CrOS EC commands should be usable.

The drawback is, that userspace using the Framework APIs will break
the driver. That userspace would need to migrate to the standard UAPI.

Also the settings set in the firmware would be ignored at that point.

I don't want to use the functionality of the Framework command because
it's less featureful and I really hope it will go away at some point.