lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 29 May 2020 08:52:06 -0700 From: Guenter Roeck <linux@...ck-us.net> To: Andrzej Pietrasiewicz <andrzej.p@...labora.com> Cc: linux-pm@...r.kernel.org, linux-acpi@...r.kernel.org, netdev@...r.kernel.org, linux-wireless@...r.kernel.org, platform-driver-x86@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, linux-renesas-soc@...r.kernel.org, linux-rockchip@...ts.infradead.org, Emmanuel Grumbach <emmanuel.grumbach@...el.com>, Heiko Stuebner <heiko@...ech.de>, "Rafael J . Wysocki" <rjw@...ysocki.net>, Vishal Kulkarni <vishal@...lsio.com>, Luca Coelho <luciano.coelho@...el.com>, Miquel Raynal <miquel.raynal@...tlin.com>, kernel@...labora.com, Fabio Estevam <festevam@...il.com>, Amit Kucheria <amit.kucheria@...durent.com>, Chunyan Zhang <zhang.lyra@...il.com>, Daniel Lezcano <daniel.lezcano@...aro.org>, Allison Randal <allison@...utok.net>, NXP Linux Team <linux-imx@....com>, Darren Hart <dvhart@...radead.org>, Zhang Rui <rui.zhang@...el.com>, Gayatri Kammela <gayatri.kammela@...el.com>, Len Brown <lenb@...nel.org>, Johannes Berg <johannes.berg@...el.com>, Intel Linux Wireless <linuxwifi@...el.com>, Sascha Hauer <s.hauer@...gutronix.de>, Ido Schimmel <idosch@...lanox.com>, Baolin Wang <baolin.wang7@...il.com>, Jiri Pirko <jiri@...lanox.com>, Orson Zhai <orsonzhai@...il.com>, Thomas Gleixner <tglx@...utronix.de>, Kalle Valo <kvalo@...eaurora.org>, Support Opensource <support.opensource@...semi.com>, Enrico Weigelt <info@...ux.net>, Peter Kaestle <peter@...e.net>, Sebastian Reichel <sre@...nel.org>, Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>, Pengutronix Kernel Team <kernel@...gutronix.de>, Niklas Söderlund <niklas.soderlund@...natech.se>, Shawn Guo <shawnguo@...nel.org>, "David S . Miller" <davem@...emloft.net>, Andy Shevchenko <andy@...radead.org> Subject: Re: [PATCH v4 06/11] thermal: Add mode helpers On Thu, May 28, 2020 at 09:20:46PM +0200, Andrzej Pietrasiewicz wrote: > Prepare for making the drivers not access tzd's private members. > > Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@...labora.com> > --- > drivers/thermal/thermal_core.c | 53 ++++++++++++++++++++++++++++++++++ > include/linux/thermal.h | 13 +++++++++ > 2 files changed, 66 insertions(+) > > diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c > index 14d3b1b94c4f..f2a5c5ee3455 100644 > --- a/drivers/thermal/thermal_core.c > +++ b/drivers/thermal/thermal_core.c > @@ -459,6 +459,59 @@ static void thermal_zone_device_reset(struct thermal_zone_device *tz) > thermal_zone_device_init(tz); > } > > +int thermal_zone_device_set_mode(struct thermal_zone_device *tz, > + enum thermal_device_mode mode) > +{ > + int ret = 0; > + > + mutex_lock(&tz->lock); > + > + /* do nothing if mode isn't changing */ > + if (mode == tz->mode) { > + mutex_unlock(&tz->lock); > + Nit: unnecessary empty line. > + return ret; > + } > + > + if (tz->ops->set_mode) > + ret = tz->ops->set_mode(tz, mode); > + > + if (!ret) > + tz->mode = mode; > + > + mutex_unlock(&tz->lock); > + > + thermal_zone_device_update(tz, THERMAL_EVENT_UNSPECIFIED); > + > + return ret; > +} > + > +int thermal_zone_device_enable(struct thermal_zone_device *tz) > +{ > + return thermal_zone_device_set_mode(tz, THERMAL_DEVICE_ENABLED); > +} > +EXPORT_SYMBOL(thermal_zone_device_enable); Other exports in thermal/ use EXPORT_SYMBOL_GPL. > + > +int thermal_zone_device_disable(struct thermal_zone_device *tz) > +{ > + return thermal_zone_device_set_mode(tz, THERMAL_DEVICE_DISABLED); > +} > +EXPORT_SYMBOL(thermal_zone_device_disable); > + > +int thermal_zone_device_is_enabled(struct thermal_zone_device *tz) > +{ > + enum thermal_device_mode mode; > + > + mutex_lock(&tz->lock); > + > + mode = tz->mode; > + > + mutex_unlock(&tz->lock); > + > + return mode == THERMAL_DEVICE_ENABLED; > +} > +EXPORT_SYMBOL(thermal_zone_device_is_enabled); > + > void thermal_zone_device_update(struct thermal_zone_device *tz, > enum thermal_notify_event event) > { > diff --git a/include/linux/thermal.h b/include/linux/thermal.h > index a808f6fa2777..df013c39ba9b 100644 > --- a/include/linux/thermal.h > +++ b/include/linux/thermal.h > @@ -416,6 +416,9 @@ int thermal_zone_get_offset(struct thermal_zone_device *tz); > > void thermal_cdev_update(struct thermal_cooling_device *); > void thermal_notify_framework(struct thermal_zone_device *, int); > +int thermal_zone_device_enable(struct thermal_zone_device *tz); > +int thermal_zone_device_disable(struct thermal_zone_device *tz); > +int thermal_zone_device_is_enabled(struct thermal_zone_device *tz); > #else > static inline struct thermal_zone_device *thermal_zone_device_register( > const char *type, int trips, int mask, void *devdata, > @@ -463,6 +466,16 @@ static inline void thermal_cdev_update(struct thermal_cooling_device *cdev) > static inline void thermal_notify_framework(struct thermal_zone_device *tz, > int trip) > { } > + > +static inline int thermal_zone_device_enable(struct thermal_zone_device *tz) > +{ return -ENODEV; } > + > +static inline int thermal_zone_device_disable(struct thermal_zone_device *tz) > +{ return -ENODEV; } > + > +static inline int > +thermal_zone_device_is_enabled(struct thermal_zone_device *tz) > +{ return -ENODEV; } > #endif /* CONFIG_THERMAL */ > > #endif /* __THERMAL_H__ */
Powered by blists - more mailing lists