diff options
| author | Jie Zhan <zhanjie9@hisilicon.com> | 2025-06-23 22:34:00 +0800 |
|---|---|---|
| committer | Chanwoo Choi <cw00.choi@samsung.com> | 2025-07-14 20:22:59 +0900 |
| commit | 45b9d1da6ca0d0285140f8779793b537e4560d45 (patch) | |
| tree | 2fce41c0c35257dbdd565c9ec99810b993cc0d38 | |
| parent | PM / devfreq: sun8i-a33-mbus: Simplify by using more devm functions (diff) | |
| download | linux-45b9d1da6ca0d0285140f8779793b537e4560d45.tar.gz linux-45b9d1da6ca0d0285140f8779793b537e4560d45.zip | |
PM / devfreq: Allow devfreq driver to add custom sysfs ABIs
Extend the devfreq_dev_profile to allow drivers optionally create
device-specific sysfs ABIs together with other common devfreq ABIs under
the devfreq device path.
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Reviewed-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Jie Zhan <zhanjie9@hisilicon.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Link: https://patchwork.kernel.org/project/linux-pm/patch/20250623143401.4095045-2-zhanjie9@hisilicon.com/
| -rw-r--r-- | drivers/devfreq/devfreq.c | 1 | ||||
| -rw-r--r-- | include/linux/devfreq.h | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index c5f5960e643b..2e8d01d47f69 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -831,6 +831,7 @@ struct devfreq *devfreq_add_device(struct device *dev, mutex_lock(&devfreq->lock); devfreq->dev.parent = dev; devfreq->dev.class = devfreq_class; + devfreq->dev.groups = profile->dev_groups; devfreq->dev.release = devfreq_dev_release; INIT_LIST_HEAD(&devfreq->node); devfreq->profile = profile; diff --git a/include/linux/devfreq.h b/include/linux/devfreq.h index d312ffbac4dd..dc1075dc3446 100644 --- a/include/linux/devfreq.h +++ b/include/linux/devfreq.h @@ -103,6 +103,8 @@ struct devfreq_dev_status { * * @is_cooling_device: A self-explanatory boolean giving the device a * cooling effect property. + * @dev_groups: Optional device-specific sysfs attribute groups that to + * be attached to the devfreq device. */ struct devfreq_dev_profile { unsigned long initial_freq; @@ -119,6 +121,8 @@ struct devfreq_dev_profile { unsigned int max_state; bool is_cooling_device; + + const struct attribute_group **dev_groups; }; /** |
