On 11/19/2014 05:41 PM, Mikko Perttunen wrote:
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.
Also, the parameter is of type struct thermal_zone_of_device_ops *, not
just thermal_zone_of_device.
*
* 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
--
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