genpd              29 drivers/base/power/domain.c #define GENPD_DEV_CALLBACK(genpd, type, callback, dev)		\
genpd              34 drivers/base/power/domain.c 	__routine = genpd->dev_ops.callback; 			\
genpd              45 drivers/base/power/domain.c 	void (*lock)(struct generic_pm_domain *genpd);
genpd              46 drivers/base/power/domain.c 	void (*lock_nested)(struct generic_pm_domain *genpd, int depth);
genpd              47 drivers/base/power/domain.c 	int (*lock_interruptible)(struct generic_pm_domain *genpd);
genpd              48 drivers/base/power/domain.c 	void (*unlock)(struct generic_pm_domain *genpd);
genpd              51 drivers/base/power/domain.c static void genpd_lock_mtx(struct generic_pm_domain *genpd)
genpd              53 drivers/base/power/domain.c 	mutex_lock(&genpd->mlock);
genpd              56 drivers/base/power/domain.c static void genpd_lock_nested_mtx(struct generic_pm_domain *genpd,
genpd              59 drivers/base/power/domain.c 	mutex_lock_nested(&genpd->mlock, depth);
genpd              62 drivers/base/power/domain.c static int genpd_lock_interruptible_mtx(struct generic_pm_domain *genpd)
genpd              64 drivers/base/power/domain.c 	return mutex_lock_interruptible(&genpd->mlock);
genpd              67 drivers/base/power/domain.c static void genpd_unlock_mtx(struct generic_pm_domain *genpd)
genpd              69 drivers/base/power/domain.c 	return mutex_unlock(&genpd->mlock);
genpd              79 drivers/base/power/domain.c static void genpd_lock_spin(struct generic_pm_domain *genpd)
genpd              80 drivers/base/power/domain.c 	__acquires(&genpd->slock)
genpd              84 drivers/base/power/domain.c 	spin_lock_irqsave(&genpd->slock, flags);
genpd              85 drivers/base/power/domain.c 	genpd->lock_flags = flags;
genpd              88 drivers/base/power/domain.c static void genpd_lock_nested_spin(struct generic_pm_domain *genpd,
genpd              90 drivers/base/power/domain.c 	__acquires(&genpd->slock)
genpd              94 drivers/base/power/domain.c 	spin_lock_irqsave_nested(&genpd->slock, flags, depth);
genpd              95 drivers/base/power/domain.c 	genpd->lock_flags = flags;
genpd              98 drivers/base/power/domain.c static int genpd_lock_interruptible_spin(struct generic_pm_domain *genpd)
genpd              99 drivers/base/power/domain.c 	__acquires(&genpd->slock)
genpd             103 drivers/base/power/domain.c 	spin_lock_irqsave(&genpd->slock, flags);
genpd             104 drivers/base/power/domain.c 	genpd->lock_flags = flags;
genpd             108 drivers/base/power/domain.c static void genpd_unlock_spin(struct generic_pm_domain *genpd)
genpd             109 drivers/base/power/domain.c 	__releases(&genpd->slock)
genpd             111 drivers/base/power/domain.c 	spin_unlock_irqrestore(&genpd->slock, genpd->lock_flags);
genpd             126 drivers/base/power/domain.c #define genpd_status_on(genpd)		(genpd->status == GPD_STATE_ACTIVE)
genpd             127 drivers/base/power/domain.c #define genpd_is_irq_safe(genpd)	(genpd->flags & GENPD_FLAG_IRQ_SAFE)
genpd             128 drivers/base/power/domain.c #define genpd_is_always_on(genpd)	(genpd->flags & GENPD_FLAG_ALWAYS_ON)
genpd             129 drivers/base/power/domain.c #define genpd_is_active_wakeup(genpd)	(genpd->flags & GENPD_FLAG_ACTIVE_WAKEUP)
genpd             130 drivers/base/power/domain.c #define genpd_is_cpu_domain(genpd)	(genpd->flags & GENPD_FLAG_CPU_DOMAIN)
genpd             131 drivers/base/power/domain.c #define genpd_is_rpm_always_on(genpd)	(genpd->flags & GENPD_FLAG_RPM_ALWAYS_ON)
genpd             134 drivers/base/power/domain.c 		const struct generic_pm_domain *genpd)
genpd             138 drivers/base/power/domain.c 	ret = pm_runtime_is_irq_safe(dev) && !genpd_is_irq_safe(genpd);
genpd             145 drivers/base/power/domain.c 	if (ret && !genpd_is_always_on(genpd))
genpd             147 drivers/base/power/domain.c 				genpd->name);
genpd             184 drivers/base/power/domain.c static int genpd_stop_dev(const struct generic_pm_domain *genpd,
genpd             187 drivers/base/power/domain.c 	return GENPD_DEV_CALLBACK(genpd, int, stop, dev);
genpd             190 drivers/base/power/domain.c static int genpd_start_dev(const struct generic_pm_domain *genpd,
genpd             193 drivers/base/power/domain.c 	return GENPD_DEV_CALLBACK(genpd, int, start, dev);
genpd             196 drivers/base/power/domain.c static bool genpd_sd_counter_dec(struct generic_pm_domain *genpd)
genpd             200 drivers/base/power/domain.c 	if (!WARN_ON(atomic_read(&genpd->sd_count) == 0))
genpd             201 drivers/base/power/domain.c 		ret = !!atomic_dec_and_test(&genpd->sd_count);
genpd             206 drivers/base/power/domain.c static void genpd_sd_counter_inc(struct generic_pm_domain *genpd)
genpd             208 drivers/base/power/domain.c 	atomic_inc(&genpd->sd_count);
genpd             213 drivers/base/power/domain.c static void genpd_update_accounting(struct generic_pm_domain *genpd)
genpd             218 drivers/base/power/domain.c 	delta = ktime_sub(now, genpd->accounting_time);
genpd             225 drivers/base/power/domain.c 	if (genpd->status == GPD_STATE_ACTIVE) {
genpd             226 drivers/base/power/domain.c 		int state_idx = genpd->state_idx;
genpd             228 drivers/base/power/domain.c 		genpd->states[state_idx].idle_time =
genpd             229 drivers/base/power/domain.c 			ktime_add(genpd->states[state_idx].idle_time, delta);
genpd             231 drivers/base/power/domain.c 		genpd->on_time = ktime_add(genpd->on_time, delta);
genpd             234 drivers/base/power/domain.c 	genpd->accounting_time = now;
genpd             237 drivers/base/power/domain.c static inline void genpd_update_accounting(struct generic_pm_domain *genpd) {}
genpd             240 drivers/base/power/domain.c static int _genpd_reeval_performance_state(struct generic_pm_domain *genpd,
genpd             248 drivers/base/power/domain.c 	if (state == genpd->performance_state)
genpd             252 drivers/base/power/domain.c 	if (state > genpd->performance_state)
genpd             256 drivers/base/power/domain.c 	list_for_each_entry(pdd, &genpd->dev_list, list_node) {
genpd             277 drivers/base/power/domain.c 	list_for_each_entry(link, &genpd->master_links, master_node) {
genpd             285 drivers/base/power/domain.c static int _genpd_set_performance_state(struct generic_pm_domain *genpd,
genpd             292 drivers/base/power/domain.c 	if (state == genpd->performance_state)
genpd             296 drivers/base/power/domain.c 	list_for_each_entry(link, &genpd->slave_links, slave_node) {
genpd             303 drivers/base/power/domain.c 		ret = dev_pm_opp_xlate_performance_state(genpd->opp_table,
genpd             327 drivers/base/power/domain.c 	ret = genpd->set_performance_state(genpd, state);
genpd             331 drivers/base/power/domain.c 	genpd->performance_state = state;
genpd             336 drivers/base/power/domain.c 	list_for_each_entry_continue_reverse(link, &genpd->slave_links,
genpd             378 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd             383 drivers/base/power/domain.c 	genpd = dev_to_genpd_safe(dev);
genpd             384 drivers/base/power/domain.c 	if (!genpd)
genpd             387 drivers/base/power/domain.c 	if (unlikely(!genpd->set_performance_state))
genpd             394 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd             400 drivers/base/power/domain.c 	state = _genpd_reeval_performance_state(genpd, state);
genpd             401 drivers/base/power/domain.c 	ret = _genpd_set_performance_state(genpd, state, 0);
genpd             405 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd             411 drivers/base/power/domain.c static int _genpd_power_on(struct generic_pm_domain *genpd, bool timed)
genpd             413 drivers/base/power/domain.c 	unsigned int state_idx = genpd->state_idx;
genpd             418 drivers/base/power/domain.c 	if (!genpd->power_on)
genpd             422 drivers/base/power/domain.c 		return genpd->power_on(genpd);
genpd             425 drivers/base/power/domain.c 	ret = genpd->power_on(genpd);
genpd             430 drivers/base/power/domain.c 	if (elapsed_ns <= genpd->states[state_idx].power_on_latency_ns)
genpd             433 drivers/base/power/domain.c 	genpd->states[state_idx].power_on_latency_ns = elapsed_ns;
genpd             434 drivers/base/power/domain.c 	genpd->max_off_time_changed = true;
genpd             436 drivers/base/power/domain.c 		 genpd->name, "on", elapsed_ns);
genpd             441 drivers/base/power/domain.c static int _genpd_power_off(struct generic_pm_domain *genpd, bool timed)
genpd             443 drivers/base/power/domain.c 	unsigned int state_idx = genpd->state_idx;
genpd             448 drivers/base/power/domain.c 	if (!genpd->power_off)
genpd             452 drivers/base/power/domain.c 		return genpd->power_off(genpd);
genpd             455 drivers/base/power/domain.c 	ret = genpd->power_off(genpd);
genpd             460 drivers/base/power/domain.c 	if (elapsed_ns <= genpd->states[state_idx].power_off_latency_ns)
genpd             463 drivers/base/power/domain.c 	genpd->states[state_idx].power_off_latency_ns = elapsed_ns;
genpd             464 drivers/base/power/domain.c 	genpd->max_off_time_changed = true;
genpd             466 drivers/base/power/domain.c 		 genpd->name, "off", elapsed_ns);
genpd             478 drivers/base/power/domain.c static void genpd_queue_power_off_work(struct generic_pm_domain *genpd)
genpd             480 drivers/base/power/domain.c 	queue_work(pm_wq, &genpd->power_off_work);
genpd             494 drivers/base/power/domain.c static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
genpd             506 drivers/base/power/domain.c 	if (!genpd_status_on(genpd) || genpd->prepared_count > 0)
genpd             514 drivers/base/power/domain.c 	if (genpd_is_always_on(genpd) ||
genpd             515 drivers/base/power/domain.c 			genpd_is_rpm_always_on(genpd) ||
genpd             516 drivers/base/power/domain.c 			atomic_read(&genpd->sd_count) > 0)
genpd             519 drivers/base/power/domain.c 	list_for_each_entry(pdd, &genpd->dev_list, list_node) {
genpd             531 drivers/base/power/domain.c 			irq_safe_dev_in_no_sleep_domain(pdd->dev, genpd))
genpd             538 drivers/base/power/domain.c 	if (genpd->gov && genpd->gov->power_down_ok) {
genpd             539 drivers/base/power/domain.c 		if (!genpd->gov->power_down_ok(&genpd->domain))
genpd             544 drivers/base/power/domain.c 	if (!genpd->gov)
genpd             545 drivers/base/power/domain.c 		genpd->state_idx = 0;
genpd             547 drivers/base/power/domain.c 	if (genpd->power_off) {
genpd             550 drivers/base/power/domain.c 		if (atomic_read(&genpd->sd_count) > 0)
genpd             561 drivers/base/power/domain.c 		ret = _genpd_power_off(genpd, true);
genpd             566 drivers/base/power/domain.c 	genpd->status = GPD_STATE_POWER_OFF;
genpd             567 drivers/base/power/domain.c 	genpd_update_accounting(genpd);
genpd             569 drivers/base/power/domain.c 	list_for_each_entry(link, &genpd->slave_links, slave_node) {
genpd             587 drivers/base/power/domain.c static int genpd_power_on(struct generic_pm_domain *genpd, unsigned int depth)
genpd             592 drivers/base/power/domain.c 	if (genpd_status_on(genpd))
genpd             600 drivers/base/power/domain.c 	list_for_each_entry(link, &genpd->slave_links, slave_node) {
genpd             615 drivers/base/power/domain.c 	ret = _genpd_power_on(genpd, true);
genpd             619 drivers/base/power/domain.c 	genpd->status = GPD_STATE_ACTIVE;
genpd             620 drivers/base/power/domain.c 	genpd_update_accounting(genpd);
genpd             626 drivers/base/power/domain.c 					&genpd->slave_links,
genpd             647 drivers/base/power/domain.c 		struct generic_pm_domain *genpd;
genpd             656 drivers/base/power/domain.c 			genpd = dev_to_genpd(dev);
genpd             658 drivers/base/power/domain.c 			genpd = ERR_PTR(-ENODATA);
genpd             663 drivers/base/power/domain.c 		if (!IS_ERR(genpd)) {
genpd             664 drivers/base/power/domain.c 			genpd_lock(genpd);
genpd             665 drivers/base/power/domain.c 			genpd->max_off_time_changed = true;
genpd             666 drivers/base/power/domain.c 			genpd_unlock(genpd);
genpd             683 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd             685 drivers/base/power/domain.c 	genpd = container_of(work, struct generic_pm_domain, power_off_work);
genpd             687 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd             688 drivers/base/power/domain.c 	genpd_power_off(genpd, false, 0);
genpd             689 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd             748 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd             758 drivers/base/power/domain.c 	genpd = dev_to_genpd(dev);
genpd             759 drivers/base/power/domain.c 	if (IS_ERR(genpd))
genpd             768 drivers/base/power/domain.c 	suspend_ok = genpd->gov ? genpd->gov->suspend_ok : NULL;
genpd             781 drivers/base/power/domain.c 	ret = genpd_stop_dev(genpd, dev);
genpd             794 drivers/base/power/domain.c 			genpd->max_off_time_changed = true;
genpd             803 drivers/base/power/domain.c 	if (irq_safe_dev_in_no_sleep_domain(dev, genpd))
genpd             806 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd             807 drivers/base/power/domain.c 	genpd_power_off(genpd, true, 0);
genpd             808 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd             823 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd             833 drivers/base/power/domain.c 	genpd = dev_to_genpd(dev);
genpd             834 drivers/base/power/domain.c 	if (IS_ERR(genpd))
genpd             841 drivers/base/power/domain.c 	if (irq_safe_dev_in_no_sleep_domain(dev, genpd)) {
genpd             846 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd             847 drivers/base/power/domain.c 	ret = genpd_power_on(genpd, 0);
genpd             848 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd             859 drivers/base/power/domain.c 	ret = genpd_start_dev(genpd, dev);
genpd             874 drivers/base/power/domain.c 			genpd->max_off_time_changed = true;
genpd             882 drivers/base/power/domain.c 	genpd_stop_dev(genpd, dev);
genpd             885 drivers/base/power/domain.c 		(pm_runtime_is_irq_safe(dev) && genpd_is_irq_safe(genpd))) {
genpd             886 drivers/base/power/domain.c 		genpd_lock(genpd);
genpd             887 drivers/base/power/domain.c 		genpd_power_off(genpd, true, 0);
genpd             888 drivers/base/power/domain.c 		genpd_unlock(genpd);
genpd             907 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd             916 drivers/base/power/domain.c 	list_for_each_entry(genpd, &gpd_list, gpd_list_node)
genpd             917 drivers/base/power/domain.c 		genpd_queue_power_off_work(genpd);
genpd             927 drivers/base/power/domain.c static bool genpd_present(const struct generic_pm_domain *genpd)
genpd             931 drivers/base/power/domain.c 	if (IS_ERR_OR_NULL(genpd))
genpd             935 drivers/base/power/domain.c 		if (gpd == genpd)
genpd             958 drivers/base/power/domain.c static void genpd_sync_power_off(struct generic_pm_domain *genpd, bool use_lock,
genpd             963 drivers/base/power/domain.c 	if (!genpd_status_on(genpd) || genpd_is_always_on(genpd))
genpd             966 drivers/base/power/domain.c 	if (genpd->suspended_count != genpd->device_count
genpd             967 drivers/base/power/domain.c 	    || atomic_read(&genpd->sd_count) > 0)
genpd             971 drivers/base/power/domain.c 	genpd->state_idx = genpd->state_count - 1;
genpd             972 drivers/base/power/domain.c 	if (_genpd_power_off(genpd, false))
genpd             975 drivers/base/power/domain.c 	genpd->status = GPD_STATE_POWER_OFF;
genpd             977 drivers/base/power/domain.c 	list_for_each_entry(link, &genpd->slave_links, slave_node) {
genpd            1000 drivers/base/power/domain.c static void genpd_sync_power_on(struct generic_pm_domain *genpd, bool use_lock,
genpd            1005 drivers/base/power/domain.c 	if (genpd_status_on(genpd))
genpd            1008 drivers/base/power/domain.c 	list_for_each_entry(link, &genpd->slave_links, slave_node) {
genpd            1020 drivers/base/power/domain.c 	_genpd_power_on(genpd, false);
genpd            1022 drivers/base/power/domain.c 	genpd->status = GPD_STATE_ACTIVE;
genpd            1042 drivers/base/power/domain.c 			  const struct generic_pm_domain *genpd)
genpd            1049 drivers/base/power/domain.c 	active_wakeup = genpd_is_active_wakeup(genpd);
genpd            1064 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd            1069 drivers/base/power/domain.c 	genpd = dev_to_genpd(dev);
genpd            1070 drivers/base/power/domain.c 	if (IS_ERR(genpd))
genpd            1078 drivers/base/power/domain.c 	if (resume_needed(dev, genpd))
genpd            1081 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd            1083 drivers/base/power/domain.c 	if (genpd->prepared_count++ == 0)
genpd            1084 drivers/base/power/domain.c 		genpd->suspended_count = 0;
genpd            1086 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1090 drivers/base/power/domain.c 		genpd_lock(genpd);
genpd            1092 drivers/base/power/domain.c 		genpd->prepared_count--;
genpd            1094 drivers/base/power/domain.c 		genpd_unlock(genpd);
genpd            1112 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd            1115 drivers/base/power/domain.c 	genpd = dev_to_genpd(dev);
genpd            1116 drivers/base/power/domain.c 	if (IS_ERR(genpd))
genpd            1126 drivers/base/power/domain.c 	if (dev->power.wakeup_path && genpd_is_active_wakeup(genpd))
genpd            1129 drivers/base/power/domain.c 	if (genpd->dev_ops.stop && genpd->dev_ops.start &&
genpd            1131 drivers/base/power/domain.c 		ret = genpd_stop_dev(genpd, dev);
genpd            1141 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd            1142 drivers/base/power/domain.c 	genpd->suspended_count++;
genpd            1143 drivers/base/power/domain.c 	genpd_sync_power_off(genpd, true, 0);
genpd            1144 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1171 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd            1176 drivers/base/power/domain.c 	genpd = dev_to_genpd(dev);
genpd            1177 drivers/base/power/domain.c 	if (IS_ERR(genpd))
genpd            1180 drivers/base/power/domain.c 	if (dev->power.wakeup_path && genpd_is_active_wakeup(genpd))
genpd            1183 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd            1184 drivers/base/power/domain.c 	genpd_sync_power_on(genpd, true, 0);
genpd            1185 drivers/base/power/domain.c 	genpd->suspended_count--;
genpd            1186 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1188 drivers/base/power/domain.c 	if (genpd->dev_ops.stop && genpd->dev_ops.start &&
genpd            1190 drivers/base/power/domain.c 		ret = genpd_start_dev(genpd, dev);
genpd            1209 drivers/base/power/domain.c 	const struct generic_pm_domain *genpd;
genpd            1214 drivers/base/power/domain.c 	genpd = dev_to_genpd(dev);
genpd            1215 drivers/base/power/domain.c 	if (IS_ERR(genpd))
genpd            1222 drivers/base/power/domain.c 	if (genpd->dev_ops.stop && genpd->dev_ops.start &&
genpd            1224 drivers/base/power/domain.c 		ret = genpd_stop_dev(genpd, dev);
genpd            1238 drivers/base/power/domain.c 	const struct generic_pm_domain *genpd;
genpd            1243 drivers/base/power/domain.c 	genpd = dev_to_genpd(dev);
genpd            1244 drivers/base/power/domain.c 	if (IS_ERR(genpd))
genpd            1247 drivers/base/power/domain.c 	if (genpd->dev_ops.stop && genpd->dev_ops.start &&
genpd            1249 drivers/base/power/domain.c 		ret = genpd_start_dev(genpd, dev);
genpd            1281 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd            1286 drivers/base/power/domain.c 	genpd = dev_to_genpd(dev);
genpd            1287 drivers/base/power/domain.c 	if (IS_ERR(genpd))
genpd            1294 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd            1295 drivers/base/power/domain.c 	if (genpd->suspended_count++ == 0)
genpd            1301 drivers/base/power/domain.c 		genpd->status = GPD_STATE_POWER_OFF;
genpd            1303 drivers/base/power/domain.c 	genpd_sync_power_on(genpd, true, 0);
genpd            1304 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1306 drivers/base/power/domain.c 	if (genpd->dev_ops.stop && genpd->dev_ops.start &&
genpd            1308 drivers/base/power/domain.c 		ret = genpd_start_dev(genpd, dev);
genpd            1327 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd            1331 drivers/base/power/domain.c 	genpd = dev_to_genpd(dev);
genpd            1332 drivers/base/power/domain.c 	if (IS_ERR(genpd))
genpd            1337 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd            1339 drivers/base/power/domain.c 	genpd->prepared_count--;
genpd            1340 drivers/base/power/domain.c 	if (!genpd->prepared_count)
genpd            1341 drivers/base/power/domain.c 		genpd_queue_power_off_work(genpd);
genpd            1343 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1355 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd            1357 drivers/base/power/domain.c 	genpd = dev_to_genpd(dev);
genpd            1358 drivers/base/power/domain.c 	if (!genpd_present(genpd))
genpd            1362 drivers/base/power/domain.c 		genpd->suspended_count++;
genpd            1363 drivers/base/power/domain.c 		genpd_sync_power_off(genpd, false, 0);
genpd            1365 drivers/base/power/domain.c 		genpd_sync_power_on(genpd, false, 0);
genpd            1366 drivers/base/power/domain.c 		genpd->suspended_count--;
genpd            1449 drivers/base/power/domain.c static void genpd_update_cpumask(struct generic_pm_domain *genpd,
genpd            1454 drivers/base/power/domain.c 	if (!genpd_is_cpu_domain(genpd))
genpd            1457 drivers/base/power/domain.c 	list_for_each_entry(link, &genpd->slave_links, slave_node) {
genpd            1466 drivers/base/power/domain.c 		cpumask_set_cpu(cpu, genpd->cpus);
genpd            1468 drivers/base/power/domain.c 		cpumask_clear_cpu(cpu, genpd->cpus);
genpd            1471 drivers/base/power/domain.c static void genpd_set_cpumask(struct generic_pm_domain *genpd, int cpu)
genpd            1474 drivers/base/power/domain.c 		genpd_update_cpumask(genpd, cpu, true, 0);
genpd            1477 drivers/base/power/domain.c static void genpd_clear_cpumask(struct generic_pm_domain *genpd, int cpu)
genpd            1480 drivers/base/power/domain.c 		genpd_update_cpumask(genpd, cpu, false, 0);
genpd            1483 drivers/base/power/domain.c static int genpd_get_cpu(struct generic_pm_domain *genpd, struct device *dev)
genpd            1487 drivers/base/power/domain.c 	if (!genpd_is_cpu_domain(genpd))
genpd            1498 drivers/base/power/domain.c static int genpd_add_device(struct generic_pm_domain *genpd, struct device *dev,
genpd            1506 drivers/base/power/domain.c 	if (IS_ERR_OR_NULL(genpd) || IS_ERR_OR_NULL(dev))
genpd            1513 drivers/base/power/domain.c 	gpd_data->cpu = genpd_get_cpu(genpd, base_dev);
genpd            1515 drivers/base/power/domain.c 	ret = genpd->attach_dev ? genpd->attach_dev(genpd, dev) : 0;
genpd            1519 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd            1521 drivers/base/power/domain.c 	genpd_set_cpumask(genpd, gpd_data->cpu);
genpd            1522 drivers/base/power/domain.c 	dev_pm_domain_set(dev, &genpd->domain);
genpd            1524 drivers/base/power/domain.c 	genpd->device_count++;
genpd            1525 drivers/base/power/domain.c 	genpd->max_off_time_changed = true;
genpd            1527 drivers/base/power/domain.c 	list_add_tail(&gpd_data->base.list_node, &genpd->dev_list);
genpd            1529 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1545 drivers/base/power/domain.c int pm_genpd_add_device(struct generic_pm_domain *genpd, struct device *dev)
genpd            1550 drivers/base/power/domain.c 	ret = genpd_add_device(genpd, dev, dev);
genpd            1557 drivers/base/power/domain.c static int genpd_remove_device(struct generic_pm_domain *genpd,
genpd            1571 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd            1573 drivers/base/power/domain.c 	if (genpd->prepared_count > 0) {
genpd            1578 drivers/base/power/domain.c 	genpd->device_count--;
genpd            1579 drivers/base/power/domain.c 	genpd->max_off_time_changed = true;
genpd            1581 drivers/base/power/domain.c 	genpd_clear_cpumask(genpd, gpd_data->cpu);
genpd            1586 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1588 drivers/base/power/domain.c 	if (genpd->detach_dev)
genpd            1589 drivers/base/power/domain.c 		genpd->detach_dev(genpd, dev);
genpd            1596 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1608 drivers/base/power/domain.c 	struct generic_pm_domain *genpd = dev_to_genpd_safe(dev);
genpd            1610 drivers/base/power/domain.c 	if (!genpd)
genpd            1613 drivers/base/power/domain.c 	return genpd_remove_device(genpd, dev);
genpd            1617 drivers/base/power/domain.c static int genpd_add_subdomain(struct generic_pm_domain *genpd,
genpd            1623 drivers/base/power/domain.c 	if (IS_ERR_OR_NULL(genpd) || IS_ERR_OR_NULL(subdomain)
genpd            1624 drivers/base/power/domain.c 	    || genpd == subdomain)
genpd            1632 drivers/base/power/domain.c 	if (!genpd_is_irq_safe(genpd) && genpd_is_irq_safe(subdomain)) {
genpd            1634 drivers/base/power/domain.c 				genpd->name, subdomain->name);
genpd            1643 drivers/base/power/domain.c 	genpd_lock_nested(genpd, SINGLE_DEPTH_NESTING);
genpd            1645 drivers/base/power/domain.c 	if (!genpd_status_on(genpd) && genpd_status_on(subdomain)) {
genpd            1650 drivers/base/power/domain.c 	list_for_each_entry(itr, &genpd->master_links, master_node) {
genpd            1651 drivers/base/power/domain.c 		if (itr->slave == subdomain && itr->master == genpd) {
genpd            1657 drivers/base/power/domain.c 	link->master = genpd;
genpd            1658 drivers/base/power/domain.c 	list_add_tail(&link->master_node, &genpd->master_links);
genpd            1662 drivers/base/power/domain.c 		genpd_sd_counter_inc(genpd);
genpd            1665 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1677 drivers/base/power/domain.c int pm_genpd_add_subdomain(struct generic_pm_domain *genpd,
genpd            1683 drivers/base/power/domain.c 	ret = genpd_add_subdomain(genpd, subdomain);
genpd            1695 drivers/base/power/domain.c int pm_genpd_remove_subdomain(struct generic_pm_domain *genpd,
genpd            1701 drivers/base/power/domain.c 	if (IS_ERR_OR_NULL(genpd) || IS_ERR_OR_NULL(subdomain))
genpd            1705 drivers/base/power/domain.c 	genpd_lock_nested(genpd, SINGLE_DEPTH_NESTING);
genpd            1709 drivers/base/power/domain.c 			genpd->name, subdomain->name);
genpd            1714 drivers/base/power/domain.c 	list_for_each_entry_safe(link, l, &genpd->master_links, master_node) {
genpd            1722 drivers/base/power/domain.c 			genpd_sd_counter_dec(genpd);
genpd            1729 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1742 drivers/base/power/domain.c static int genpd_set_default_power_state(struct generic_pm_domain *genpd)
genpd            1750 drivers/base/power/domain.c 	genpd->states = state;
genpd            1751 drivers/base/power/domain.c 	genpd->state_count = 1;
genpd            1752 drivers/base/power/domain.c 	genpd->free_states = genpd_free_default_power_state;
genpd            1757 drivers/base/power/domain.c static void genpd_lock_init(struct generic_pm_domain *genpd)
genpd            1759 drivers/base/power/domain.c 	if (genpd->flags & GENPD_FLAG_IRQ_SAFE) {
genpd            1760 drivers/base/power/domain.c 		spin_lock_init(&genpd->slock);
genpd            1761 drivers/base/power/domain.c 		genpd->lock_ops = &genpd_spin_ops;
genpd            1763 drivers/base/power/domain.c 		mutex_init(&genpd->mlock);
genpd            1764 drivers/base/power/domain.c 		genpd->lock_ops = &genpd_mtx_ops;
genpd            1776 drivers/base/power/domain.c int pm_genpd_init(struct generic_pm_domain *genpd,
genpd            1781 drivers/base/power/domain.c 	if (IS_ERR_OR_NULL(genpd))
genpd            1784 drivers/base/power/domain.c 	INIT_LIST_HEAD(&genpd->master_links);
genpd            1785 drivers/base/power/domain.c 	INIT_LIST_HEAD(&genpd->slave_links);
genpd            1786 drivers/base/power/domain.c 	INIT_LIST_HEAD(&genpd->dev_list);
genpd            1787 drivers/base/power/domain.c 	genpd_lock_init(genpd);
genpd            1788 drivers/base/power/domain.c 	genpd->gov = gov;
genpd            1789 drivers/base/power/domain.c 	INIT_WORK(&genpd->power_off_work, genpd_power_off_work_fn);
genpd            1790 drivers/base/power/domain.c 	atomic_set(&genpd->sd_count, 0);
genpd            1791 drivers/base/power/domain.c 	genpd->status = is_off ? GPD_STATE_POWER_OFF : GPD_STATE_ACTIVE;
genpd            1792 drivers/base/power/domain.c 	genpd->device_count = 0;
genpd            1793 drivers/base/power/domain.c 	genpd->max_off_time_ns = -1;
genpd            1794 drivers/base/power/domain.c 	genpd->max_off_time_changed = true;
genpd            1795 drivers/base/power/domain.c 	genpd->provider = NULL;
genpd            1796 drivers/base/power/domain.c 	genpd->has_provider = false;
genpd            1797 drivers/base/power/domain.c 	genpd->accounting_time = ktime_get();
genpd            1798 drivers/base/power/domain.c 	genpd->domain.ops.runtime_suspend = genpd_runtime_suspend;
genpd            1799 drivers/base/power/domain.c 	genpd->domain.ops.runtime_resume = genpd_runtime_resume;
genpd            1800 drivers/base/power/domain.c 	genpd->domain.ops.prepare = genpd_prepare;
genpd            1801 drivers/base/power/domain.c 	genpd->domain.ops.suspend_noirq = genpd_suspend_noirq;
genpd            1802 drivers/base/power/domain.c 	genpd->domain.ops.resume_noirq = genpd_resume_noirq;
genpd            1803 drivers/base/power/domain.c 	genpd->domain.ops.freeze_noirq = genpd_freeze_noirq;
genpd            1804 drivers/base/power/domain.c 	genpd->domain.ops.thaw_noirq = genpd_thaw_noirq;
genpd            1805 drivers/base/power/domain.c 	genpd->domain.ops.poweroff_noirq = genpd_poweroff_noirq;
genpd            1806 drivers/base/power/domain.c 	genpd->domain.ops.restore_noirq = genpd_restore_noirq;
genpd            1807 drivers/base/power/domain.c 	genpd->domain.ops.complete = genpd_complete;
genpd            1809 drivers/base/power/domain.c 	if (genpd->flags & GENPD_FLAG_PM_CLK) {
genpd            1810 drivers/base/power/domain.c 		genpd->dev_ops.stop = pm_clk_suspend;
genpd            1811 drivers/base/power/domain.c 		genpd->dev_ops.start = pm_clk_resume;
genpd            1815 drivers/base/power/domain.c 	if ((genpd_is_always_on(genpd) || genpd_is_rpm_always_on(genpd)) &&
genpd            1816 drivers/base/power/domain.c 			!genpd_status_on(genpd))
genpd            1819 drivers/base/power/domain.c 	if (genpd_is_cpu_domain(genpd) &&
genpd            1820 drivers/base/power/domain.c 	    !zalloc_cpumask_var(&genpd->cpus, GFP_KERNEL))
genpd            1824 drivers/base/power/domain.c 	if (genpd->state_count == 0) {
genpd            1825 drivers/base/power/domain.c 		ret = genpd_set_default_power_state(genpd);
genpd            1827 drivers/base/power/domain.c 			if (genpd_is_cpu_domain(genpd))
genpd            1828 drivers/base/power/domain.c 				free_cpumask_var(genpd->cpus);
genpd            1831 drivers/base/power/domain.c 	} else if (!gov && genpd->state_count > 1) {
genpd            1832 drivers/base/power/domain.c 		pr_warn("%s: no governor for states\n", genpd->name);
genpd            1835 drivers/base/power/domain.c 	device_initialize(&genpd->dev);
genpd            1836 drivers/base/power/domain.c 	dev_set_name(&genpd->dev, "%s", genpd->name);
genpd            1839 drivers/base/power/domain.c 	list_add(&genpd->gpd_list_node, &gpd_list);
genpd            1846 drivers/base/power/domain.c static int genpd_remove(struct generic_pm_domain *genpd)
genpd            1850 drivers/base/power/domain.c 	if (IS_ERR_OR_NULL(genpd))
genpd            1853 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd            1855 drivers/base/power/domain.c 	if (genpd->has_provider) {
genpd            1856 drivers/base/power/domain.c 		genpd_unlock(genpd);
genpd            1857 drivers/base/power/domain.c 		pr_err("Provider present, unable to remove %s\n", genpd->name);
genpd            1861 drivers/base/power/domain.c 	if (!list_empty(&genpd->master_links) || genpd->device_count) {
genpd            1862 drivers/base/power/domain.c 		genpd_unlock(genpd);
genpd            1863 drivers/base/power/domain.c 		pr_err("%s: unable to remove %s\n", __func__, genpd->name);
genpd            1867 drivers/base/power/domain.c 	list_for_each_entry_safe(link, l, &genpd->slave_links, slave_node) {
genpd            1873 drivers/base/power/domain.c 	list_del(&genpd->gpd_list_node);
genpd            1874 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            1875 drivers/base/power/domain.c 	cancel_work_sync(&genpd->power_off_work);
genpd            1876 drivers/base/power/domain.c 	if (genpd_is_cpu_domain(genpd))
genpd            1877 drivers/base/power/domain.c 		free_cpumask_var(genpd->cpus);
genpd            1878 drivers/base/power/domain.c 	if (genpd->free_states)
genpd            1879 drivers/base/power/domain.c 		genpd->free_states(genpd->states, genpd->state_count);
genpd            1881 drivers/base/power/domain.c 	pr_debug("%s: removed %s\n", __func__, genpd->name);
genpd            1899 drivers/base/power/domain.c int pm_genpd_remove(struct generic_pm_domain *genpd)
genpd            1904 drivers/base/power/domain.c 	ret = genpd_remove(genpd);
genpd            2029 drivers/base/power/domain.c 				 struct generic_pm_domain *genpd)
genpd            2033 drivers/base/power/domain.c 	if (!np || !genpd)
genpd            2038 drivers/base/power/domain.c 	if (!genpd_present(genpd))
genpd            2041 drivers/base/power/domain.c 	genpd->dev.of_node = np;
genpd            2044 drivers/base/power/domain.c 	if (genpd->set_performance_state) {
genpd            2045 drivers/base/power/domain.c 		ret = dev_pm_opp_of_add_table(&genpd->dev);
genpd            2047 drivers/base/power/domain.c 			dev_err(&genpd->dev, "Failed to add OPP table: %d\n",
genpd            2056 drivers/base/power/domain.c 		genpd->opp_table = dev_pm_opp_get_opp_table(&genpd->dev);
genpd            2057 drivers/base/power/domain.c 		WARN_ON(!genpd->opp_table);
genpd            2060 drivers/base/power/domain.c 	ret = genpd_add_provider(np, genpd_xlate_simple, genpd);
genpd            2062 drivers/base/power/domain.c 		if (genpd->set_performance_state) {
genpd            2063 drivers/base/power/domain.c 			dev_pm_opp_put_opp_table(genpd->opp_table);
genpd            2064 drivers/base/power/domain.c 			dev_pm_opp_of_remove_table(&genpd->dev);
genpd            2070 drivers/base/power/domain.c 	genpd->provider = &np->fwnode;
genpd            2071 drivers/base/power/domain.c 	genpd->has_provider = true;
genpd            2088 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd            2101 drivers/base/power/domain.c 		genpd = data->domains[i];
genpd            2103 drivers/base/power/domain.c 		if (!genpd)
genpd            2105 drivers/base/power/domain.c 		if (!genpd_present(genpd))
genpd            2108 drivers/base/power/domain.c 		genpd->dev.of_node = np;
genpd            2111 drivers/base/power/domain.c 		if (genpd->set_performance_state) {
genpd            2112 drivers/base/power/domain.c 			ret = dev_pm_opp_of_add_table_indexed(&genpd->dev, i);
genpd            2114 drivers/base/power/domain.c 				dev_err(&genpd->dev, "Failed to add OPP table for index %d: %d\n",
genpd            2123 drivers/base/power/domain.c 			genpd->opp_table = dev_pm_opp_get_opp_table_indexed(&genpd->dev, i);
genpd            2124 drivers/base/power/domain.c 			WARN_ON(!genpd->opp_table);
genpd            2127 drivers/base/power/domain.c 		genpd->provider = &np->fwnode;
genpd            2128 drivers/base/power/domain.c 		genpd->has_provider = true;
genpd            2141 drivers/base/power/domain.c 		genpd = data->domains[i];
genpd            2143 drivers/base/power/domain.c 		if (!genpd)
genpd            2146 drivers/base/power/domain.c 		genpd->provider = NULL;
genpd            2147 drivers/base/power/domain.c 		genpd->has_provider = false;
genpd            2149 drivers/base/power/domain.c 		if (genpd->set_performance_state) {
genpd            2150 drivers/base/power/domain.c 			dev_pm_opp_put_opp_table(genpd->opp_table);
genpd            2151 drivers/base/power/domain.c 			dev_pm_opp_of_remove_table(&genpd->dev);
genpd            2216 drivers/base/power/domain.c 	struct generic_pm_domain *genpd = ERR_PTR(-ENOENT);
genpd            2227 drivers/base/power/domain.c 			genpd = provider->xlate(genpdspec, provider->data);
genpd            2228 drivers/base/power/domain.c 		if (!IS_ERR(genpd))
genpd            2234 drivers/base/power/domain.c 	return genpd;
genpd            2247 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd            2252 drivers/base/power/domain.c 	genpd = genpd_get_from_provider(genpdspec);
genpd            2253 drivers/base/power/domain.c 	if (IS_ERR(genpd)) {
genpd            2254 drivers/base/power/domain.c 		ret = PTR_ERR(genpd);
genpd            2258 drivers/base/power/domain.c 	ret = genpd_add_device(genpd, dev, dev);
genpd            2320 drivers/base/power/domain.c 	struct generic_pm_domain *gpd, *tmp, *genpd = ERR_PTR(-ENOENT);
genpd            2330 drivers/base/power/domain.c 			genpd = ret ? ERR_PTR(ret) : gpd;
genpd            2336 drivers/base/power/domain.c 	return genpd;
genpd            2701 drivers/base/power/domain.c 	struct generic_pm_domain *genpd = NULL;
genpd            2704 drivers/base/power/domain.c 	genpd = container_of(genpd_dev, struct generic_pm_domain, dev);
genpd            2706 drivers/base/power/domain.c 	if (unlikely(!genpd->opp_to_performance_state))
genpd            2709 drivers/base/power/domain.c 	genpd_lock(genpd);
genpd            2710 drivers/base/power/domain.c 	state = genpd->opp_to_performance_state(genpd, opp);
genpd            2711 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            2764 drivers/base/power/domain.c 			struct generic_pm_domain *genpd)
genpd            2776 drivers/base/power/domain.c 	ret = genpd_lock_interruptible(genpd);
genpd            2780 drivers/base/power/domain.c 	if (WARN_ON(genpd->status >= ARRAY_SIZE(status_lookup)))
genpd            2782 drivers/base/power/domain.c 	if (!genpd_status_on(genpd))
genpd            2784 drivers/base/power/domain.c 			 status_lookup[genpd->status], genpd->state_idx);
genpd            2787 drivers/base/power/domain.c 			 status_lookup[genpd->status]);
genpd            2788 drivers/base/power/domain.c 	seq_printf(s, "%-30s  %-15s ", genpd->name, state);
genpd            2795 drivers/base/power/domain.c 	list_for_each_entry(link, &genpd->master_links, master_node) {
genpd            2797 drivers/base/power/domain.c 		if (!list_is_last(&link->master_node, &genpd->master_links))
genpd            2801 drivers/base/power/domain.c 	list_for_each_entry(pm_data, &genpd->dev_list, list_node) {
genpd            2803 drivers/base/power/domain.c 				genpd_is_irq_safe(genpd) ?
genpd            2815 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            2822 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd            2833 drivers/base/power/domain.c 	list_for_each_entry(genpd, &gpd_list, gpd_list_node) {
genpd            2834 drivers/base/power/domain.c 		ret = genpd_summary_one(s, genpd);
genpd            2850 drivers/base/power/domain.c 	struct generic_pm_domain *genpd = s->private;
genpd            2853 drivers/base/power/domain.c 	ret = genpd_lock_interruptible(genpd);
genpd            2857 drivers/base/power/domain.c 	if (WARN_ON_ONCE(genpd->status >= ARRAY_SIZE(status_lookup)))
genpd            2860 drivers/base/power/domain.c 	if (genpd->status == GPD_STATE_POWER_OFF)
genpd            2861 drivers/base/power/domain.c 		seq_printf(s, "%s-%u\n", status_lookup[genpd->status],
genpd            2862 drivers/base/power/domain.c 			genpd->state_idx);
genpd            2864 drivers/base/power/domain.c 		seq_printf(s, "%s\n", status_lookup[genpd->status]);
genpd            2866 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            2872 drivers/base/power/domain.c 	struct generic_pm_domain *genpd = s->private;
genpd            2876 drivers/base/power/domain.c 	ret = genpd_lock_interruptible(genpd);
genpd            2880 drivers/base/power/domain.c 	list_for_each_entry(link, &genpd->master_links, master_node)
genpd            2883 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            2889 drivers/base/power/domain.c 	struct generic_pm_domain *genpd = s->private;
genpd            2893 drivers/base/power/domain.c 	ret = genpd_lock_interruptible(genpd);
genpd            2899 drivers/base/power/domain.c 	for (i = 0; i < genpd->state_count; i++) {
genpd            2903 drivers/base/power/domain.c 		if ((genpd->status == GPD_STATE_POWER_OFF) &&
genpd            2904 drivers/base/power/domain.c 				(genpd->state_idx == i))
genpd            2905 drivers/base/power/domain.c 			delta = ktime_sub(ktime_get(), genpd->accounting_time);
genpd            2908 drivers/base/power/domain.c 			ktime_add(genpd->states[i].idle_time, delta));
genpd            2912 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            2918 drivers/base/power/domain.c 	struct generic_pm_domain *genpd = s->private;
genpd            2922 drivers/base/power/domain.c 	ret = genpd_lock_interruptible(genpd);
genpd            2926 drivers/base/power/domain.c 	if (genpd->status == GPD_STATE_ACTIVE)
genpd            2927 drivers/base/power/domain.c 		delta = ktime_sub(ktime_get(), genpd->accounting_time);
genpd            2930 drivers/base/power/domain.c 				ktime_add(genpd->on_time, delta)));
genpd            2932 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            2938 drivers/base/power/domain.c 	struct generic_pm_domain *genpd = s->private;
genpd            2943 drivers/base/power/domain.c 	ret = genpd_lock_interruptible(genpd);
genpd            2947 drivers/base/power/domain.c 	for (i = 0; i < genpd->state_count; i++) {
genpd            2949 drivers/base/power/domain.c 		if ((genpd->status == GPD_STATE_POWER_OFF) &&
genpd            2950 drivers/base/power/domain.c 				(genpd->state_idx == i))
genpd            2951 drivers/base/power/domain.c 			delta = ktime_sub(ktime_get(), genpd->accounting_time);
genpd            2953 drivers/base/power/domain.c 		total = ktime_add(total, genpd->states[i].idle_time);
genpd            2959 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            2966 drivers/base/power/domain.c 	struct generic_pm_domain *genpd = s->private;
genpd            2971 drivers/base/power/domain.c 	ret = genpd_lock_interruptible(genpd);
genpd            2975 drivers/base/power/domain.c 	list_for_each_entry(pm_data, &genpd->dev_list, list_node) {
genpd            2977 drivers/base/power/domain.c 				genpd_is_irq_safe(genpd) ?
genpd            2986 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            2992 drivers/base/power/domain.c 	struct generic_pm_domain *genpd = s->private;
genpd            2994 drivers/base/power/domain.c 	if (genpd_lock_interruptible(genpd))
genpd            2997 drivers/base/power/domain.c 	seq_printf(s, "%u\n", genpd->performance_state);
genpd            2999 drivers/base/power/domain.c 	genpd_unlock(genpd);
genpd            3015 drivers/base/power/domain.c 	struct generic_pm_domain *genpd;
genpd            3022 drivers/base/power/domain.c 	list_for_each_entry(genpd, &gpd_list, gpd_list_node) {
genpd            3023 drivers/base/power/domain.c 		d = debugfs_create_dir(genpd->name, genpd_debugfs_dir);
genpd            3026 drivers/base/power/domain.c 				d, genpd, &status_fops);
genpd            3028 drivers/base/power/domain.c 				d, genpd, &sub_domains_fops);
genpd            3030 drivers/base/power/domain.c 				d, genpd, &idle_states_fops);
genpd            3032 drivers/base/power/domain.c 				d, genpd, &active_time_fops);
genpd            3034 drivers/base/power/domain.c 				d, genpd, &total_idle_time_fops);
genpd            3036 drivers/base/power/domain.c 				d, genpd, &devices_fops);
genpd            3037 drivers/base/power/domain.c 		if (genpd->set_performance_state)
genpd            3039 drivers/base/power/domain.c 					    d, genpd, &perf_state_fops);
genpd             123 drivers/base/power/domain_governor.c 	struct generic_pm_domain *genpd = pd_to_genpd(pd);
genpd             129 drivers/base/power/domain_governor.c 	off_on_time_ns = genpd->states[state].power_off_latency_ns +
genpd             130 drivers/base/power/domain_governor.c 		genpd->states[state].power_on_latency_ns;
genpd             138 drivers/base/power/domain_governor.c 	list_for_each_entry(link, &genpd->master_links, master_node) {
genpd             160 drivers/base/power/domain_governor.c 	list_for_each_entry(pdd, &genpd->dev_list, list_node) {
genpd             198 drivers/base/power/domain_governor.c 	genpd->max_off_time_ns = min_off_time_ns -
genpd             199 drivers/base/power/domain_governor.c 		genpd->states[state].power_on_latency_ns;
genpd             211 drivers/base/power/domain_governor.c 	struct generic_pm_domain *genpd = pd_to_genpd(pd);
genpd             214 drivers/base/power/domain_governor.c 	if (!genpd->max_off_time_changed) {
genpd             215 drivers/base/power/domain_governor.c 		genpd->state_idx = genpd->cached_power_down_state_idx;
genpd             216 drivers/base/power/domain_governor.c 		return genpd->cached_power_down_ok;
genpd             225 drivers/base/power/domain_governor.c 	list_for_each_entry(link, &genpd->slave_links, slave_node)
genpd             228 drivers/base/power/domain_governor.c 	genpd->max_off_time_ns = -1;
genpd             229 drivers/base/power/domain_governor.c 	genpd->max_off_time_changed = false;
genpd             230 drivers/base/power/domain_governor.c 	genpd->cached_power_down_ok = true;
genpd             231 drivers/base/power/domain_governor.c 	genpd->state_idx = genpd->state_count - 1;
genpd             234 drivers/base/power/domain_governor.c 	while (!__default_power_down_ok(pd, genpd->state_idx)) {
genpd             235 drivers/base/power/domain_governor.c 		if (genpd->state_idx == 0) {
genpd             236 drivers/base/power/domain_governor.c 			genpd->cached_power_down_ok = false;
genpd             239 drivers/base/power/domain_governor.c 		genpd->state_idx--;
genpd             242 drivers/base/power/domain_governor.c 	genpd->cached_power_down_state_idx = genpd->state_idx;
genpd             243 drivers/base/power/domain_governor.c 	return genpd->cached_power_down_ok;
genpd             254 drivers/base/power/domain_governor.c 	struct generic_pm_domain *genpd = pd_to_genpd(pd);
genpd             264 drivers/base/power/domain_governor.c 	if (!(genpd->flags & GENPD_FLAG_CPU_DOMAIN))
genpd             273 drivers/base/power/domain_governor.c 	for_each_cpu_and(cpu, genpd->cpus, cpu_online_mask) {
genpd             292 drivers/base/power/domain_governor.c 	i = genpd->state_idx;
genpd             294 drivers/base/power/domain_governor.c 		if (idle_duration_ns >= (genpd->states[i].residency_ns +
genpd             295 drivers/base/power/domain_governor.c 		    genpd->states[i].power_off_latency_ns)) {
genpd             296 drivers/base/power/domain_governor.c 			genpd->state_idx = i;
genpd             451 drivers/clk/renesas/renesas-cpg-mssr.c 	struct generic_pm_domain genpd;
genpd             463 drivers/clk/renesas/renesas-cpg-mssr.c 	if (clkspec->np != pd->genpd.dev.of_node || clkspec->args_count != 2)
genpd             541 drivers/clk/renesas/renesas-cpg-mssr.c 	struct generic_pm_domain *genpd;
genpd             552 drivers/clk/renesas/renesas-cpg-mssr.c 	genpd = &pd->genpd;
genpd             553 drivers/clk/renesas/renesas-cpg-mssr.c 	genpd->name = np->name;
genpd             554 drivers/clk/renesas/renesas-cpg-mssr.c 	genpd->flags = GENPD_FLAG_PM_CLK | GENPD_FLAG_ALWAYS_ON |
genpd             556 drivers/clk/renesas/renesas-cpg-mssr.c 	genpd->attach_dev = cpg_mssr_attach_dev;
genpd             557 drivers/clk/renesas/renesas-cpg-mssr.c 	genpd->detach_dev = cpg_mssr_detach_dev;
genpd             558 drivers/clk/renesas/renesas-cpg-mssr.c 	pm_genpd_init(genpd, &pm_domain_always_on_gov, false);
genpd             561 drivers/clk/renesas/renesas-cpg-mssr.c 	of_genpd_add_provider_simple(np, genpd);
genpd              15 drivers/firmware/arm_scmi/scmi_pm_domain.c 	struct generic_pm_domain genpd;
genpd              21 drivers/firmware/arm_scmi/scmi_pm_domain.c #define to_scmi_pd(gpd) container_of(gpd, struct scmi_pm_domain, genpd)
genpd              88 drivers/firmware/arm_scmi/scmi_pm_domain.c 		domains[i] = &scmi_pd->genpd;
genpd              93 drivers/firmware/arm_scmi/scmi_pm_domain.c 		scmi_pd->genpd.name = scmi_pd->name;
genpd              94 drivers/firmware/arm_scmi/scmi_pm_domain.c 		scmi_pd->genpd.power_off = scmi_pd_power_off;
genpd              95 drivers/firmware/arm_scmi/scmi_pm_domain.c 		scmi_pd->genpd.power_on = scmi_pd_power_on;
genpd             102 drivers/firmware/arm_scmi/scmi_pm_domain.c 		pm_genpd_init(&scmi_pd->genpd, NULL,
genpd             171 drivers/firmware/imx/scu-pd.c to_imx_sc_pd(struct generic_pm_domain *genpd)
genpd             173 drivers/firmware/imx/scu-pd.c 	return container_of(genpd, struct imx_sc_pm_domain, pd);
genpd              16 drivers/firmware/scpi_pm_domain.c 	struct generic_pm_domain genpd;
genpd              32 drivers/firmware/scpi_pm_domain.c #define to_scpi_pd(gpd) container_of(gpd, struct scpi_pm_domain, genpd)
genpd             109 drivers/firmware/scpi_pm_domain.c 		domains[i] = &scpi_pd->genpd;
genpd             114 drivers/firmware/scpi_pm_domain.c 		scpi_pd->genpd.name = scpi_pd->name;
genpd             115 drivers/firmware/scpi_pm_domain.c 		scpi_pd->genpd.power_off = scpi_pd_power_off;
genpd             116 drivers/firmware/scpi_pm_domain.c 		scpi_pd->genpd.power_on = scpi_pd_power_on;
genpd             124 drivers/firmware/scpi_pm_domain.c 		pm_genpd_init(&scpi_pd->genpd, NULL, true);
genpd             125 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c static int acp_poweroff(struct generic_pm_domain *genpd)
genpd             130 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c 	apd = container_of(genpd, struct acp_pm_domain, gpd);
genpd             146 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c static int acp_poweron(struct generic_pm_domain *genpd)
genpd             151 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c 	apd = container_of(genpd, struct acp_pm_domain, gpd);
genpd             402 drivers/media/platform/qcom/camss/camss.c 				camss->genpd[id], DL_FLAG_STATELESS |
genpd             915 drivers/media/platform/qcom/camss/camss.c 		camss->genpd[PM_DOMAIN_VFE0] = dev_pm_domain_attach_by_id(
genpd             917 drivers/media/platform/qcom/camss/camss.c 		if (IS_ERR(camss->genpd[PM_DOMAIN_VFE0]))
genpd             918 drivers/media/platform/qcom/camss/camss.c 			return PTR_ERR(camss->genpd[PM_DOMAIN_VFE0]);
genpd             920 drivers/media/platform/qcom/camss/camss.c 		camss->genpd[PM_DOMAIN_VFE1] = dev_pm_domain_attach_by_id(
genpd             922 drivers/media/platform/qcom/camss/camss.c 		if (IS_ERR(camss->genpd[PM_DOMAIN_VFE1])) {
genpd             923 drivers/media/platform/qcom/camss/camss.c 			dev_pm_domain_detach(camss->genpd[PM_DOMAIN_VFE0],
genpd             925 drivers/media/platform/qcom/camss/camss.c 			return PTR_ERR(camss->genpd[PM_DOMAIN_VFE1]);
genpd             952 drivers/media/platform/qcom/camss/camss.c 		dev_pm_domain_detach(camss->genpd[PM_DOMAIN_VFE0], true);
genpd             953 drivers/media/platform/qcom/camss/camss.c 		dev_pm_domain_detach(camss->genpd[PM_DOMAIN_VFE1], true);
genpd              84 drivers/media/platform/qcom/camss/camss.h 	struct device *genpd[PM_DOMAIN_COUNT];
genpd              39 drivers/soc/actions/owl-sps.c #define to_owl_pd(gpd) container_of(gpd, struct owl_sps_domain, genpd)
genpd              42 drivers/soc/actions/owl-sps.c 	struct generic_pm_domain genpd;
genpd              86 drivers/soc/actions/owl-sps.c 	pd->genpd.name = pd->info->name;
genpd              87 drivers/soc/actions/owl-sps.c 	pd->genpd.power_on = owl_sps_power_on;
genpd              88 drivers/soc/actions/owl-sps.c 	pd->genpd.power_off = owl_sps_power_off;
genpd              89 drivers/soc/actions/owl-sps.c 	pd->genpd.flags = pd->info->genpd_flags;
genpd              90 drivers/soc/actions/owl-sps.c 	pm_genpd_init(&pd->genpd, NULL, false);
genpd              92 drivers/soc/actions/owl-sps.c 	sps->genpd_data.domains[index] = &pd->genpd;
genpd              33 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 	struct generic_pm_domain genpd;
genpd              44 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 	return container_of(d, struct meson_gx_pwrc_vpu, genpd);
genpd              47 drivers/soc/amlogic/meson-gx-pwrc-vpu.c static int meson_gx_pwrc_vpu_power_off(struct generic_pm_domain *genpd)
genpd              49 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 	struct meson_gx_pwrc_vpu *pd = genpd_to_pd(genpd);
genpd              85 drivers/soc/amlogic/meson-gx-pwrc-vpu.c static int meson_g12a_pwrc_vpu_power_off(struct generic_pm_domain *genpd)
genpd              87 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 	struct meson_gx_pwrc_vpu *pd = genpd_to_pd(genpd);
genpd             143 drivers/soc/amlogic/meson-gx-pwrc-vpu.c static int meson_gx_pwrc_vpu_power_on(struct generic_pm_domain *genpd)
genpd             145 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 	struct meson_gx_pwrc_vpu *pd = genpd_to_pd(genpd);
genpd             191 drivers/soc/amlogic/meson-gx-pwrc-vpu.c static int meson_g12a_pwrc_vpu_power_on(struct generic_pm_domain *genpd)
genpd             193 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 	struct meson_gx_pwrc_vpu *pd = genpd_to_pd(genpd);
genpd             255 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 	.genpd = {
genpd             263 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 	.genpd = {
genpd             342 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 	pm_genpd_init(&vpu_pd->genpd, &pm_domain_always_on_gov,
genpd             346 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 					    &vpu_pd->genpd);
genpd             356 drivers/soc/amlogic/meson-gx-pwrc-vpu.c 		vpu_pd->genpd.power_off(&vpu_pd->genpd);
genpd              54 drivers/soc/imx/gpc.c to_imx_pm_domain(struct generic_pm_domain *genpd)
genpd              56 drivers/soc/imx/gpc.c 	return container_of(genpd, struct imx_pm_domain, base);
genpd              59 drivers/soc/imx/gpc.c static int imx6_pm_domain_power_off(struct generic_pm_domain *genpd)
genpd              61 drivers/soc/imx/gpc.c 	struct imx_pm_domain *pd = to_imx_pm_domain(genpd);
genpd              87 drivers/soc/imx/gpc.c static int imx6_pm_domain_power_on(struct generic_pm_domain *genpd)
genpd              89 drivers/soc/imx/gpc.c 	struct imx_pm_domain *pd = to_imx_pm_domain(genpd);
genpd             118 drivers/soc/imx/gpc.c 		pr_err("powerup request on domain %s timed out\n", genpd->name);
genpd             105 drivers/soc/imx/gpcv2.c 	struct generic_pm_domain genpd;
genpd             129 drivers/soc/imx/gpcv2.c static int imx_gpc_pu_pgc_sw_pxx_req(struct generic_pm_domain *genpd,
genpd             132 drivers/soc/imx/gpcv2.c 	struct imx_pgc_domain *domain = container_of(genpd,
genpd             134 drivers/soc/imx/gpcv2.c 						      genpd);
genpd             211 drivers/soc/imx/gpcv2.c static int imx_gpc_pu_pgc_sw_pup_req(struct generic_pm_domain *genpd)
genpd             213 drivers/soc/imx/gpcv2.c 	return imx_gpc_pu_pgc_sw_pxx_req(genpd, true);
genpd             216 drivers/soc/imx/gpcv2.c static int imx_gpc_pu_pgc_sw_pdn_req(struct generic_pm_domain *genpd)
genpd             218 drivers/soc/imx/gpcv2.c 	return imx_gpc_pu_pgc_sw_pxx_req(genpd, false);
genpd             223 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             235 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             247 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             283 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             294 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             305 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             316 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             327 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             338 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             350 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             362 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             374 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             385 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             396 drivers/soc/imx/gpcv2.c 		.genpd = {
genpd             506 drivers/soc/imx/gpcv2.c 	ret = pm_genpd_init(&domain->genpd, NULL, true);
genpd             514 drivers/soc/imx/gpcv2.c 					   &domain->genpd);
genpd             517 drivers/soc/imx/gpcv2.c 		pm_genpd_remove(&domain->genpd);
genpd             529 drivers/soc/imx/gpcv2.c 	pm_genpd_remove(&domain->genpd);
genpd             624 drivers/soc/imx/gpcv2.c 		domain->genpd.power_on  = imx_gpc_pu_pgc_sw_pup_req;
genpd             625 drivers/soc/imx/gpcv2.c 		domain->genpd.power_off = imx_gpc_pu_pgc_sw_pdn_req;
genpd             125 drivers/soc/mediatek/mtk-scpsys.c 	struct generic_pm_domain genpd;
genpd             183 drivers/soc/mediatek/mtk-scpsys.c static int scpsys_power_on(struct generic_pm_domain *genpd)
genpd             185 drivers/soc/mediatek/mtk-scpsys.c 	struct scp_domain *scpd = container_of(genpd, struct scp_domain, genpd);
genpd             268 drivers/soc/mediatek/mtk-scpsys.c 	dev_err(scp->dev, "Failed to power on domain %s\n", genpd->name);
genpd             273 drivers/soc/mediatek/mtk-scpsys.c static int scpsys_power_off(struct generic_pm_domain *genpd)
genpd             275 drivers/soc/mediatek/mtk-scpsys.c 	struct scp_domain *scpd = container_of(genpd, struct scp_domain, genpd);
genpd             331 drivers/soc/mediatek/mtk-scpsys.c 	dev_err(scp->dev, "Failed to power off domain %s\n", genpd->name);
genpd             410 drivers/soc/mediatek/mtk-scpsys.c 		struct generic_pm_domain *genpd = &scpd->genpd;
genpd             413 drivers/soc/mediatek/mtk-scpsys.c 		pd_data->domains[i] = genpd;
genpd             430 drivers/soc/mediatek/mtk-scpsys.c 		genpd->name = data->name;
genpd             431 drivers/soc/mediatek/mtk-scpsys.c 		genpd->power_off = scpsys_power_off;
genpd             432 drivers/soc/mediatek/mtk-scpsys.c 		genpd->power_on = scpsys_power_on;
genpd             434 drivers/soc/mediatek/mtk-scpsys.c 			genpd->flags |= GENPD_FLAG_ACTIVE_WAKEUP;
genpd             448 drivers/soc/mediatek/mtk-scpsys.c 		struct generic_pm_domain *genpd = &scpd->genpd;
genpd             456 drivers/soc/mediatek/mtk-scpsys.c 		genpd->power_on(genpd);
genpd             458 drivers/soc/mediatek/mtk-scpsys.c 		pm_genpd_init(genpd, NULL, false);
genpd             284 drivers/soc/qcom/rpmhpd.c static unsigned int rpmhpd_get_performance_state(struct generic_pm_domain *genpd,
genpd             331 drivers/soc/qcom/rpmpd.c static unsigned int rpmpd_get_performance(struct generic_pm_domain *genpd,
genpd             170 drivers/soc/renesas/rcar-sysc.c 	struct generic_pm_domain genpd;
genpd             178 drivers/soc/renesas/rcar-sysc.c 	return container_of(d, struct rcar_sysc_pd, genpd);
genpd             181 drivers/soc/renesas/rcar-sysc.c static int rcar_sysc_pd_power_off(struct generic_pm_domain *genpd)
genpd             183 drivers/soc/renesas/rcar-sysc.c 	struct rcar_sysc_pd *pd = to_rcar_pd(genpd);
genpd             185 drivers/soc/renesas/rcar-sysc.c 	pr_debug("%s: %s\n", __func__, genpd->name);
genpd             189 drivers/soc/renesas/rcar-sysc.c static int rcar_sysc_pd_power_on(struct generic_pm_domain *genpd)
genpd             191 drivers/soc/renesas/rcar-sysc.c 	struct rcar_sysc_pd *pd = to_rcar_pd(genpd);
genpd             193 drivers/soc/renesas/rcar-sysc.c 	pr_debug("%s: %s\n", __func__, genpd->name);
genpd             201 drivers/soc/renesas/rcar-sysc.c 	struct generic_pm_domain *genpd = &pd->genpd;
genpd             202 drivers/soc/renesas/rcar-sysc.c 	const char *name = pd->genpd.name;
genpd             211 drivers/soc/renesas/rcar-sysc.c 		genpd->flags |= GENPD_FLAG_ALWAYS_ON;
genpd             219 drivers/soc/renesas/rcar-sysc.c 		genpd->flags |= GENPD_FLAG_ALWAYS_ON;
genpd             224 drivers/soc/renesas/rcar-sysc.c 		genpd->flags |= GENPD_FLAG_ALWAYS_ON;
genpd             229 drivers/soc/renesas/rcar-sysc.c 		genpd->flags |= GENPD_FLAG_PM_CLK | GENPD_FLAG_ACTIVE_WAKEUP;
genpd             231 drivers/soc/renesas/rcar-sysc.c 			genpd->attach_dev = cpg_mstp_attach_dev;
genpd             232 drivers/soc/renesas/rcar-sysc.c 			genpd->detach_dev = cpg_mstp_detach_dev;
genpd             234 drivers/soc/renesas/rcar-sysc.c 			genpd->attach_dev = cpg_mssr_attach_dev;
genpd             235 drivers/soc/renesas/rcar-sysc.c 			genpd->detach_dev = cpg_mssr_detach_dev;
genpd             239 drivers/soc/renesas/rcar-sysc.c 	genpd->power_off = rcar_sysc_pd_power_off;
genpd             240 drivers/soc/renesas/rcar-sysc.c 	genpd->power_on = rcar_sysc_pd_power_on;
genpd             244 drivers/soc/renesas/rcar-sysc.c 		pr_debug("%s: Not touching %s\n", __func__, genpd->name);
genpd             249 drivers/soc/renesas/rcar-sysc.c 		pr_debug("%s: %s is already powered\n", __func__, genpd->name);
genpd             256 drivers/soc/renesas/rcar-sysc.c 	error = pm_genpd_init(genpd, &simple_qos_governor, false);
genpd             389 drivers/soc/renesas/rcar-sysc.c 		pd->genpd.name = pd->name;
genpd             399 drivers/soc/renesas/rcar-sysc.c 		domains->domains[area->isr_bit] = &pd->genpd;
genpd             405 drivers/soc/renesas/rcar-sysc.c 					       &pd->genpd);
genpd             436 drivers/soc/renesas/rcar-sysc.c 	struct generic_pm_domain *genpd;
genpd             444 drivers/soc/renesas/rcar-sysc.c 		genpd = rcar_sysc_onecell_data->domains[i];
genpd             445 drivers/soc/renesas/rcar-sysc.c 		if (!genpd)
genpd             448 drivers/soc/renesas/rcar-sysc.c 		pd = to_rcar_pd(genpd);
genpd              35 drivers/soc/renesas/rmobile-sysc.c 	struct generic_pm_domain genpd;
genpd              45 drivers/soc/renesas/rmobile-sysc.c 	return container_of(d, struct rmobile_pm_domain, genpd);
genpd              48 drivers/soc/renesas/rmobile-sysc.c static int rmobile_pd_power_down(struct generic_pm_domain *genpd)
genpd              50 drivers/soc/renesas/rmobile-sysc.c 	struct rmobile_pm_domain *rmobile_pd = to_rmobile_pd(genpd);
genpd              71 drivers/soc/renesas/rmobile-sysc.c 	pr_debug("%s: Power off, 0x%08x -> PSTR = 0x%08x\n", genpd->name, mask,
genpd             100 drivers/soc/renesas/rmobile-sysc.c 		 rmobile_pd->genpd.name, mask,
genpd             106 drivers/soc/renesas/rmobile-sysc.c static int rmobile_pd_power_up(struct generic_pm_domain *genpd)
genpd             108 drivers/soc/renesas/rmobile-sysc.c 	return __rmobile_pd_power_up(to_rmobile_pd(genpd));
genpd             113 drivers/soc/renesas/rmobile-sysc.c 	struct generic_pm_domain *genpd = &rmobile_pd->genpd;
genpd             116 drivers/soc/renesas/rmobile-sysc.c 	genpd->flags |= GENPD_FLAG_PM_CLK | GENPD_FLAG_ACTIVE_WAKEUP;
genpd             117 drivers/soc/renesas/rmobile-sysc.c 	genpd->attach_dev = cpg_mstp_attach_dev;
genpd             118 drivers/soc/renesas/rmobile-sysc.c 	genpd->detach_dev = cpg_mstp_detach_dev;
genpd             120 drivers/soc/renesas/rmobile-sysc.c 	if (!(genpd->flags & GENPD_FLAG_ALWAYS_ON)) {
genpd             121 drivers/soc/renesas/rmobile-sysc.c 		genpd->power_off = rmobile_pd_power_down;
genpd             122 drivers/soc/renesas/rmobile-sysc.c 		genpd->power_on = rmobile_pd_power_up;
genpd             126 drivers/soc/renesas/rmobile-sysc.c 	pm_genpd_init(genpd, gov ? : &simple_qos_governor, false);
genpd             231 drivers/soc/renesas/rmobile-sysc.c 	const char *name = pd->genpd.name;
genpd             240 drivers/soc/renesas/rmobile-sysc.c 		pd->genpd.flags |= GENPD_FLAG_ALWAYS_ON;
genpd             256 drivers/soc/renesas/rmobile-sysc.c 		pd->genpd.flags |= GENPD_FLAG_ALWAYS_ON;
genpd             265 drivers/soc/renesas/rmobile-sysc.c 		pd->genpd.flags |= GENPD_FLAG_ALWAYS_ON;
genpd             272 drivers/soc/renesas/rmobile-sysc.c 			pd->genpd.flags |= GENPD_FLAG_ALWAYS_ON;
genpd             300 drivers/soc/renesas/rmobile-sysc.c 		pd->genpd.name = np->name;
genpd             306 drivers/soc/renesas/rmobile-sysc.c 			pm_genpd_add_subdomain(genpd_parent, &pd->genpd);
genpd             307 drivers/soc/renesas/rmobile-sysc.c 		of_genpd_add_provider_simple(np, &pd->genpd);
genpd             309 drivers/soc/renesas/rmobile-sysc.c 		rmobile_add_pm_domains(base, np, &pd->genpd);
genpd              67 drivers/soc/rockchip/pm_domains.c 	struct generic_pm_domain genpd;
genpd              86 drivers/soc/rockchip/pm_domains.c #define to_rockchip_pd(gpd) container_of(gpd, struct rockchip_pm_domain, genpd)
genpd             156 drivers/soc/rockchip/pm_domains.c 	struct generic_pm_domain *genpd = &pd->genpd;
genpd             183 drivers/soc/rockchip/pm_domains.c 			genpd->name, val);
genpd             192 drivers/soc/rockchip/pm_domains.c 			genpd->name, is_idle);
genpd             267 drivers/soc/rockchip/pm_domains.c 	struct generic_pm_domain *genpd = &pd->genpd;
genpd             286 drivers/soc/rockchip/pm_domains.c 			genpd->name, is_on);
genpd             343 drivers/soc/rockchip/pm_domains.c static int rockchip_pd_attach_dev(struct generic_pm_domain *genpd,
genpd             350 drivers/soc/rockchip/pm_domains.c 	dev_dbg(dev, "attaching to power domain '%s'\n", genpd->name);
genpd             373 drivers/soc/rockchip/pm_domains.c static void rockchip_pd_detach_dev(struct generic_pm_domain *genpd,
genpd             376 drivers/soc/rockchip/pm_domains.c 	dev_dbg(dev, "detaching from power domain '%s'\n", genpd->name);
genpd             493 drivers/soc/rockchip/pm_domains.c 	pd->genpd.name = node->name;
genpd             494 drivers/soc/rockchip/pm_domains.c 	pd->genpd.power_off = rockchip_pd_power_off;
genpd             495 drivers/soc/rockchip/pm_domains.c 	pd->genpd.power_on = rockchip_pd_power_on;
genpd             496 drivers/soc/rockchip/pm_domains.c 	pd->genpd.attach_dev = rockchip_pd_attach_dev;
genpd             497 drivers/soc/rockchip/pm_domains.c 	pd->genpd.detach_dev = rockchip_pd_detach_dev;
genpd             498 drivers/soc/rockchip/pm_domains.c 	pd->genpd.flags = GENPD_FLAG_PM_CLK;
genpd             500 drivers/soc/rockchip/pm_domains.c 		pd->genpd.flags |= GENPD_FLAG_ACTIVE_WAKEUP;
genpd             501 drivers/soc/rockchip/pm_domains.c 	pm_genpd_init(&pd->genpd, NULL, false);
genpd             503 drivers/soc/rockchip/pm_domains.c 	pmu->genpd_data.domains[id] = &pd->genpd;
genpd             521 drivers/soc/rockchip/pm_domains.c 	ret = pm_genpd_remove(&pd->genpd);
genpd             524 drivers/soc/rockchip/pm_domains.c 			pd->genpd.name, ret);
genpd             539 drivers/soc/rockchip/pm_domains.c 	struct generic_pm_domain *genpd;
genpd             544 drivers/soc/rockchip/pm_domains.c 		genpd = pmu->genpd_data.domains[i];
genpd             545 drivers/soc/rockchip/pm_domains.c 		if (genpd) {
genpd             546 drivers/soc/rockchip/pm_domains.c 			pd = to_rockchip_pd(genpd);
genpd             146 drivers/soc/tegra/pmc.c 	struct generic_pm_domain genpd;
genpd             357 drivers/soc/tegra/pmc.c 	return container_of(domain, struct tegra_powergate, genpd);
genpd             665 drivers/soc/tegra/pmc.c 			pg->genpd.name, err);
genpd             690 drivers/soc/tegra/pmc.c 			pg->genpd.name, err);
genpd            1015 drivers/soc/tegra/pmc.c 	pg->genpd.name = np->name;
genpd            1016 drivers/soc/tegra/pmc.c 	pg->genpd.power_off = tegra_genpd_power_off;
genpd            1017 drivers/soc/tegra/pmc.c 	pg->genpd.power_on = tegra_genpd_power_on;
genpd            1041 drivers/soc/tegra/pmc.c 	err = pm_genpd_init(&pg->genpd, NULL, off);
genpd            1048 drivers/soc/tegra/pmc.c 	err = of_genpd_add_provider_simple(np, &pg->genpd);
genpd            1055 drivers/soc/tegra/pmc.c 	dev_dbg(dev, "added PM domain %s\n", pg->genpd.name);
genpd            1060 drivers/soc/tegra/pmc.c 	pm_genpd_remove(&pg->genpd);
genpd            1103 drivers/soc/tegra/pmc.c static void tegra_powergate_remove(struct generic_pm_domain *genpd)
genpd            1105 drivers/soc/tegra/pmc.c 	struct tegra_powergate *pg = to_powergate(genpd);
genpd            1121 drivers/soc/tegra/pmc.c 	struct generic_pm_domain *genpd;
genpd            1131 drivers/soc/tegra/pmc.c 		genpd = of_genpd_remove_last(child);
genpd            1132 drivers/soc/tegra/pmc.c 		if (IS_ERR(genpd))
genpd            1135 drivers/soc/tegra/pmc.c 		tegra_powergate_remove(genpd);
genpd              21 drivers/soc/tegra/powergate-bpmp.c 	struct generic_pm_domain genpd;
genpd              27 drivers/soc/tegra/powergate-bpmp.c to_tegra_powergate(struct generic_pm_domain *genpd)
genpd              29 drivers/soc/tegra/powergate-bpmp.c 	return container_of(genpd, struct tegra_powergate, genpd);
genpd             185 drivers/soc/tegra/powergate-bpmp.c 	powergate->genpd.name = kstrdup(info->name, GFP_KERNEL);
genpd             186 drivers/soc/tegra/powergate-bpmp.c 	powergate->genpd.power_on = tegra_powergate_power_on;
genpd             187 drivers/soc/tegra/powergate-bpmp.c 	powergate->genpd.power_off = tegra_powergate_power_off;
genpd             189 drivers/soc/tegra/powergate-bpmp.c 	err = pm_genpd_init(&powergate->genpd, NULL, off);
genpd             191 drivers/soc/tegra/powergate-bpmp.c 		kfree(powergate->genpd.name);
genpd             200 drivers/soc/tegra/powergate-bpmp.c 	struct generic_pm_domain *genpd = &powergate->genpd;
genpd             204 drivers/soc/tegra/powergate-bpmp.c 	err = pm_genpd_remove(genpd);
genpd             207 drivers/soc/tegra/powergate-bpmp.c 			genpd->name, err);
genpd             209 drivers/soc/tegra/powergate-bpmp.c 	kfree(genpd->name);
genpd             257 drivers/soc/tegra/powergate-bpmp.c 	struct genpd_onecell_data *genpd = &bpmp->genpd;
genpd             275 drivers/soc/tegra/powergate-bpmp.c 			powergate->genpd.name);
genpd             276 drivers/soc/tegra/powergate-bpmp.c 		domains[i] = &powergate->genpd;
genpd             279 drivers/soc/tegra/powergate-bpmp.c 	genpd->num_domains = count;
genpd             280 drivers/soc/tegra/powergate-bpmp.c 	genpd->domains = domains;
genpd             290 drivers/soc/tegra/powergate-bpmp.c 	kfree(genpd->domains);
genpd             296 drivers/soc/tegra/powergate-bpmp.c 	struct genpd_onecell_data *genpd = &bpmp->genpd;
genpd             297 drivers/soc/tegra/powergate-bpmp.c 	unsigned int i = genpd->num_domains;
genpd             302 drivers/soc/tegra/powergate-bpmp.c 			genpd->domains[i]->name);
genpd             303 drivers/soc/tegra/powergate-bpmp.c 		powergate = to_tegra_powergate(genpd->domains[i]);
genpd             312 drivers/soc/tegra/powergate-bpmp.c 	struct genpd_onecell_data *genpd = data;
genpd             315 drivers/soc/tegra/powergate-bpmp.c 	for (i = 0; i < genpd->num_domains; i++) {
genpd             318 drivers/soc/tegra/powergate-bpmp.c 		powergate = to_tegra_powergate(genpd->domains[i]);
genpd             320 drivers/soc/tegra/powergate-bpmp.c 			domain = &powergate->genpd;
genpd             348 drivers/soc/tegra/powergate-bpmp.c 	bpmp->genpd.xlate = tegra_powergate_xlate;
genpd             350 drivers/soc/tegra/powergate-bpmp.c 	err = of_genpd_add_provider_onecell(np, &bpmp->genpd);
genpd             116 include/linux/pm_domain.h 	unsigned int (*opp_to_performance_state)(struct generic_pm_domain *genpd,
genpd             118 include/linux/pm_domain.h 	int (*set_performance_state)(struct generic_pm_domain *genpd,
genpd             197 include/linux/pm_domain.h int pm_genpd_add_device(struct generic_pm_domain *genpd, struct device *dev);
genpd             199 include/linux/pm_domain.h int pm_genpd_add_subdomain(struct generic_pm_domain *genpd,
genpd             201 include/linux/pm_domain.h int pm_genpd_remove_subdomain(struct generic_pm_domain *genpd,
genpd             203 include/linux/pm_domain.h int pm_genpd_init(struct generic_pm_domain *genpd,
genpd             205 include/linux/pm_domain.h int pm_genpd_remove(struct generic_pm_domain *genpd);
genpd             219 include/linux/pm_domain.h static inline int pm_genpd_add_device(struct generic_pm_domain *genpd,
genpd             228 include/linux/pm_domain.h static inline int pm_genpd_add_subdomain(struct generic_pm_domain *genpd,
genpd             233 include/linux/pm_domain.h static inline int pm_genpd_remove_subdomain(struct generic_pm_domain *genpd,
genpd             238 include/linux/pm_domain.h static inline int pm_genpd_init(struct generic_pm_domain *genpd,
genpd             243 include/linux/pm_domain.h static inline int pm_genpd_remove(struct generic_pm_domain *genpd)
genpd             280 include/linux/pm_domain.h 				 struct generic_pm_domain *genpd);
genpd             300 include/linux/pm_domain.h 					struct generic_pm_domain *genpd)
genpd              87 include/soc/tegra/bpmp.h 	struct genpd_onecell_data genpd;