From: Kurt Borja <kuurtb@gmail.com>
To: platform-driver-x86@vger.kernel.org
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
"Len Brown" <lenb@kernel.org>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
"Mario Limonciello" <mario.limonciello@amd.com>,
"Armin Wolf" <W_Armin@gmx.de>,
"Joshua Grisham" <josh@joshuagrisham.com>,
"Derek J . Clark" <derekjohn.clark@gmail.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Hans de Goede" <hdegoede@redhat.com>,
"Kurt Borja" <kuurtb@gmail.com>,
"Maximilian Luz" <luzmaximilian@gmail.com>,
"Lee, Chun-Yi" <jlee@suse.com>,
"Shyam Sundar S K" <Shyam-sundar.S-k@amd.com>,
"Corentin Chary" <corentin.chary@gmail.com>,
"Luke D. Jones" <luke@ljones.dev>,
"Lyndon Sanche" <lsanche@lyndeno.ca>,
"Ike Panhc" <ike.pan@canonical.com>,
"Henrique de Moraes Holschuh" <hmh@hmh.eng.br>,
"Mark Pearson" <mpearson-lenovo@squebb.ca>,
"Colin Ian King" <colin.i.king@gmail.com>,
"Alexis Belmonte" <alexbelm48@gmail.com>,
"Ai Chao" <aichao@kylinos.cn>, "Gergo Koteles" <soyer@irl.hu>,
Dell.Client.Kernel@dell.com,
ibm-acpi-devel@lists.sourceforge.net
Subject: [PATCH 04/18] ACPI: platform_profile: Let drivers set drvdata to the class device
Date: Thu, 9 Jan 2025 10:06:17 -0500 [thread overview]
Message-ID: <20250109150731.110799-5-kuurtb@gmail.com> (raw)
In-Reply-To: <20250109150731.110799-1-kuurtb@gmail.com>
Add *drvdata to platform_profile_register() signature and assign it to
the class device.
Signed-off-by: Kurt Borja <kuurtb@gmail.com>
---
drivers/acpi/platform_profile.c | 7 ++++---
drivers/platform/surface/surface_platform_profile.c | 2 +-
drivers/platform/x86/acer-wmi.c | 2 +-
drivers/platform/x86/amd/pmf/sps.c | 2 +-
drivers/platform/x86/asus-wmi.c | 2 +-
drivers/platform/x86/dell/alienware-wmi.c | 2 +-
drivers/platform/x86/dell/dell-pc.c | 2 +-
drivers/platform/x86/hp/hp-wmi.c | 2 +-
drivers/platform/x86/ideapad-laptop.c | 2 +-
drivers/platform/x86/inspur_platform_profile.c | 2 +-
drivers/platform/x86/thinkpad_acpi.c | 2 +-
include/linux/platform_profile.h | 4 ++--
12 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/drivers/acpi/platform_profile.c b/drivers/acpi/platform_profile.c
index 3cbde8dfed0b..5a867b912964 100644
--- a/drivers/acpi/platform_profile.c
+++ b/drivers/acpi/platform_profile.c
@@ -461,7 +461,7 @@ int platform_profile_cycle(void)
}
EXPORT_SYMBOL_GPL(platform_profile_cycle);
-int platform_profile_register(struct platform_profile_handler *pprof)
+int platform_profile_register(struct platform_profile_handler *pprof, void *drvdata)
{
int err;
@@ -490,6 +490,7 @@ int platform_profile_register(struct platform_profile_handler *pprof)
pprof->class_dev.class = &platform_profile_class;
pprof->class_dev.parent = pprof->dev;
+ dev_set_drvdata(&pprof->class_dev, drvdata);
dev_set_name(&pprof->class_dev, "platform-profile-%d", pprof->minor);
err = device_register(&pprof->class_dev);
if (err)
@@ -537,7 +538,7 @@ static void devm_platform_profile_release(struct device *dev, void *res)
platform_profile_remove(*pprof);
}
-int devm_platform_profile_register(struct platform_profile_handler *pprof)
+int devm_platform_profile_register(struct platform_profile_handler *pprof, void *drvdata)
{
struct platform_profile_handler **dr;
int ret;
@@ -546,7 +547,7 @@ int devm_platform_profile_register(struct platform_profile_handler *pprof)
if (!dr)
return -ENOMEM;
- ret = platform_profile_register(pprof);
+ ret = platform_profile_register(pprof, drvdata);
if (ret) {
devres_free(dr);
return ret;
diff --git a/drivers/platform/surface/surface_platform_profile.c b/drivers/platform/surface/surface_platform_profile.c
index b69fcc4c3858..00a1178e552f 100644
--- a/drivers/platform/surface/surface_platform_profile.c
+++ b/drivers/platform/surface/surface_platform_profile.c
@@ -234,7 +234,7 @@ static int surface_platform_profile_probe(struct ssam_device *sdev)
tpd->has_fan = device_property_read_bool(&sdev->dev, "has_fan");
- return platform_profile_register(&tpd->handler);
+ return platform_profile_register(&tpd->handler, NULL);
}
static void surface_platform_profile_remove(struct ssam_device *sdev)
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
index 1fa0cd69da8c..585d54d8d80c 100644
--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -1928,7 +1928,7 @@ static int acer_platform_profile_setup(struct platform_device *device)
platform_profile_handler.ops =
&acer_predator_v4_platform_profile_ops;
- err = platform_profile_register(&platform_profile_handler);
+ err = platform_profile_register(&platform_profile_handler, NULL);
if (err)
return err;
diff --git a/drivers/platform/x86/amd/pmf/sps.c b/drivers/platform/x86/amd/pmf/sps.c
index 37316bc3e071..8e75ebd25e21 100644
--- a/drivers/platform/x86/amd/pmf/sps.c
+++ b/drivers/platform/x86/amd/pmf/sps.c
@@ -425,7 +425,7 @@ int amd_pmf_init_sps(struct amd_pmf_dev *dev)
dev->pprof.ops = &amd_pmf_profile_ops;
/* Create platform_profile structure and register */
- err = platform_profile_register(&dev->pprof);
+ err = platform_profile_register(&dev->pprof, NULL);
if (err)
dev_err(dev->dev, "Failed to register SPS support, this is most likely an SBIOS bug: %d\n",
err);
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index 3e94986078a6..248490571e8c 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -3895,7 +3895,7 @@ static int platform_profile_setup(struct asus_wmi *asus)
asus->platform_profile_handler.dev = dev;
asus->platform_profile_handler.ops = &asus_wmi_platform_profile_ops;
- err = platform_profile_register(&asus->platform_profile_handler);
+ err = platform_profile_register(&asus->platform_profile_handler, NULL);
if (err == -EEXIST) {
pr_warn("%s, a platform_profile handler is already registered\n", __func__);
return 0;
diff --git a/drivers/platform/x86/dell/alienware-wmi.c b/drivers/platform/x86/dell/alienware-wmi.c
index 386b22e9c922..a8961de004ab 100644
--- a/drivers/platform/x86/dell/alienware-wmi.c
+++ b/drivers/platform/x86/dell/alienware-wmi.c
@@ -1169,7 +1169,7 @@ static int create_thermal_profile(struct platform_device *platform_device)
pp_handler.dev = &platform_device->dev;
pp_handler.ops = &awcc_platform_profile_ops;
- return devm_platform_profile_register(&pp_handler);
+ return devm_platform_profile_register(&pp_handler, NULL);
}
static int __init alienware_wmi_init(void)
diff --git a/drivers/platform/x86/dell/dell-pc.c b/drivers/platform/x86/dell/dell-pc.c
index ba366c28d9a6..1b6e60a63491 100644
--- a/drivers/platform/x86/dell/dell-pc.c
+++ b/drivers/platform/x86/dell/dell-pc.c
@@ -281,7 +281,7 @@ static int thermal_init(void)
thermal_handler->ops = &dell_pc_platform_profile_ops;
/* Clean up if failed */
- ret = platform_profile_register(thermal_handler);
+ ret = platform_profile_register(thermal_handler, NULL);
if (ret)
goto cleanup_thermal_handler;
diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-wmi.c
index 3c2d4549eb7f..2cf1da00d5f9 100644
--- a/drivers/platform/x86/hp/hp-wmi.c
+++ b/drivers/platform/x86/hp/hp-wmi.c
@@ -1652,7 +1652,7 @@ static int thermal_profile_setup(struct platform_device *device)
platform_profile_handler.name = "hp-wmi";
platform_profile_handler.dev = &device->dev;
- err = platform_profile_register(&platform_profile_handler);
+ err = platform_profile_register(&platform_profile_handler, NULL);
if (err)
return err;
diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
index f5ea03763a54..43e4d9d8d595 100644
--- a/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c
@@ -1123,7 +1123,7 @@ static int ideapad_dytc_profile_init(struct ideapad_private *priv)
priv->dytc->pprof.ops = &dytc_profile_ops;
/* Create platform_profile structure and register */
- err = platform_profile_register(&priv->dytc->pprof);
+ err = platform_profile_register(&priv->dytc->pprof, NULL);
if (err)
goto pp_reg_failed;
diff --git a/drivers/platform/x86/inspur_platform_profile.c b/drivers/platform/x86/inspur_platform_profile.c
index 8fa9308d4686..43cb2a927fdf 100644
--- a/drivers/platform/x86/inspur_platform_profile.c
+++ b/drivers/platform/x86/inspur_platform_profile.c
@@ -196,7 +196,7 @@ static int inspur_wmi_probe(struct wmi_device *wdev, const void *context)
priv->handler.dev = &wdev->dev;
priv->handler.ops = &inspur_platform_profile_ops;
- return platform_profile_register(&priv->handler);
+ return platform_profile_register(&priv->handler, NULL);
}
static void inspur_wmi_remove(struct wmi_device *wdev)
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index a35453c3c605..a72790cc5e0e 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -10649,7 +10649,7 @@ static int tpacpi_dytc_profile_init(struct ibm_init_struct *iibm)
dytc_profile.dev = &tpacpi_pdev->dev;
/* Create platform_profile structure and register */
- err = platform_profile_register(&dytc_profile);
+ err = platform_profile_register(&dytc_profile, NULL);
/*
* If for some reason platform_profiles aren't enabled
* don't quit terminally.
diff --git a/include/linux/platform_profile.h b/include/linux/platform_profile.h
index f549067539af..cadbd3168d84 100644
--- a/include/linux/platform_profile.h
+++ b/include/linux/platform_profile.h
@@ -47,9 +47,9 @@ struct platform_profile_handler {
const struct platform_profile_ops *ops;
};
-int platform_profile_register(struct platform_profile_handler *pprof);
+int platform_profile_register(struct platform_profile_handler *pprof, void *drvdata);
int platform_profile_remove(struct platform_profile_handler *pprof);
-int devm_platform_profile_register(struct platform_profile_handler *pprof);
+int devm_platform_profile_register(struct platform_profile_handler *pprof, void *drvdata);
int platform_profile_cycle(void);
void platform_profile_notify(struct platform_profile_handler *pprof);
--
2.47.1
next prev parent reply other threads:[~2025-01-09 15:08 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-09 15:06 [PATCH 00/18] Hide platform_profile_handler from consumers Kurt Borja
2025-01-09 15:06 ` [PATCH 01/18] ACPI: platform_profile: Add `ops` member to handlers Kurt Borja
2025-01-09 16:32 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 02/18] ACPI: platform_profile: Add `choices` to platform_profile_ops Kurt Borja
2025-01-09 16:32 ` Mario Limonciello
2025-01-09 23:02 ` Kurt Borja
2025-01-09 15:06 ` [PATCH 03/18] ACPI: platform_profile: Replace *class_dev member with class_dev Kurt Borja
2025-01-09 16:36 ` Mario Limonciello
2025-01-09 15:06 ` Kurt Borja [this message]
2025-01-09 16:36 ` [PATCH 04/18] ACPI: platform_profile: Let drivers set drvdata to the class device Mario Limonciello
2025-01-09 15:06 ` [PATCH 05/18] platform/surface: surface_platform_profile: Use devm_platform_profile_register() Kurt Borja
2025-01-09 16:36 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 06/18] platform/x86: acer-wmi: " Kurt Borja
2025-01-09 16:36 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 07/18] platform/x86: amd: pmf: sps: " Kurt Borja
2025-01-09 16:36 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 08/18] platform/x86: asus-wmi: " Kurt Borja
2025-01-09 16:36 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 09/18] platform/x86: dell-pc: " Kurt Borja
2025-01-09 16:36 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 10/18] platform/x86: ideapad-laptop: " Kurt Borja
2025-01-09 16:36 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 11/18] platform/x86: hp-wmi: " Kurt Borja
2025-01-09 16:46 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 12/18] platform/x86: inspur_platform_profile: " Kurt Borja
2025-01-09 16:46 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 13/18] platform/x86: thinkpad_acpi: " Kurt Borja
2025-01-09 16:45 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 14/18] ACPI: platform_profile: Remove platform_profile_handler from exported symbols Kurt Borja
2025-01-09 16:45 ` Mario Limonciello
2025-01-09 22:49 ` Kurt Borja
2025-01-09 15:06 ` [PATCH 15/18] ACPI: platform_profile: Remove platform_profile_handler from callbacks Kurt Borja
2025-01-09 16:42 ` Mario Limonciello
2025-01-09 22:51 ` Kurt Borja
2025-01-09 15:06 ` [PATCH 16/18] ACPI: platform_profile: Move platform_profile_handler Kurt Borja
2025-01-09 16:40 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 17/18] ACPI: platform_profile: Clean platform_profile_handler Kurt Borja
2025-01-09 16:42 ` Mario Limonciello
2025-01-09 15:06 ` [PATCH 18/18] ACPI: platform_profile: Add documentation Kurt Borja
2025-01-09 16:39 ` Mario Limonciello
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250109150731.110799-5-kuurtb@gmail.com \
--to=kuurtb@gmail.com \
--cc=Dell.Client.Kernel@dell.com \
--cc=Shyam-sundar.S-k@amd.com \
--cc=W_Armin@gmx.de \
--cc=aichao@kylinos.cn \
--cc=alexbelm48@gmail.com \
--cc=colin.i.king@gmail.com \
--cc=corentin.chary@gmail.com \
--cc=derekjohn.clark@gmail.com \
--cc=hdegoede@redhat.com \
--cc=hmh@hmh.eng.br \
--cc=ibm-acpi-devel@lists.sourceforge.net \
--cc=ike.pan@canonical.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jlee@suse.com \
--cc=josh@joshuagrisham.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lsanche@lyndeno.ca \
--cc=luke@ljones.dev \
--cc=luzmaximilian@gmail.com \
--cc=mario.limonciello@amd.com \
--cc=mpearson-lenovo@squebb.ca \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=soyer@irl.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.