mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-28 16:52:18 +00:00
Documentation: Add documentation about class interface for platform profiles
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@gmx.de> Tested-by: Mark Pearson <mpearson-lenovo@squebb.ca> Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Link: https://lore.kernel.org/r/20241206031918.1537-23-mario.limonciello@amd.com Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
parent
dd7ba84afa
commit
0056b0852c
@ -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.
|
||||
|
@ -40,3 +40,41 @@ 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.
|
||||
|
||||
"Custom" profile support
|
||||
========================
|
||||
The platform_profile class also supports profiles advertising a "custom"
|
||||
profile. This is intended to be set by drivers when the setttings in the
|
||||
driver have been modified in a way that a standard profile doesn't represent
|
||||
the current state.
|
||||
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user