On 11/18/2014 04:39 PM, Eduardo Valentin wrote:
Different drivers request API extensions in of-thermal. For this reason, additional callbacks are required to fit the new drivers needs. The current API implementation expects the registering sensor driver to provide a get_temp and get_trend callbacks as function parameters. As the amount of callbacks is growing, this patch changes the existing implementation to use a .ops field to hold all the of thermal callbacks to sensor drivers. This patch also changes the existing of-thermal users to fit the new API design. No functional change is introduced in this patch. Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Jean Delvare <jdelvare@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-tegra@xxxxxxxxxxxxxxx Cc: lm-sensors@xxxxxxxxxxxxxx Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Reviewed-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> --- drivers/hwmon/lm75.c | 9 +++-- drivers/hwmon/ntc_thermistor.c | 6 +++- drivers/hwmon/tmp102.c | 6 +++- drivers/thermal/of-thermal.c | 40 ++++++++++------------ drivers/thermal/tegra_soctherm.c | 7 ++-- drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 8 +++-- include/linux/thermal.h | 24 +++++++++---- 7 files changed, 63 insertions(+), 37 deletions(-) --- Difference from V3: - Keep the same behavior regarding callback checks. Change in behavior may be sent in a separate patch. Difference from V2: - Fix wrong assignment in tegra driver. Difference from V1: - Fix error handling when .get_trend is not provided. @@ -356,8 +356,8 @@ thermal_zone_of_add_sensor(struct device_node *zone, * than one sensors * @data: a private pointer (owned by the caller) that will be passed * back, when a temperature reading is needed. - * @get_temp: a pointer to a function that reads the sensor temperature. - * @get_trend: a pointer to a function that reads the sensor temperature trend. + * @ops: struct thermal_zone_of_device *. Must contain at least .get_trend and + * .get_temp.
This comment seems to be incorrect, as .get_trend is optional.
* * This function will search the list of thermal zones described in device * tree and look for the zone that refer to the sensor device pointed by
With that minor one fixed, Tested-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Reviewed-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Cheers, Mikko -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html