Skip to content

Commit 924f448

Browse files
storulfrafaeljw
authored andcommitted
PM / Domains: Drop genpd as in-param for pm_genpd_remove_device()
There is no need to pass a genpd struct to pm_genpd_remove_device(), as we already have the information about the PM domain (genpd) through the device structure. Additionally, we don't allow to remove a PM domain from a device, other than the one it may have assigned to it, so really it does not make sense to have a separate in-param for it. For these reason, drop it and update the current only call to pm_genpd_remove_device() from amdgpu_acp. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 1a7a670 commit 924f448

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

drivers/base/power/domain.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,13 +1475,13 @@ static int genpd_remove_device(struct generic_pm_domain *genpd,
14751475

14761476
/**
14771477
* pm_genpd_remove_device - Remove a device from an I/O PM domain.
1478-
* @genpd: PM domain to remove the device from.
14791478
* @dev: Device to be removed.
14801479
*/
1481-
int pm_genpd_remove_device(struct generic_pm_domain *genpd,
1482-
struct device *dev)
1480+
int pm_genpd_remove_device(struct device *dev)
14831481
{
1484-
if (!genpd || genpd != genpd_lookup_dev(dev))
1482+
struct generic_pm_domain *genpd = genpd_lookup_dev(dev);
1483+
1484+
if (!genpd)
14851485
return -EINVAL;
14861486

14871487
return genpd_remove_device(genpd, dev);

drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,7 @@ static int acp_hw_fini(void *handle)
513513
if (adev->acp.acp_genpd) {
514514
for (i = 0; i < ACP_DEVS ; i++) {
515515
dev = get_mfd_cell_dev(adev->acp.acp_cell[i].name, i);
516-
ret = pm_genpd_remove_device(&adev->acp.acp_genpd->gpd, dev);
516+
ret = pm_genpd_remove_device(dev);
517517
/* If removal fails, dont giveup and try rest */
518518
if (ret)
519519
dev_err(dev, "remove dev from genpd failed\n");

include/linux/pm_domain.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ static inline struct generic_pm_domain_data *dev_gpd_data(struct device *dev)
144144
}
145145

146146
int pm_genpd_add_device(struct generic_pm_domain *genpd, struct device *dev);
147-
int pm_genpd_remove_device(struct generic_pm_domain *genpd, struct device *dev);
147+
int pm_genpd_remove_device(struct device *dev);
148148
int pm_genpd_add_subdomain(struct generic_pm_domain *genpd,
149149
struct generic_pm_domain *new_subdomain);
150150
int pm_genpd_remove_subdomain(struct generic_pm_domain *genpd,
@@ -167,8 +167,7 @@ static inline int pm_genpd_add_device(struct generic_pm_domain *genpd,
167167
{
168168
return -ENOSYS;
169169
}
170-
static inline int pm_genpd_remove_device(struct generic_pm_domain *genpd,
171-
struct device *dev)
170+
static inline int pm_genpd_remove_device(struct device *dev)
172171
{
173172
return -ENOSYS;
174173
}

0 commit comments

Comments
 (0)