Skip to content

Commit a6991d6

Browse files
committed
Merge tag 'cpufreq-arm-fixes-6.1-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm
Pull cpufreq ARM fixes / cleanups for 6.1-rc from Viresh Kumar: "- Fix module loading in Tegra124 driver (Jon Hunter). - Fix memory leak and update to read-only region in qcom driver (Fabien Parent). - Miscellaneous minor cleanups to cpufreq drivers (Fabien Parent and Yang Yingliang)." * tag 'cpufreq-arm-fixes-6.1-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm: cpufreq: sun50i: Switch to use dev_err_probe() helper cpufreq: qcom-nvmem: Switch to use dev_err_probe() helper cpufreq: imx6q: Switch to use dev_err_probe() helper cpufreq: dt: Switch to use dev_err_probe() helper cpufreq: qcom: remove unused parameter in function definition cpufreq: qcom: fix writes in read-only memory region cpufreq: qcom: fix memory leak in error path cpufreq: tegra194: Fix module loading
2 parents 9abf231 + 889a50a commit a6991d6

File tree

5 files changed

+20
-25
lines changed

5 files changed

+20
-25
lines changed

drivers/cpufreq/cpufreq-dt.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -222,10 +222,8 @@ static int dt_cpufreq_early_init(struct device *dev, int cpu)
222222
if (reg_name[0]) {
223223
priv->opp_token = dev_pm_opp_set_regulators(cpu_dev, reg_name);
224224
if (priv->opp_token < 0) {
225-
ret = priv->opp_token;
226-
if (ret != -EPROBE_DEFER)
227-
dev_err(cpu_dev, "failed to set regulators: %d\n",
228-
ret);
225+
ret = dev_err_probe(cpu_dev, priv->opp_token,
226+
"failed to set regulators\n");
229227
goto free_cpumask;
230228
}
231229
}

drivers/cpufreq/imx6q-cpufreq.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -396,9 +396,7 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev)
396396
ret = imx6q_opp_check_speed_grading(cpu_dev);
397397
}
398398
if (ret) {
399-
if (ret != -EPROBE_DEFER)
400-
dev_err(cpu_dev, "failed to read ocotp: %d\n",
401-
ret);
399+
dev_err_probe(cpu_dev, ret, "failed to read ocotp\n");
402400
goto out_free_opp;
403401
}
404402

drivers/cpufreq/qcom-cpufreq-nvmem.c

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ static struct platform_device *cpufreq_dt_pdev, *cpufreq_pdev;
6464

6565
static void get_krait_bin_format_a(struct device *cpu_dev,
6666
int *speed, int *pvs, int *pvs_ver,
67-
struct nvmem_cell *pvs_nvmem, u8 *buf)
67+
u8 *buf)
6868
{
6969
u32 pte_efuse;
7070

@@ -95,7 +95,7 @@ static void get_krait_bin_format_a(struct device *cpu_dev,
9595

9696
static void get_krait_bin_format_b(struct device *cpu_dev,
9797
int *speed, int *pvs, int *pvs_ver,
98-
struct nvmem_cell *pvs_nvmem, u8 *buf)
98+
u8 *buf)
9999
{
100100
u32 pte_efuse, redundant_sel;
101101

@@ -213,6 +213,7 @@ static int qcom_cpufreq_krait_name_version(struct device *cpu_dev,
213213
int speed = 0, pvs = 0, pvs_ver = 0;
214214
u8 *speedbin;
215215
size_t len;
216+
int ret = 0;
216217

217218
speedbin = nvmem_cell_read(speedbin_nvmem, &len);
218219

@@ -222,24 +223,26 @@ static int qcom_cpufreq_krait_name_version(struct device *cpu_dev,
222223
switch (len) {
223224
case 4:
224225
get_krait_bin_format_a(cpu_dev, &speed, &pvs, &pvs_ver,
225-
speedbin_nvmem, speedbin);
226+
speedbin);
226227
break;
227228
case 8:
228229
get_krait_bin_format_b(cpu_dev, &speed, &pvs, &pvs_ver,
229-
speedbin_nvmem, speedbin);
230+
speedbin);
230231
break;
231232
default:
232233
dev_err(cpu_dev, "Unable to read nvmem data. Defaulting to 0!\n");
233-
return -ENODEV;
234+
ret = -ENODEV;
235+
goto len_error;
234236
}
235237

236238
snprintf(*pvs_name, sizeof("speedXX-pvsXX-vXX"), "speed%d-pvs%d-v%d",
237239
speed, pvs, pvs_ver);
238240

239241
drv->versions = (1 << speed);
240242

243+
len_error:
241244
kfree(speedbin);
242-
return 0;
245+
return ret;
243246
}
244247

245248
static const struct qcom_cpufreq_match_data match_data_kryo = {
@@ -262,7 +265,8 @@ static int qcom_cpufreq_probe(struct platform_device *pdev)
262265
struct nvmem_cell *speedbin_nvmem;
263266
struct device_node *np;
264267
struct device *cpu_dev;
265-
char *pvs_name = "speedXX-pvsXX-vXX";
268+
char pvs_name_buffer[] = "speedXX-pvsXX-vXX";
269+
char *pvs_name = pvs_name_buffer;
266270
unsigned cpu;
267271
const struct of_device_id *match;
268272
int ret;
@@ -295,11 +299,8 @@ static int qcom_cpufreq_probe(struct platform_device *pdev)
295299
if (drv->data->get_version) {
296300
speedbin_nvmem = of_nvmem_cell_get(np, NULL);
297301
if (IS_ERR(speedbin_nvmem)) {
298-
if (PTR_ERR(speedbin_nvmem) != -EPROBE_DEFER)
299-
dev_err(cpu_dev,
300-
"Could not get nvmem cell: %ld\n",
301-
PTR_ERR(speedbin_nvmem));
302-
ret = PTR_ERR(speedbin_nvmem);
302+
ret = dev_err_probe(cpu_dev, PTR_ERR(speedbin_nvmem),
303+
"Could not get nvmem cell\n");
303304
goto free_drv;
304305
}
305306

drivers/cpufreq/sun50i-cpufreq-nvmem.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,9 @@ static int sun50i_cpufreq_get_efuse(u32 *versions)
5656

5757
speedbin_nvmem = of_nvmem_cell_get(np, NULL);
5858
of_node_put(np);
59-
if (IS_ERR(speedbin_nvmem)) {
60-
if (PTR_ERR(speedbin_nvmem) != -EPROBE_DEFER)
61-
pr_err("Could not get nvmem cell: %ld\n",
62-
PTR_ERR(speedbin_nvmem));
63-
return PTR_ERR(speedbin_nvmem);
64-
}
59+
if (IS_ERR(speedbin_nvmem))
60+
return dev_err_probe(cpu_dev, PTR_ERR(speedbin_nvmem),
61+
"Could not get nvmem cell\n");
6562

6663
speedbin = nvmem_cell_read(speedbin_nvmem, &len);
6764
nvmem_cell_put(speedbin_nvmem);

drivers/cpufreq/tegra194-cpufreq.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,7 @@ static const struct of_device_id tegra194_cpufreq_of_match[] = {
589589
{ .compatible = "nvidia,tegra239-ccplex-cluster", .data = &tegra239_cpufreq_soc },
590590
{ /* sentinel */ }
591591
};
592+
MODULE_DEVICE_TABLE(of, tegra194_cpufreq_of_match);
592593

593594
static struct platform_driver tegra194_ccplex_driver = {
594595
.driver = {

0 commit comments

Comments
 (0)