[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0eaaa896-5f99-1f40-54b1-8b4c8c6c4a79@linux.intel.com>
Date: Thu, 5 Dec 2024 16:33:31 +0200 (EET)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: Mario Limonciello <mario.limonciello@....com>
cc: Hans de Goede <hdegoede@...hat.com>,
"Rafael J . Wysocki" <rafael@...nel.org>, Len Brown <lenb@...nel.org>,
Maximilian Luz <luzmaximilian@...il.com>, Lee Chun-Yi <jlee@...e.com>,
Shyam Sundar S K <Shyam-sundar.S-k@....com>,
Corentin Chary <corentin.chary@...il.com>,
"Luke D . Jones" <luke@...nes.dev>, Ike Panhc <ike.pan@...onical.com>,
Henrique de Moraes Holschuh <hmh@....eng.br>,
Alexis Belmonte <alexbelm48@...il.com>,
Uwe Kleine-König <u.kleine-koenig@...gutronix.de>,
Ai Chao <aichao@...inos.cn>, Gergo Koteles <soyer@....hu>,
open list <linux-kernel@...r.kernel.org>,
"open list:ACPI" <linux-acpi@...r.kernel.org>,
"open list:MICROSOFT SURFACE PLATFORM PROFILE DRIVER" <platform-driver-x86@...r.kernel.org>,
"open list:THINKPAD ACPI EXTRAS DRIVER" <ibm-acpi-devel@...ts.sourceforge.net>,
Mark Pearson <mpearson-lenovo@...ebb.ca>,
Matthew Schwartz <matthew.schwartz@...ux.dev>, Armin Wolf <W_Armin@....de>
Subject: Re: [PATCH v9 22/22] Documentation: Add documentation about class
interface for platform profiles
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@....de>
> Tested-by: Mark Pearson <mpearson-lenovo@...ebb.ca>
> Reviewed-by: Mark Pearson <mpearson-lenovo@...ebb.ca>
> Signed-off-by: Mario Limonciello <mario.limonciello@....com>
> ---
> .../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@...ux.intel.com>
Thanks for doing all this. The series looks ready to me once the minor
nits I noted to individual patches are addressed.
--
i.
Powered by blists - more mailing lists