This patch support DT(DeviceTree) method to probe exynos4_bus and get device id of each Exynos4 SoC by using dt helper function. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> --- drivers/devfreq/exynos/exynos4_bus.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/drivers/devfreq/exynos/exynos4_bus.c b/drivers/devfreq/exynos/exynos4_bus.c index e07b0c6..168a7c6 100644 --- a/drivers/devfreq/exynos/exynos4_bus.c +++ b/drivers/devfreq/exynos/exynos4_bus.c @@ -23,6 +23,7 @@ #include <linux/devfreq.h> #include <linux/platform_device.h> #include <linux/regulator/consumer.h> +#include <linux/of.h> #include <linux/module.h> /* Exynos4 ASV has been in the mailing list, but not upstreamed, yet. */ @@ -1017,6 +1018,28 @@ unlock: return NOTIFY_DONE; } +static struct of_device_id exynos4_busfreq_id_match[] = { + { + .compatible = "samsung,exynos4210-busfreq", + .data = (void *)TYPE_BUSF_EXYNOS4210, + }, { + .compatible = "samsung,exynos4x12-busfreq", + .data = (void *)TYPE_BUSF_EXYNOS4x12, + }, +}; + +static int exynos4_busfreq_get_driver_data(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + const struct of_device_id *match; + + match = of_match_node(exynos4_busfreq_id_match, dev->of_node); + if (!match) + return -ENODEV; + + return (int) match->data; +} + static int exynos4_busfreq_probe(struct platform_device *pdev) { struct busfreq_data *data; @@ -1030,7 +1053,7 @@ static int exynos4_busfreq_probe(struct platform_device *pdev) return -ENOMEM; } - data->type = pdev->id_entry->driver_data; + data->type = exynos4_busfreq_get_driver_data(pdev); data->dmc[0].hw_base = S5P_VA_DMC0; data->dmc[1].hw_base = S5P_VA_DMC1; data->pm_notifier.notifier_call = exynos4_busfreq_pm_notifier_event; @@ -1135,6 +1158,7 @@ static struct platform_driver exynos4_busfreq_driver = { .name = "exynos4-busfreq", .owner = THIS_MODULE, .pm = &exynos4_busfreq_pm, + .of_match_table = exynos4_busfreq_id_match, }, }; -- 1.8.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html