[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241028020131.8031-9-mario.limonciello@amd.com>
Date: Sun, 27 Oct 2024 21:01:24 -0500
From: Mario Limonciello <mario.limonciello@....com>
To: Hans de Goede <hdegoede@...hat.com>, Ilpo Järvinen
<ilpo.jarvinen@...ux.intel.com>
CC: "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>,
Mario Limonciello <mario.limonciello@....com>
Subject: [PATCH v2 08/15] ACPI: platform_profile: Require handlers to support balanced profile
As support for multiple simultaneous platform handers is introduced it's
important they have at least the balanced profile in common.
This will be used as a fallback in case setting the profile across one of the
handlers happens to fail.
Tested-by: Matthew Schwartz <matthew.schwartz@...ux.dev>
Suggested-by: Hans de Goede <hdegoede@...hat.com>
Signed-off-by: Mario Limonciello <mario.limonciello@....com>
---
drivers/acpi/platform_profile.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/acpi/platform_profile.c b/drivers/acpi/platform_profile.c
index ede1550170f1a..c0d0775831214 100644
--- a/drivers/acpi/platform_profile.c
+++ b/drivers/acpi/platform_profile.c
@@ -190,9 +190,14 @@ int platform_profile_register(struct platform_profile_handler *pprof)
{
int err;
- /* Sanity check the profile handler field are set */
+ /* Sanity check the profile handler field are set and balanced is supported */
if (!pprof || bitmap_empty(pprof->choices, PLATFORM_PROFILE_LAST) ||
!pprof->profile_set || !pprof->profile_get) {
+ pr_err("platform_profile: handler is invalid\n");
+ return -EINVAL;
+ }
+ if (!test_bit(PLATFORM_PROFILE_BALANCED, pprof->choices)) {
+ pr_err("platform_profile: handler does not support balanced profile\n");
return -EINVAL;
}
--
2.43.0
Powered by blists - more mailing lists