Skip to content

Commit c1dbe2f

Browse files
storulfrafaeljw
authored andcommitted
PM / Domains: Remove reference counting for the generic_pm_domain_data
The reference counting was needed when genpd supported PM domain device callbacks. Since this option has been removed, let's also remove the reference counting of the struct generic_pm_domain_data. Signed-off-by: Ulf Hansson <[email protected]> Acked-by: Pavel Machek <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent 49d400c commit c1dbe2f

File tree

2 files changed

+2
-9
lines changed

2 files changed

+2
-9
lines changed

drivers/base/power/domain.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1456,7 +1456,6 @@ int __pm_genpd_add_device(struct generic_pm_domain *genpd, struct device *dev,
14561456
gpd_data = gpd_data_new;
14571457
dev->power.subsys_data->domain_data = &gpd_data->base;
14581458
}
1459-
gpd_data->refcount++;
14601459
if (td)
14611460
gpd_data->td = *td;
14621461

@@ -1504,7 +1503,6 @@ int pm_genpd_remove_device(struct generic_pm_domain *genpd,
15041503
{
15051504
struct generic_pm_domain_data *gpd_data;
15061505
struct pm_domain_data *pdd;
1507-
bool remove = false;
15081506
int ret = 0;
15091507

15101508
dev_dbg(dev, "%s()\n", __func__);
@@ -1533,10 +1531,7 @@ int pm_genpd_remove_device(struct generic_pm_domain *genpd,
15331531
pdd = dev->power.subsys_data->domain_data;
15341532
list_del_init(&pdd->list_node);
15351533
gpd_data = to_gpd_data(pdd);
1536-
if (--gpd_data->refcount == 0) {
1537-
dev->power.subsys_data->domain_data = NULL;
1538-
remove = true;
1539-
}
1534+
dev->power.subsys_data->domain_data = NULL;
15401535

15411536
spin_unlock_irq(&dev->power.lock);
15421537

@@ -1547,8 +1542,7 @@ int pm_genpd_remove_device(struct generic_pm_domain *genpd,
15471542
genpd_release_lock(genpd);
15481543

15491544
dev_pm_put_subsys_data(dev);
1550-
if (remove)
1551-
genpd_free_dev_data(dev, gpd_data);
1545+
genpd_free_dev_data(dev, gpd_data);
15521546

15531547
return 0;
15541548

include/linux/pm_domain.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@ struct generic_pm_domain_data {
114114
struct gpd_timing_data td;
115115
struct notifier_block nb;
116116
struct mutex lock;
117-
unsigned int refcount;
118117
int need_restore;
119118
};
120119

0 commit comments

Comments
 (0)