Lukasz, On Thu, Nov 20, 2014 at 05:21:25PM +0100, Lukasz Majewski wrote: > This patch extends the of-thermal.c to provide information about number of > available trip points. > > Signed-off-by: Lukasz Majewski > --- > Changes for v2: > - Provide detailed (doxygen like) description of the of_thermal_get_ntrips() > method > - Check for data pointer not being NULL > --- > drivers/thermal/of-thermal.c | 20 ++++++++++++++++++++ > drivers/thermal/thermal_core.h | 5 +++++ > 2 files changed, 25 insertions(+) > > diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c > index b7982f0..7170822 100644 > --- a/drivers/thermal/of-thermal.c > +++ b/drivers/thermal/of-thermal.c > @@ -112,6 +112,26 @@ static int of_thermal_get_temp(struct thermal_zone_device *tz, > return data->ops->get_temp(data->sensor_data, temp); > } > > +/** > + * of_thermal_get_ntrips - function to export number of available trip > + * points. > + * @tz: pointer to a thermal zone > + * > + * This function is a globally visible wrapper to get number of trip points > + * stored in the local struct __thermal_zone > + * > + * Return: number of available trip points, -ENODEV when data not available > + */ > +int of_thermal_get_ntrips(struct thermal_zone_device *tz) > +{ > + struct __thermal_zone *data = tz->devdata; > + > + if (!data || IS_ERR(data)) > + return -ENODEV; > + > + return data->ntrips; > +} > + Missing EXPORT_SYMBOL_GPL(of_thermal_get_ntrips); > static int of_thermal_get_trend(struct thermal_zone_device *tz, int trip, > enum thermal_trend *trend) > { > diff --git a/drivers/thermal/thermal_core.h b/drivers/thermal/thermal_core.h > index d15d243..c3c7b82 100644 > --- a/drivers/thermal/thermal_core.h > +++ b/drivers/thermal/thermal_core.h > @@ -89,9 +89,14 @@ static inline void thermal_gov_user_space_unregister(void) {} > #ifdef CONFIG_THERMAL_OF > int of_parse_thermal_zones(void); > void of_thermal_destroy_zones(void); > +int of_thermal_get_ntrips(struct thermal_zone_device *); > #else > static inline int of_parse_thermal_zones(void) { return 0; } > static inline void of_thermal_destroy_zones(void) { } > +static inline int of_thermal_get_ntrips(struct thermal_zone_device *) You need to declare the parameter name with a name ---------------^ . > +{ This produces a compilation error if CONFIG_THERMAL_OF is not set: In file included from drivers/thermal/step_wise.c:28:0: drivers/thermal/thermal_core.h: In function ‘of_thermal_get_ntrips’: drivers/thermal/thermal_core.h:96:48: error: parameter name omitted static inline int of_thermal_get_ntrips(struct thermal_zone_device *) > + return 0; > +} > #endif > > #endif /* __THERMAL_CORE_H__ */ > -- > 2.0.0.rc2 >