Message ID | 1424254056-5904-2-git-send-email-l.majewski@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Feb 18, 2015 at 11:07:29AM +0100, Lukasz Majewski wrote: > Odroid U3 fan can work without being registered as OF cooling device > (with CONFIG_THERMAL_OF disabled). > In this situation it can be controlled via PWM entry at > /sys/class/hwmon/hwmon0/pwm1. > > Therefore, the thermal_of_cooling_device_register() function needs a stub > to allow clean compilation. I've just applied a patch on this same matter from Nishanth Menon [1]. Can you please check if his patch is enough for you? [1] - https://git.kernel.org/cgit/linux/kernel/git/evalenti/linux-soc-thermal.git/commit/?h=fixes&id=12ca7188468ee29c4e717f73db4bf43c90954fc7 > > Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> > --- > Changes for v2: > - None > Changes for v3: > - Provide stub declaration when CONFIG_THERMAL is not set > Changes for v4: > - None > --- > include/linux/thermal.h | 17 ++++++++++++++--- > 1 file changed, 14 insertions(+), 3 deletions(-) > > diff --git a/include/linux/thermal.h b/include/linux/thermal.h > index fc52e30..eacf2de 100644 > --- a/include/linux/thermal.h > +++ b/include/linux/thermal.h > @@ -293,6 +293,20 @@ struct thermal_trip { > }; > > /* Function declarations */ > +#ifdef CONFIG_THERMAL > +struct thermal_cooling_device * > +thermal_of_cooling_device_register(struct device_node *np, > + char *type, void *devdata, > + const struct thermal_cooling_device_ops *); > +#else > +static inline struct thermal_cooling_device * > +thermal_of_cooling_device_register(struct device_node *np, > + char *type, void *devdata, > + const struct thermal_cooling_device_ops *ops) > +{ > + return NULL; > +} > +#endif > #ifdef CONFIG_THERMAL_OF > struct thermal_zone_device * > thermal_zone_of_sensor_register(struct device *dev, int id, void *data, > @@ -328,9 +342,6 @@ void thermal_zone_device_update(struct thermal_zone_device *); > > struct thermal_cooling_device *thermal_cooling_device_register(char *, void *, > const struct thermal_cooling_device_ops *); > -struct thermal_cooling_device * > -thermal_of_cooling_device_register(struct device_node *np, char *, void *, > - const struct thermal_cooling_device_ops *); > void thermal_cooling_device_unregister(struct thermal_cooling_device *); > struct thermal_zone_device *thermal_zone_get_zone_by_name(const char *name); > int thermal_zone_get_temp(struct thermal_zone_device *tz, unsigned long *temp); > -- > 2.0.0.rc2 >
Hi Eduardo, > On Wed, Feb 18, 2015 at 11:07:29AM +0100, Lukasz Majewski wrote: > > Odroid U3 fan can work without being registered as OF cooling device > > (with CONFIG_THERMAL_OF disabled). > > In this situation it can be controlled via PWM entry at > > /sys/class/hwmon/hwmon0/pwm1. > > > > Therefore, the thermal_of_cooling_device_register() function needs > > a stub to allow clean compilation. > > > I've just applied a patch on this same matter from Nishanth Menon [1]. > Can you please check if his patch is enough for you? > > [1] - > https://git.kernel.org/cgit/linux/kernel/git/evalenti/linux-soc-thermal.git/commit/?h=fixes&id=12ca7188468ee29c4e717f73db4bf43c90954fc7 > I will prepare new PWM-FAN patch set with above changes in mind. > > > > > Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> > > --- > > Changes for v2: > > - None > > Changes for v3: > > - Provide stub declaration when CONFIG_THERMAL is not set > > Changes for v4: > > - None > > --- > > include/linux/thermal.h | 17 ++++++++++++++--- > > 1 file changed, 14 insertions(+), 3 deletions(-) > > > > diff --git a/include/linux/thermal.h b/include/linux/thermal.h > > index fc52e30..eacf2de 100644 > > --- a/include/linux/thermal.h > > +++ b/include/linux/thermal.h > > @@ -293,6 +293,20 @@ struct thermal_trip { > > }; > > > > /* Function declarations */ > > +#ifdef CONFIG_THERMAL > > +struct thermal_cooling_device * > > +thermal_of_cooling_device_register(struct device_node *np, > > + char *type, void *devdata, > > + const struct > > thermal_cooling_device_ops *); +#else > > +static inline struct thermal_cooling_device * > > +thermal_of_cooling_device_register(struct device_node *np, > > + char *type, void *devdata, > > + const struct > > thermal_cooling_device_ops *ops) +{ > > + return NULL; > > +} > > +#endif > > #ifdef CONFIG_THERMAL_OF > > struct thermal_zone_device * > > thermal_zone_of_sensor_register(struct device *dev, int id, void > > *data, @@ -328,9 +342,6 @@ void thermal_zone_device_update(struct > > thermal_zone_device *); > > struct thermal_cooling_device > > *thermal_cooling_device_register(char *, void *, const struct > > thermal_cooling_device_ops *); -struct thermal_cooling_device * > > -thermal_of_cooling_device_register(struct device_node *np, char *, > > void *, > > - const struct > > thermal_cooling_device_ops *); void > > thermal_cooling_device_unregister(struct thermal_cooling_device *); > > struct thermal_zone_device *thermal_zone_get_zone_by_name(const > > char *name); int thermal_zone_get_temp(struct thermal_zone_device > > *tz, unsigned long *temp); -- 2.0.0.rc2 > >
diff --git a/include/linux/thermal.h b/include/linux/thermal.h index fc52e30..eacf2de 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h @@ -293,6 +293,20 @@ struct thermal_trip { }; /* Function declarations */ +#ifdef CONFIG_THERMAL +struct thermal_cooling_device * +thermal_of_cooling_device_register(struct device_node *np, + char *type, void *devdata, + const struct thermal_cooling_device_ops *); +#else +static inline struct thermal_cooling_device * +thermal_of_cooling_device_register(struct device_node *np, + char *type, void *devdata, + const struct thermal_cooling_device_ops *ops) +{ + return NULL; +} +#endif #ifdef CONFIG_THERMAL_OF struct thermal_zone_device * thermal_zone_of_sensor_register(struct device *dev, int id, void *data, @@ -328,9 +342,6 @@ void thermal_zone_device_update(struct thermal_zone_device *); struct thermal_cooling_device *thermal_cooling_device_register(char *, void *, const struct thermal_cooling_device_ops *); -struct thermal_cooling_device * -thermal_of_cooling_device_register(struct device_node *np, char *, void *, - const struct thermal_cooling_device_ops *); void thermal_cooling_device_unregister(struct thermal_cooling_device *); struct thermal_zone_device *thermal_zone_get_zone_by_name(const char *name); int thermal_zone_get_temp(struct thermal_zone_device *tz, unsigned long *temp);
Odroid U3 fan can work without being registered as OF cooling device (with CONFIG_THERMAL_OF disabled). In this situation it can be controlled via PWM entry at /sys/class/hwmon/hwmon0/pwm1. Therefore, the thermal_of_cooling_device_register() function needs a stub to allow clean compilation. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> --- Changes for v2: - None Changes for v3: - Provide stub declaration when CONFIG_THERMAL is not set Changes for v4: - None --- include/linux/thermal.h | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)