diff options
author | David S. Miller <davem@davemloft.net> | 2018-11-24 17:01:43 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-11-24 17:01:43 -0800 |
commit | b1bf78bfb2e4c9ffa03ccdbc60d89a2f7c5fd82c (patch) | |
tree | fcd93c3f54a72ca6a6ee97f015efebe6d80a3271 /drivers/cpufreq/ti-cpufreq.c | |
parent | aea0a897af9e44c258e8ab9296fad417f1bc063a (diff) | |
parent | d146194f31c96f9b260c5a1cf1592d2e7f82a2e2 (diff) | |
download | linux-b1bf78bfb2e4c9ffa03ccdbc60d89a2f7c5fd82c.tar.gz linux-b1bf78bfb2e4c9ffa03ccdbc60d89a2f7c5fd82c.tar.bz2 linux-b1bf78bfb2e4c9ffa03ccdbc60d89a2f7c5fd82c.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'drivers/cpufreq/ti-cpufreq.c')
-rw-r--r-- | drivers/cpufreq/ti-cpufreq.c | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/drivers/cpufreq/ti-cpufreq.c b/drivers/cpufreq/ti-cpufreq.c index 3f0e2a14895a..22b53bf26817 100644 --- a/drivers/cpufreq/ti-cpufreq.c +++ b/drivers/cpufreq/ti-cpufreq.c @@ -201,19 +201,28 @@ static const struct of_device_id ti_cpufreq_of_match[] = { {}, }; +static const struct of_device_id *ti_cpufreq_match_node(void) +{ + struct device_node *np; + const struct of_device_id *match; + + np = of_find_node_by_path("/"); + match = of_match_node(ti_cpufreq_of_match, np); + of_node_put(np); + + return match; +} + static int ti_cpufreq_probe(struct platform_device *pdev) { u32 version[VERSION_COUNT]; - struct device_node *np; const struct of_device_id *match; struct opp_table *ti_opp_table; struct ti_cpufreq_data *opp_data; const char * const reg_names[] = {"vdd", "vbb"}; int ret; - np = of_find_node_by_path("/"); - match = of_match_node(ti_cpufreq_of_match, np); - of_node_put(np); + match = dev_get_platdata(&pdev->dev); if (!match) return -ENODEV; @@ -290,7 +299,14 @@ fail_put_node: static int ti_cpufreq_init(void) { - platform_device_register_simple("ti-cpufreq", -1, NULL, 0); + const struct of_device_id *match; + + /* Check to ensure we are on a compatible platform */ + match = ti_cpufreq_match_node(); + if (match) + platform_device_register_data(NULL, "ti-cpufreq", -1, match, + sizeof(*match)); + return 0; } module_init(ti_cpufreq_init); |