19c3d096c416f9362ee41a1cabb81a895a65d54d
[openwrt/staging/wigyori.git] / target / linux / ipq806x / patches-5.4 / 093-drivers-cpufreq-qcom-cpufreq-nvmem-support-specific-.patch
1 From a206d4061f1cc2c5cd17ee45c53a0ba711e48e6d Mon Sep 17 00:00:00 2001
2 From: Ansuel Smith <ansuelsmth@gmail.com>
3 Date: Sun, 7 Feb 2021 16:42:52 +0100
4 Subject: [PATCH 3/3] drivers: cpufreq: qcom-cpufreq-nvmem: support specific
5 cpufreq driver
6
7 Add support for specific cpufreq driver for qcom-cpufreq-nvmem driver.
8
9 Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
10 ---
11 drivers/cpufreq/qcom-cpufreq-nvmem.c | 15 +++++++++++++++
12 1 file changed, 15 insertions(+)
13
14 --- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
15 +++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
16 @@ -52,6 +52,7 @@ struct qcom_cpufreq_match_data {
17 char **pvs_name,
18 struct qcom_cpufreq_drv *drv);
19 const char **genpd_names;
20 + const char *cpufreq_driver;
21 };
22
23 struct qcom_cpufreq_drv {
24 @@ -250,6 +251,7 @@ static const struct qcom_cpufreq_match_d
25
26 static const struct qcom_cpufreq_match_data match_data_krait = {
27 .get_version = qcom_cpufreq_krait_name_version,
28 + .cpufreq_driver = "krait-cpufreq",
29 };
30
31 static const char *qcs404_genpd_names[] = { "cpr", NULL };
32 @@ -385,6 +387,19 @@ static int qcom_cpufreq_probe(struct pla
33 }
34 }
35
36 + if (drv->data->cpufreq_driver) {
37 + cpufreq_dt_pdev = platform_device_register_simple(
38 + drv->data->cpufreq_driver, -1, NULL, 0);
39 + if (!IS_ERR(cpufreq_dt_pdev)) {
40 + platform_set_drvdata(pdev, drv);
41 + return 0;
42 + } else {
43 + dev_err(cpu_dev,
44 + "Failed to register dedicated %s cpufreq\n",
45 + drv->data->cpufreq_driver);
46 + }
47 + }
48 +
49 cpufreq_dt_pdev = platform_device_register_simple("cpufreq-dt", -1,
50 NULL, 0);
51 if (!IS_ERR(cpufreq_dt_pdev)) {