Message ID | 1376893723-22138-3-git-send-email-sachin.kamat@linaro.org |
---|---|
State | Accepted |
Commit | 73b5b1d7c5f9348c0fe3a3e4ac5586207d830d54 |
Headers | show |
On 19-08-2013 02:28, Sachin Kamat wrote: > Commit 1cd1ecb6 ("thermal: exynos: Remove non DT based support") > cleaned up some non-DT code. However, there were few more things > needed for complete cleanup to make this driver DT only. > > Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Eduardo Valentin <eduardo.valentin@ti.com> > --- > drivers/thermal/samsung/Kconfig | 2 +- > drivers/thermal/samsung/exynos_tmu.c | 30 ++++++++++++------------------ > 2 files changed, 13 insertions(+), 19 deletions(-) > > diff --git a/drivers/thermal/samsung/Kconfig b/drivers/thermal/samsung/Kconfig > index 92492e4..f760389 100644 > --- a/drivers/thermal/samsung/Kconfig > +++ b/drivers/thermal/samsung/Kconfig > @@ -1,6 +1,6 @@ > config EXYNOS_THERMAL > tristate "Exynos thermal management unit driver" > - depends on ARCH_HAS_BANDGAP > + depends on ARCH_HAS_BANDGAP && OF > help > If you say yes here you get support for the TMU (Thermal Management > Unit) driver for SAMSUNG EXYNOS series of SoCs. This driver initialises > diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c > index a033dbb..b43afda 100644 > --- a/drivers/thermal/samsung/exynos_tmu.c > +++ b/drivers/thermal/samsung/exynos_tmu.c > @@ -481,7 +481,6 @@ static irqreturn_t exynos_tmu_irq(int irq, void *id) > return IRQ_HANDLED; > } > > -#ifdef CONFIG_OF > static const struct of_device_id exynos_tmu_match[] = { > { > .compatible = "samsung,exynos4210-tmu", > @@ -502,27 +501,22 @@ static const struct of_device_id exynos_tmu_match[] = { > {}, > }; > MODULE_DEVICE_TABLE(of, exynos_tmu_match); > -#endif > > static inline struct exynos_tmu_platform_data *exynos_get_driver_data( > struct platform_device *pdev, int id) > { > -#ifdef CONFIG_OF > struct exynos_tmu_init_data *data_table; > struct exynos_tmu_platform_data *tmu_data; > - if (pdev->dev.of_node) { > - const struct of_device_id *match; > - match = of_match_node(exynos_tmu_match, pdev->dev.of_node); > - if (!match) > - return NULL; > - data_table = (struct exynos_tmu_init_data *) match->data; > - if (!data_table || id >= data_table->tmu_count) > - return NULL; > - tmu_data = data_table->tmu_data; > - return (struct exynos_tmu_platform_data *) (tmu_data + id); > - } > -#endif > - return NULL; > + const struct of_device_id *match; > + > + match = of_match_node(exynos_tmu_match, pdev->dev.of_node); > + if (!match) > + return NULL; > + data_table = (struct exynos_tmu_init_data *) match->data; > + if (!data_table || id >= data_table->tmu_count) > + return NULL; > + tmu_data = data_table->tmu_data; > + return (struct exynos_tmu_platform_data *) (tmu_data + id); > } > > static int exynos_map_dt_data(struct platform_device *pdev) > @@ -532,7 +526,7 @@ static int exynos_map_dt_data(struct platform_device *pdev) > struct resource res; > int ret; > > - if (!data) > + if (!data || !pdev->dev.of_node) > return -ENODEV; > > /* > @@ -754,7 +748,7 @@ static struct platform_driver exynos_tmu_driver = { > .name = "exynos-tmu", > .owner = THIS_MODULE, > .pm = EXYNOS_TMU_PM, > - .of_match_table = of_match_ptr(exynos_tmu_match), > + .of_match_table = exynos_tmu_match, > }, > .probe = exynos_tmu_probe, > .remove = exynos_tmu_remove, >
diff --git a/drivers/thermal/samsung/Kconfig b/drivers/thermal/samsung/Kconfig index 92492e4..f760389 100644 --- a/drivers/thermal/samsung/Kconfig +++ b/drivers/thermal/samsung/Kconfig @@ -1,6 +1,6 @@ config EXYNOS_THERMAL tristate "Exynos thermal management unit driver" - depends on ARCH_HAS_BANDGAP + depends on ARCH_HAS_BANDGAP && OF help If you say yes here you get support for the TMU (Thermal Management Unit) driver for SAMSUNG EXYNOS series of SoCs. This driver initialises diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c index a033dbb..b43afda 100644 --- a/drivers/thermal/samsung/exynos_tmu.c +++ b/drivers/thermal/samsung/exynos_tmu.c @@ -481,7 +481,6 @@ static irqreturn_t exynos_tmu_irq(int irq, void *id) return IRQ_HANDLED; } -#ifdef CONFIG_OF static const struct of_device_id exynos_tmu_match[] = { { .compatible = "samsung,exynos4210-tmu", @@ -502,27 +501,22 @@ static const struct of_device_id exynos_tmu_match[] = { {}, }; MODULE_DEVICE_TABLE(of, exynos_tmu_match); -#endif static inline struct exynos_tmu_platform_data *exynos_get_driver_data( struct platform_device *pdev, int id) { -#ifdef CONFIG_OF struct exynos_tmu_init_data *data_table; struct exynos_tmu_platform_data *tmu_data; - if (pdev->dev.of_node) { - const struct of_device_id *match; - match = of_match_node(exynos_tmu_match, pdev->dev.of_node); - if (!match) - return NULL; - data_table = (struct exynos_tmu_init_data *) match->data; - if (!data_table || id >= data_table->tmu_count) - return NULL; - tmu_data = data_table->tmu_data; - return (struct exynos_tmu_platform_data *) (tmu_data + id); - } -#endif - return NULL; + const struct of_device_id *match; + + match = of_match_node(exynos_tmu_match, pdev->dev.of_node); + if (!match) + return NULL; + data_table = (struct exynos_tmu_init_data *) match->data; + if (!data_table || id >= data_table->tmu_count) + return NULL; + tmu_data = data_table->tmu_data; + return (struct exynos_tmu_platform_data *) (tmu_data + id); } static int exynos_map_dt_data(struct platform_device *pdev) @@ -532,7 +526,7 @@ static int exynos_map_dt_data(struct platform_device *pdev) struct resource res; int ret; - if (!data) + if (!data || !pdev->dev.of_node) return -ENODEV; /* @@ -754,7 +748,7 @@ static struct platform_driver exynos_tmu_driver = { .name = "exynos-tmu", .owner = THIS_MODULE, .pm = EXYNOS_TMU_PM, - .of_match_table = of_match_ptr(exynos_tmu_match), + .of_match_table = exynos_tmu_match, }, .probe = exynos_tmu_probe, .remove = exynos_tmu_remove,
Commit 1cd1ecb6 ("thermal: exynos: Remove non DT based support") cleaned up some non-DT code. However, there were few more things needed for complete cleanup to make this driver DT only. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> --- drivers/thermal/samsung/Kconfig | 2 +- drivers/thermal/samsung/exynos_tmu.c | 30 ++++++++++++------------------ 2 files changed, 13 insertions(+), 19 deletions(-)