Commit fee88e2b authored by Maciej Purski's avatar Maciej Purski Committed by Eduardo Valentin

thermal: exynos: Read soc_type from match data

Device context's field data->soc is currently obtained by comparing
of_compatible's. Provide soc_type as .data field in device's match
table, as it is done in most drivers.
Signed-off-by: default avatarMaciej Purski <m.purski@samsung.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Acked-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parent 08d725cd
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
#include <linux/io.h> #include <linux/io.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/of.h> #include <linux/of_device.h>
#include <linux/of_address.h> #include <linux/of_address.h>
#include <linux/of_irq.h> #include <linux/of_irq.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
...@@ -1105,47 +1105,41 @@ static irqreturn_t exynos_tmu_irq(int irq, void *id) ...@@ -1105,47 +1105,41 @@ static irqreturn_t exynos_tmu_irq(int irq, void *id)
} }
static const struct of_device_id exynos_tmu_match[] = { static const struct of_device_id exynos_tmu_match[] = {
{ .compatible = "samsung,exynos3250-tmu", }, {
{ .compatible = "samsung,exynos4210-tmu", }, .compatible = "samsung,exynos3250-tmu",
{ .compatible = "samsung,exynos4412-tmu", }, .data = (const void *)SOC_ARCH_EXYNOS3250,
{ .compatible = "samsung,exynos5250-tmu", }, }, {
{ .compatible = "samsung,exynos5260-tmu", }, .compatible = "samsung,exynos4210-tmu",
{ .compatible = "samsung,exynos5420-tmu", }, .data = (const void *)SOC_ARCH_EXYNOS4210,
{ .compatible = "samsung,exynos5420-tmu-ext-triminfo", }, }, {
{ .compatible = "samsung,exynos5433-tmu", }, .compatible = "samsung,exynos4412-tmu",
{ .compatible = "samsung,exynos5440-tmu", }, .data = (const void *)SOC_ARCH_EXYNOS4412,
{ .compatible = "samsung,exynos7-tmu", }, }, {
{ /* sentinel */ }, .compatible = "samsung,exynos5250-tmu",
.data = (const void *)SOC_ARCH_EXYNOS5250,
}, {
.compatible = "samsung,exynos5260-tmu",
.data = (const void *)SOC_ARCH_EXYNOS5260,
}, {
.compatible = "samsung,exynos5420-tmu",
.data = (const void *)SOC_ARCH_EXYNOS5420,
}, {
.compatible = "samsung,exynos5420-tmu-ext-triminfo",
.data = (const void *)SOC_ARCH_EXYNOS5420_TRIMINFO,
}, {
.compatible = "samsung,exynos5433-tmu",
.data = (const void *)SOC_ARCH_EXYNOS5433,
}, {
.compatible = "samsung,exynos5440-tmu",
.data = (const void *)SOC_ARCH_EXYNOS5440,
}, {
.compatible = "samsung,exynos7-tmu",
.data = (const void *)SOC_ARCH_EXYNOS7,
},
{ },
}; };
MODULE_DEVICE_TABLE(of, exynos_tmu_match); MODULE_DEVICE_TABLE(of, exynos_tmu_match);
static int exynos_of_get_soc_type(struct device_node *np)
{
if (of_device_is_compatible(np, "samsung,exynos3250-tmu"))
return SOC_ARCH_EXYNOS3250;
else if (of_device_is_compatible(np, "samsung,exynos4210-tmu"))
return SOC_ARCH_EXYNOS4210;
else if (of_device_is_compatible(np, "samsung,exynos4412-tmu"))
return SOC_ARCH_EXYNOS4412;
else if (of_device_is_compatible(np, "samsung,exynos5250-tmu"))
return SOC_ARCH_EXYNOS5250;
else if (of_device_is_compatible(np, "samsung,exynos5260-tmu"))
return SOC_ARCH_EXYNOS5260;
else if (of_device_is_compatible(np, "samsung,exynos5420-tmu"))
return SOC_ARCH_EXYNOS5420;
else if (of_device_is_compatible(np,
"samsung,exynos5420-tmu-ext-triminfo"))
return SOC_ARCH_EXYNOS5420_TRIMINFO;
else if (of_device_is_compatible(np, "samsung,exynos5433-tmu"))
return SOC_ARCH_EXYNOS5433;
else if (of_device_is_compatible(np, "samsung,exynos5440-tmu"))
return SOC_ARCH_EXYNOS5440;
else if (of_device_is_compatible(np, "samsung,exynos7-tmu"))
return SOC_ARCH_EXYNOS7;
return -EINVAL;
}
static int exynos_of_sensor_conf(struct device_node *np, static int exynos_of_sensor_conf(struct device_node *np,
struct exynos_tmu_platform_data *pdata) struct exynos_tmu_platform_data *pdata)
{ {
...@@ -1219,7 +1213,7 @@ static int exynos_map_dt_data(struct platform_device *pdev) ...@@ -1219,7 +1213,7 @@ static int exynos_map_dt_data(struct platform_device *pdev)
exynos_of_sensor_conf(pdev->dev.of_node, pdata); exynos_of_sensor_conf(pdev->dev.of_node, pdata);
data->pdata = pdata; data->pdata = pdata;
data->soc = exynos_of_get_soc_type(pdev->dev.of_node); data->soc = (enum soc_type)of_device_get_match_data(&pdev->dev);
switch (data->soc) { switch (data->soc) {
case SOC_ARCH_EXYNOS4210: case SOC_ARCH_EXYNOS4210:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment