Re: [PATCH v9 22/22] Documentation: Add documentation about class interface for platform profiles

From: Ilpo Järvinen
Date: Thu Dec 05 2024 - 09:33:51 EST


On Sun, 1 Dec 2024, Mario Limonciello wrote:

> The class interface allows changing multiple platform profiles on a system
> to different values. The semantics of it are similar to the legacy
> interface.
>
> Reviewed-by: Armin Wolf <W_Armin@xxxxxx>
> Tested-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
> Reviewed-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> ---
> .../ABI/testing/sysfs-platform_profile | 5 +++
> .../userspace-api/sysfs-platform_profile.rst | 31 +++++++++++++++++++
> 2 files changed, 36 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-platform_profile b/Documentation/ABI/testing/sysfs-platform_profile
> index baf1d125f9f83..125324ab53a96 100644
> --- a/Documentation/ABI/testing/sysfs-platform_profile
> +++ b/Documentation/ABI/testing/sysfs-platform_profile
> @@ -33,3 +33,8 @@ Description: Reading this file gives the current selected profile for this
> source such as e.g. a hotkey triggered profile change handled
> either directly by the embedded-controller or fully handled
> inside the kernel.
> +
> + This file may also emit the string 'custom' to indicate
> + that multiple platform profiles drivers are in use but
> + have different values. This string can not be written to
> + this interface and is solely for informational purposes.
> diff --git a/Documentation/userspace-api/sysfs-platform_profile.rst b/Documentation/userspace-api/sysfs-platform_profile.rst
> index 4fccde2e45639..0aa384c75095a 100644
> --- a/Documentation/userspace-api/sysfs-platform_profile.rst
> +++ b/Documentation/userspace-api/sysfs-platform_profile.rst
> @@ -40,3 +40,34 @@ added. Drivers which wish to introduce new profile names must:
> 1. Explain why the existing profile names cannot be used.
> 2. Add the new profile name, along with a clear description of the
> expected behaviour, to the sysfs-platform_profile ABI documentation.
> +
> +Multiple driver support
> +=======================
> +When multiple drivers on a system advertise a platform profile handler, the
> +platform profile handler core will only advertise the profiles that are
> +common between all drivers to the ``/sys/firmware/acpi`` interfaces.
> +
> +This is to ensure there is no ambiguity on what the profile names mean when
> +all handlers don't support a profile.
> +
> +Individual drivers will register a 'platform_profile' class device that has
> +similar semantics as the ``/sys/firmware/acpi/platform_profile`` interface.
> +
> +To discover which driver is associated with a platform profile handler the
> +user can read the ``name`` attribute of the class device.
> +
> +To discover available profiles from the class interface the user can read the
> +``choices`` attribute.
> +
> +If a user wants to select a profile for a specific driver, they can do so
> +by writing to the ``profile`` attribute of the driver's class device.
> +
> +This will allow users to set different profiles for different drivers on the
> +same system. If the selected profile by individual drivers differs the
> +platform profile handler core will display the profile 'custom' to indicate
> +that the profiles are not the same.
> +
> +While the ``platform_profile`` attribute has the value ``custom``, writing a
> +common profile from ``platform_profile_choices`` to the platform_profile
> +attribute of the platform profile handler core will set the profile for all
> +drivers.

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>

Thanks for doing all this. The series looks ready to me once the minor
nits I noted to individual patches are addressed.


--
i.