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 <collinsd@xxxxxxxxxxxxxx> > Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> > --- > <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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html