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 <gnu...@gmail.com>
Cc: devicet...@vger.kernel.org
Cc: Grant Likely <grant.lik...@linaro.org>
Cc: Guenter Roeck <li...@roeck-us.net>
Cc: Jean Delvare <jdelv...@suse.de>
Cc: linux-kernel@vger.kernel.org
Cc: linux...@vger.kernel.org
Cc: linux-te...@vger.kernel.org
Cc: lm-sens...@lm-sensors.org
Cc: Rob Herring <robh...@kernel.org>
Cc: Stephen Warren <swar...@wwwdotorg.org>
Cc: Thierry Reding <thierry.red...@gmail.com>
Cc: Zhang Rui <rui.zh...@intel.com>
Reviewed-by: Lukasz Majewski <l.majew...@samsung.com>
Signed-off-by: Eduardo Valentin <edubez...@gmail.com>
---
  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.perttu...@kapsi.fi>
Reviewed-by: Mikko Perttunen <mikko.perttu...@kapsi.fi>

Cheers,
Mikko
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to