[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0iyD-6OM1V3oUXbLL2gT5XjD-N8TOfWQTK+P4MN25RcMQ@mail.gmail.com>
Date: Fri, 30 Sep 2022 19:23:36 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Daniel Lezcano <daniel.lezcano@...aro.org>
Cc: rafael@...nel.org, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org, rui.zhang@...el.com,
Raju Rangoju <rajur@...lsio.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Peter Kaestle <peter@...e.net>,
Hans de Goede <hdegoede@...hat.com>,
Mark Gross <markgross@...nel.org>,
Miquel Raynal <miquel.raynal@...tlin.com>,
Amit Kucheria <amitk@...nel.org>,
Nicolas Saenz Julienne <nsaenz@...nel.org>,
Broadcom Kernel Team <bcm-kernel-feedback-list@...adcom.com>,
Florian Fainelli <f.fainelli@...il.com>,
Ray Jui <rjui@...adcom.com>,
Scott Branden <sbranden@...adcom.com>,
Support Opensource <support.opensource@...semi.com>,
Lukasz Luba <lukasz.luba@....com>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
NXP Linux Team <linux-imx@....com>,
Thara Gopinath <thara.gopinath@...aro.org>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Niklas Söderlund <niklas.soderlund@...natech.se>,
Bartlomiej Zolnierkiewicz <bzolnier@...il.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Alim Akhtar <alim.akhtar@...sung.com>,
Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Eduardo Valentin <edubezval@...il.com>,
Keerthy <j-keerthy@...com>,
Kunihiko Hayashi <hayashi.kunihiko@...ionext.com>,
Masami Hiramatsu <mhiramat@...nel.org>,
Antoine Tenart <atenart@...nel.org>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Dmitry Osipenko <digetx@...il.com>, netdev@...r.kernel.org,
platform-driver-x86@...r.kernel.org,
linux-rpi-kernel@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org,
linux-arm-msm@...r.kernel.org, linux-renesas-soc@...r.kernel.org,
linux-samsung-soc@...r.kernel.org, linux-tegra@...r.kernel.org,
linux-omap@...r.kernel.org
Subject: Re: [PATCH v7 02/29] thermal/sysfs: Always expose hysteresis attributes
On Wed, Sep 28, 2022 at 11:01 PM Daniel Lezcano
<daniel.lezcano@...aro.org> wrote:
>
> Instead of avoiding to expose the hysteresis attributes of a thermal
> zone when its get_trip_hyst() operation is not defined, which is
> confusing, expose them always and use the default
> thermal_zone_get_trip() function returning 0 hysteresis when that
> operation is not present.
>
> The hysteresis of 0 is perfectly valid, so this change should not
> introduce any backwards compatibility issues.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@...aro.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> ---
> drivers/thermal/thermal_sysfs.c | 25 +++++++++----------------
> 1 file changed, 9 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c
> index d093d7aa64c6..6c45194aaabb 100644
> --- a/drivers/thermal/thermal_sysfs.c
> +++ b/drivers/thermal/thermal_sysfs.c
> @@ -426,23 +426,20 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
> return -ENOMEM;
> }
>
> - if (tz->ops->get_trip_hyst) {
> - tz->trip_hyst_attrs = kcalloc(tz->num_trips,
> - sizeof(*tz->trip_hyst_attrs),
> - GFP_KERNEL);
> - if (!tz->trip_hyst_attrs) {
> - kfree(tz->trip_type_attrs);
> - kfree(tz->trip_temp_attrs);
> - return -ENOMEM;
> - }
> + tz->trip_hyst_attrs = kcalloc(tz->num_trips,
> + sizeof(*tz->trip_hyst_attrs),
> + GFP_KERNEL);
> + if (!tz->trip_hyst_attrs) {
> + kfree(tz->trip_type_attrs);
> + kfree(tz->trip_temp_attrs);
> + return -ENOMEM;
> }
>
> attrs = kcalloc(tz->num_trips * 3 + 1, sizeof(*attrs), GFP_KERNEL);
> if (!attrs) {
> kfree(tz->trip_type_attrs);
> kfree(tz->trip_temp_attrs);
> - if (tz->ops->get_trip_hyst)
> - kfree(tz->trip_hyst_attrs);
> + kfree(tz->trip_hyst_attrs);
> return -ENOMEM;
> }
>
> @@ -475,9 +472,6 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
> }
> attrs[indx + tz->num_trips] = &tz->trip_temp_attrs[indx].attr.attr;
>
> - /* create Optional trip hyst attribute */
> - if (!tz->ops->get_trip_hyst)
> - continue;
> snprintf(tz->trip_hyst_attrs[indx].name, THERMAL_NAME_LENGTH,
> "trip_point_%d_hyst", indx);
>
> @@ -514,8 +508,7 @@ static void destroy_trip_attrs(struct thermal_zone_device *tz)
>
> kfree(tz->trip_type_attrs);
> kfree(tz->trip_temp_attrs);
> - if (tz->ops->get_trip_hyst)
> - kfree(tz->trip_hyst_attrs);
> + kfree(tz->trip_hyst_attrs);
> kfree(tz->trips_attribute_group.attrs);
> }
>
> --
> 2.34.1
>
Powered by blists - more mailing lists