Messages in this thread | | | Date | Tue, 9 Dec 2014 00:02:30 +0100 | From | Lukasz Majewski <> | Subject | Re: [PATCH v3 1/5] thermal: of: Extend of-thermal.c to provide number of trip points |
| |
On Mon, 8 Dec 2014 15:52:49 -0400 Eduardo Valentin <edubezval@gmail.com> wrote:
Hi Eduardo,
> On Mon, Dec 08, 2014 at 06:04:17PM +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 <l.majewski@samsung.com> > > --- > > Changes for v3: > > - Exporting of_thermal_get_ntrips symbol as a GPL > > - Fix build error when CONFIG_THERMAL_OF is disabled > > > > 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 | 21 +++++++++++++++++++++ > > drivers/thermal/thermal_core.h | 5 +++++ > > 2 files changed, 26 insertions(+) > > > > diff --git a/drivers/thermal/of-thermal.c > > b/drivers/thermal/of-thermal.c index b7982f0..7facd23 100644 > > --- a/drivers/thermal/of-thermal.c > > +++ b/drivers/thermal/of-thermal.c > > @@ -112,6 +112,27 @@ 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; > > +} > > +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..1cc5041 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 *); > > Lukasz, > > Here is a question that applies to all patches in this series adding > functions in this header. > > i suppose you intend to use these new functions in driver code, right?
Yes, right.
> Add them here, will limit their usage to code inside drivers/thermal.
This is my intention - at least for now the use case is to configure the thermal driver (i.e. Exynos TMU). Other drivers (e.g. TI) can benefit from this code too.
> > Shouldn't these new APIs be declared under include/linux/thermal.h?
I'd prefer to leave this API in ./drivers/thermal and move them to ./include/linux/thermal.h only when other parts of the kernel require it.
> > This way, they can be be available to other parts of the kernel too. > > > > #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 > > *tz) +{ > > + return 0; > > +} > > #endif > > > > #endif /* __THERMAL_CORE_H__ */ > > -- > > 2.0.0.rc2 > >
Best Regards,
Lukasz Majewski [unhandled content-type:application/pgp-signature] | |