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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux