From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Daniel Lezcano <daniel.lezcano@linexp.org>,
rafael@kernel.org, daniel.lezcano@linaro.org
Cc: lkp@intel.com, kbuild-all@lists.01.org, khilman@baylibre.com,
abailon@baylibre.com, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 15/15] thermal/of: Initialize trip points separately
Date: Wed, 4 May 2022 11:18:05 +0300 [thread overview]
Message-ID: <202205031504.J62WedEw-lkp@intel.com> (raw)
In-Reply-To: <20220426221523.3056696-16-daniel.lezcano@linexp.org>
Hi Daniel,
url: https://github.com/intel-lab-lkp/linux/commits/Daniel-Lezcano/thermal-OF-rework/20220427-061937
base: https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git for-next
config: i386-randconfig-m021 (https://download.01.org/0day-ci/archive/20220503/202205031504.J62WedEw-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/thermal/thermal_of.c:996 thermal_of_build_thermal_zone() error: uninitialized symbol 'gchild'.
vim +/gchild +996 drivers/thermal/thermal_of.c
c0ff8aaae36955 drivers/thermal/of-thermal.c Julia Lawall 2016-04-19 902 static struct __thermal_zone
c0ff8aaae36955 drivers/thermal/of-thermal.c Julia Lawall 2016-04-19 903 __init *thermal_of_build_thermal_zone(struct device_node *np)
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 904 {
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 905 struct device_node *child = NULL, *gchild;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 906 struct __thermal_zone *tz;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 907 int ret, i;
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 908 u32 prop, coef[2];
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 909
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 910 if (!np) {
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 911 pr_err("no thermal zone np\n");
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 912 return ERR_PTR(-EINVAL);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 913 }
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 914
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 915 tz = kzalloc(sizeof(*tz), GFP_KERNEL);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 916 if (!tz)
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 917 return ERR_PTR(-ENOMEM);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 918
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 919 ret = of_property_read_u32(np, "polling-delay-passive", &prop);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 920 if (ret < 0) {
3079f340caa72a drivers/thermal/of-thermal.c Amit Kucheria 2019-01-21 921 pr_err("%pOFn: missing polling-delay-passive property\n", np);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 922 goto free_tz;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 923 }
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 924 tz->passive_delay = prop;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 925
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 926 ret = of_property_read_u32(np, "polling-delay", &prop);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 927 if (ret < 0) {
3079f340caa72a drivers/thermal/of-thermal.c Amit Kucheria 2019-01-21 928 pr_err("%pOFn: missing polling-delay property\n", np);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 929 goto free_tz;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 930 }
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 931 tz->polling_delay = prop;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 932
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 933 /*
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 934 * REVIST: for now, the thermal framework supports only
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 935 * one sensor per thermal zone. Thus, we are considering
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 936 * only the first two values as slope and offset.
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 937 */
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 938 ret = of_property_read_u32_array(np, "coefficients", coef, 2);
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 939 if (ret == 0) {
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 940 tz->slope = coef[0];
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 941 tz->offset = coef[1];
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 942 } else {
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 943 tz->slope = 1;
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 944 tz->offset = 0;
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 945 }
a46dbae8abe5cd drivers/thermal/of-thermal.c Eduardo Valentin 2015-05-11 946
b446fa392d1d9f drivers/thermal/thermal_of.c Daniel Lezcano 2022-04-27 947 tz->trips = thermal_of_trips_init(np, &tz->ntrips);
b446fa392d1d9f drivers/thermal/thermal_of.c Daniel Lezcano 2022-04-27 948 if (IS_ERR(tz->trips)) {
b446fa392d1d9f drivers/thermal/thermal_of.c Daniel Lezcano 2022-04-27 949 ret = PTR_ERR(tz->trips);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 950 goto finish;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 951 }
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 952
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 953 /* cooling-maps */
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 954 child = of_get_child_by_name(np, "cooling-maps");
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 955
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 956 /* cooling-maps not provided */
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 957 if (!child)
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 958 goto finish;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 959
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 960 tz->num_tbps = of_get_child_count(child);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 961 if (tz->num_tbps == 0)
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 962 goto finish;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 963
6396bb221514d2 drivers/thermal/of-thermal.c Kees Cook 2018-06-12 964 tz->tbps = kcalloc(tz->num_tbps, sizeof(*tz->tbps), GFP_KERNEL);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 965 if (!tz->tbps) {
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 966 ret = -ENOMEM;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 967 goto free_trips;
"gchild" not initialized on this path.
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 968 }
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 969
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 970 i = 0;
ca9521b770c988 drivers/thermal/of-thermal.c Stephen Boyd 2014-06-18 971 for_each_child_of_node(child, gchild) {
b446fa392d1d9f drivers/thermal/thermal_of.c Daniel Lezcano 2022-04-27 972 ret = thermal_of_populate_bind_params(np, gchild, &tz->tbps[i++]);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 973 if (ret)
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 974 goto free_tbps;
Better to do the of_node_put(gchild); before the goto anyway.
ca9521b770c988 drivers/thermal/of-thermal.c Stephen Boyd 2014-06-18 975 }
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 976
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 977 finish:
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 978 of_node_put(child);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 979
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 980 return tz;
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 981
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 982 free_tbps:
a92bab8919e3fb drivers/thermal/of-thermal.c Viresh Kumar 2018-08-08 983 for (i = i - 1; i >= 0; i--) {
a92bab8919e3fb drivers/thermal/of-thermal.c Viresh Kumar 2018-08-08 984 struct __thermal_bind_params *tbp = tz->tbps + i;
a92bab8919e3fb drivers/thermal/of-thermal.c Viresh Kumar 2018-08-08 985 int j;
a92bab8919e3fb drivers/thermal/of-thermal.c Viresh Kumar 2018-08-08 986
a92bab8919e3fb drivers/thermal/of-thermal.c Viresh Kumar 2018-08-08 987 for (j = 0; j < tbp->count; j++)
a92bab8919e3fb drivers/thermal/of-thermal.c Viresh Kumar 2018-08-08 988 of_node_put(tbp->tcbp[j].cooling_device);
a92bab8919e3fb drivers/thermal/of-thermal.c Viresh Kumar 2018-08-08 989
a92bab8919e3fb drivers/thermal/of-thermal.c Viresh Kumar 2018-08-08 990 kfree(tbp->tcbp);
a92bab8919e3fb drivers/thermal/of-thermal.c Viresh Kumar 2018-08-08 991 }
a92bab8919e3fb drivers/thermal/of-thermal.c Viresh Kumar 2018-08-08 992
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 993 kfree(tz->tbps);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 994 free_trips:
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 995 kfree(tz->trips);
c2aad93c7edd5e drivers/thermal/of-thermal.c Vladimir Zapolskiy 2014-09-29 @996 of_node_put(gchild);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 997 free_tz:
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 998 kfree(tz);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 999 of_node_put(child);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 1000
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 1001 return ERR_PTR(ret);
4e5e4705bf69ea drivers/thermal/of-thermal.c Eduardo Valentin 2013-07-03 1002 }
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next prev parent reply other threads:[~2022-05-04 8:19 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-26 22:15 [PATCH 00/15] thermal OF rework Daniel Lezcano
2022-04-26 22:15 ` [PATCH 01/15] thermal/core: Rename thermal_zone_device to thermal_zone Daniel Lezcano
2022-05-03 12:51 ` kernel test robot
2022-04-26 22:15 ` [PATCH 02/15] thermal/core: Change thermal_zone_ops to thermal_sensor_ops Daniel Lezcano
2022-04-26 22:15 ` [PATCH 03/15] thermal/core: Add a thermal sensor structure in the thermal zone Daniel Lezcano
2022-04-26 22:15 ` [PATCH 04/15] thermal/core: Remove duplicate information when an error occurs Daniel Lezcano
2022-04-26 22:15 ` [PATCH 05/15] thermal/of: Replace device node match with device node search Daniel Lezcano
2022-04-26 22:15 ` [PATCH 06/15] thermal/of: Remove the device node pointer for thermal_trip Daniel Lezcano
2022-04-26 22:15 ` [PATCH 07/15] thermal/of: Move thermal_trip structure to thermal.h Daniel Lezcano
2022-04-26 22:15 ` [PATCH 08/15] thermal/core: Remove unneeded EXPORT_SYMBOLS Daniel Lezcano
2022-04-26 22:15 ` [PATCH 09/15] thermal/core: Move thermal_set_delay_jiffies to static Daniel Lezcano
2022-04-26 22:15 ` [PATCH 10/15] thermal/core: Rename trips to ntrips Daniel Lezcano
2022-05-17 15:49 ` Rafael J. Wysocki
2022-04-26 22:15 ` [PATCH 11/15] thermal/core: Add thermal_trip in thermal_zone Daniel Lezcano
2022-04-26 22:15 ` [PATCH 12/15] thermal/core: Register with the trip points Daniel Lezcano
2022-04-26 22:15 ` [PATCH 13/15] thermal/of: Store the trips in the thermal zone Daniel Lezcano
2022-04-26 22:15 ` [PATCH 14/15] thermal/of: Use thermal trips stored " Daniel Lezcano
2022-04-26 22:15 ` [PATCH 15/15] thermal/of: Initialize trip points separately Daniel Lezcano
2022-04-27 9:01 ` kernel test robot
2022-05-04 8:18 ` Dan Carpenter [this message]
2022-05-17 16:02 ` [PATCH 00/15] thermal OF rework Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202205031504.J62WedEw-lkp@intel.com \
--to=dan.carpenter@oracle.com \
--cc=abailon@baylibre.com \
--cc=daniel.lezcano@linaro.org \
--cc=daniel.lezcano@linexp.org \
--cc=kbuild-all@lists.01.org \
--cc=kbuild@lists.01.org \
--cc=khilman@baylibre.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lkp@intel.com \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox