Re: [PATCH 6/8] thermal:cpu cooling:ti: Provide deferred probing for ti drivers

Eduardo Valentin
2014-11-20T19:00:32Z

[-- Attachment #1: Type: text/plain, Size: 1442 bytes --]

Lukaz,

On Thu, Nov 13, 2014 at 06:02:43PM +0100, Lukasz Majewski wrote:
> When CPU freq is used as a thermal zone cooling device, one needs to wait
> until cpufreq subsystem is properly initialized.
>
> This code is similar to the one already available in imx_thermal.c file.
>
> Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
> ---
> drivers/thermal/ti-soc-thermal/ti-bandgap.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/thermal/ti-soc-thermal/ti-bandgap.c b/drivers/thermal/ti-soc-thermal/ti-bandgap.c
> index 634b6ce..0ac5ead 100644
> --- a/drivers/thermal/ti-soc-thermal/ti-bandgap.c
> +++ b/drivers/thermal/ti-soc-thermal/ti-bandgap.c
> @@ -40,6 +40,7 @@
> #include <linux/of_irq.h>
> #include <linux/of_gpio.h>
> #include <linux/io.h>
> +#include <linux/cpufreq.h>
>
> #include "ti-bandgap.h"
>
> @@ -1196,6 +1197,12 @@ int ti_bandgap_probe(struct platform_device *pdev)
> struct ti_bandgap *bgp;
> int clk_rate, ret = 0, i;
>
> +#ifdef CONFIG_CPU_THERMAL
> + if (!cpufreq_get_current_driver()) {
> + dev_dbg(&pdev->dev, "no cpufreq driver!");
> + return -EPROBE_DEFER;
> + }
> +#endif

This is part of drivers/thermal/ti-soc-thermal/ti-thermal-common.c. So,
no need to duplicate it in here.

> bgp = ti_bandgap_build(pdev);
> if (IS_ERR(bgp)) {
> dev_err(&pdev->dev, "failed to fetch platform data\n");
> --
> 2.0.0.rc2
>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]