On 02/02/2015 05:19 PM, Ivan T. Ivanov wrote:
> Add support for the temperature alarm peripheral found inside
> Qualcomm plug-and-play (QPNP) PMIC chips. The temperature alarm
> peripheral outputs a pulse on an interrupt line whenever the
> thermal over temperature stage value changes.
> 
> Register a thermal sensor. The temperature reported by this thermal
> sensor device should reflect the actual PMIC die temperature if an
> ADC is present on the given PMIC. If no ADC is present, then the
> reported temperature should be estimated from the over temperature
> stage value.
> 
> Cc: David Collins <[email protected]>
> Signed-off-by: Ivan T. Ivanov <[email protected]>
> ---
> 

<snip>

> +
> +     ret = qpnp_tm_init(chip);
> +     if (ret < 0) {
> +             dev_err(&pdev->dev, "init failed\n");
> +             goto fail;
> +     }
> +
> +     chip->tz_dev = thermal_zone_of_sensor_register(&pdev->dev, 0, chip,
> +                                                     &qpnp_tm_sensor_ops);
> +     if (IS_ERR(chip->tz_dev)) {
> +             dev_err(&pdev->dev, "failed to register sensor\n");
> +             ret = PTR_ERR(chip->tz_dev);
> +             goto fail;
> +     }
> +
> +     ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, qpnp_tm_isr,
> +                                     IRQF_ONESHOT, node->name, chip);
> +     if (ret < 0)
> +             goto unreg;
> +
> +     return 0;
> +
> +unreg:
> +     thermal_zone_of_sensor_unregister(&pdev->dev, chip->tz_dev);

Any problem to request_irq before thermal_zone_of_sensor_register? It
will avoid having thermal sensor unregister call.

> +fail:
> +     if (!IS_ERR(chip->adc))
> +             iio_channel_release(chip->adc);
> +
> +     return ret;
> +}

<snip>

-- 
regards,
Stan
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to