Message ID | 1418058261-25251-2-git-send-email-l.majewski@samsung.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Eduardo Valentin |
Headers | show |
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? Add them here, will limit their usage to code inside drivers/thermal. Shouldn't these new APIs be declared under include/linux/thermal.h? 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 >
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
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 *); #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__ */
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(+)