Commit 5d4c779c authored by Sebastian Andrzej Siewior's avatar Sebastian Andrzej Siewior Committed by Rafael J. Wysocki
Browse files

powercap: intel_rapl: Replace deprecated CPU-hotplug functions



The functions get_online_cpus() and put_online_cpus() have been
deprecated during the CPU hotplug rework. They map directly to
cpus_read_lock() and cpus_read_unlock().

Replace deprecated CPU-hotplug functions with the official version.
The behavior remains unchanged.

Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent c500bee1
Loading
Loading
Loading
Loading
+25 −25
Original line number Diff line number Diff line
@@ -158,16 +158,16 @@ static int get_energy_counter(struct powercap_zone *power_zone,
	/* prevent CPU hotplug, make sure the RAPL domain does not go
	 * away while reading the counter.
	 */
	get_online_cpus();
	cpus_read_lock();
	rd = power_zone_to_rapl_domain(power_zone);

	if (!rapl_read_data_raw(rd, ENERGY_COUNTER, true, &energy_now)) {
		*energy_raw = energy_now;
		put_online_cpus();
		cpus_read_unlock();

		return 0;
	}
	put_online_cpus();
	cpus_read_unlock();

	return -EIO;
}
@@ -216,11 +216,11 @@ static int set_domain_enable(struct powercap_zone *power_zone, bool mode)
	if (rd->state & DOMAIN_STATE_BIOS_LOCKED)
		return -EACCES;

	get_online_cpus();
	cpus_read_lock();
	rapl_write_data_raw(rd, PL1_ENABLE, mode);
	if (rapl_defaults->set_floor_freq)
		rapl_defaults->set_floor_freq(rd, mode);
	put_online_cpus();
	cpus_read_unlock();

	return 0;
}
@@ -234,13 +234,13 @@ static int get_domain_enable(struct powercap_zone *power_zone, bool *mode)
		*mode = false;
		return 0;
	}
	get_online_cpus();
	cpus_read_lock();
	if (rapl_read_data_raw(rd, PL1_ENABLE, true, &val)) {
		put_online_cpus();
		cpus_read_unlock();
		return -EIO;
	}
	*mode = val;
	put_online_cpus();
	cpus_read_unlock();

	return 0;
}
@@ -317,7 +317,7 @@ static int set_power_limit(struct powercap_zone *power_zone, int cid,
	int ret = 0;
	int id;

	get_online_cpus();
	cpus_read_lock();
	rd = power_zone_to_rapl_domain(power_zone);
	id = contraint_to_pl(rd, cid);
	if (id < 0) {
@@ -350,7 +350,7 @@ static int set_power_limit(struct powercap_zone *power_zone, int cid,
	if (!ret)
		package_power_limit_irq_save(rp);
set_exit:
	put_online_cpus();
	cpus_read_unlock();
	return ret;
}

@@ -363,7 +363,7 @@ static int get_current_power_limit(struct powercap_zone *power_zone, int cid,
	int ret = 0;
	int id;

	get_online_cpus();
	cpus_read_lock();
	rd = power_zone_to_rapl_domain(power_zone);
	id = contraint_to_pl(rd, cid);
	if (id < 0) {
@@ -382,7 +382,7 @@ static int get_current_power_limit(struct powercap_zone *power_zone, int cid,
		prim = POWER_LIMIT4;
		break;
	default:
		put_online_cpus();
		cpus_read_unlock();
		return -EINVAL;
	}
	if (rapl_read_data_raw(rd, prim, true, &val))
@@ -391,7 +391,7 @@ static int get_current_power_limit(struct powercap_zone *power_zone, int cid,
		*data = val;

get_exit:
	put_online_cpus();
	cpus_read_unlock();

	return ret;
}
@@ -403,7 +403,7 @@ static int set_time_window(struct powercap_zone *power_zone, int cid,
	int ret = 0;
	int id;

	get_online_cpus();
	cpus_read_lock();
	rd = power_zone_to_rapl_domain(power_zone);
	id = contraint_to_pl(rd, cid);
	if (id < 0) {
@@ -423,7 +423,7 @@ static int set_time_window(struct powercap_zone *power_zone, int cid,
	}

set_time_exit:
	put_online_cpus();
	cpus_read_unlock();
	return ret;
}

@@ -435,7 +435,7 @@ static int get_time_window(struct powercap_zone *power_zone, int cid,
	int ret = 0;
	int id;

	get_online_cpus();
	cpus_read_lock();
	rd = power_zone_to_rapl_domain(power_zone);
	id = contraint_to_pl(rd, cid);
	if (id < 0) {
@@ -458,14 +458,14 @@ static int get_time_window(struct powercap_zone *power_zone, int cid,
		val = 0;
		break;
	default:
		put_online_cpus();
		cpus_read_unlock();
		return -EINVAL;
	}
	if (!ret)
		*data = val;

get_time_exit:
	put_online_cpus();
	cpus_read_unlock();

	return ret;
}
@@ -491,7 +491,7 @@ static int get_max_power(struct powercap_zone *power_zone, int id, u64 *data)
	int prim;
	int ret = 0;

	get_online_cpus();
	cpus_read_lock();
	rd = power_zone_to_rapl_domain(power_zone);
	switch (rd->rpl[id].prim_id) {
	case PL1_ENABLE:
@@ -504,7 +504,7 @@ static int get_max_power(struct powercap_zone *power_zone, int id, u64 *data)
		prim = MAX_POWER;
		break;
	default:
		put_online_cpus();
		cpus_read_unlock();
		return -EINVAL;
	}
	if (rapl_read_data_raw(rd, prim, true, &val))
@@ -516,7 +516,7 @@ static int get_max_power(struct powercap_zone *power_zone, int id, u64 *data)
	if (rd->rpl[id].prim_id == PL4_ENABLE)
		*data = *data * 2;

	put_online_cpus();
	cpus_read_unlock();

	return ret;
}
@@ -1358,7 +1358,7 @@ static void power_limit_state_save(void)
	struct rapl_domain *rd;
	int nr_pl, ret, i;

	get_online_cpus();
	cpus_read_lock();
	list_for_each_entry(rp, &rapl_packages, plist) {
		if (!rp->power_zone)
			continue;
@@ -1390,7 +1390,7 @@ static void power_limit_state_save(void)
			}
		}
	}
	put_online_cpus();
	cpus_read_unlock();
}

static void power_limit_state_restore(void)
@@ -1399,7 +1399,7 @@ static void power_limit_state_restore(void)
	struct rapl_domain *rd;
	int nr_pl, i;

	get_online_cpus();
	cpus_read_lock();
	list_for_each_entry(rp, &rapl_packages, plist) {
		if (!rp->power_zone)
			continue;
@@ -1425,7 +1425,7 @@ static void power_limit_state_restore(void)
			}
		}
	}
	put_online_cpus();
	cpus_read_unlock();
}

static int rapl_pm_callback(struct notifier_block *nb,