From: Jisheng Zhang <jszhang@marvell.com>
To: kbuild test robot <lkp@intel.com>,
vireshk@kernel.org, nm@ti.com, sboyd@codeaurora.org,
rjw@rjwysocki.net, gregkh@linuxfoundation.org,
Arnd Bergmann <arnd@arndb.de>
Cc: kbuild-all@01.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] PM / OPP: optimize dev_pm_opp_set_rate() a bit
Date: Mon, 25 Jul 2016 13:19:47 +0800 [thread overview]
Message-ID: <20160725131947.644e6166@xhacker> (raw)
In-Reply-To: <201607222230.DZObarhu%fengguang.wu@intel.com>
Dear all,
On Fri, 22 Jul 2016 22:30:53 +0800 kbuild test robot wrote:
> Hi,
>
> [auto build test WARNING on pm/linux-next]
> [also build test WARNING on v4.7-rc7 next-20160722]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>
> url: https://github.com/0day-ci/linux/commits/Jisheng-Zhang/PM-OPP-optimize-dev_pm_opp_set_rate-a-bit/20160722-205339
> base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
> config: x86_64-allmodconfig (attached as .config)
> compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=x86_64
>
> Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
> http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
>
> All warnings (new ones prefixed by >>):
>
> drivers/base/power/opp/core.c: In function 'dev_pm_opp_set_rate':
> >> drivers/base/power/opp/core.c:666:3: warning: 'ou_volt_max' may be used uninitialized in this function [-Wmaybe-uninitialized]
> _set_opp_voltage(dev, reg, ou_volt, ou_volt_min, ou_volt_max);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> drivers/base/power/opp/core.c:666:3: warning: 'ou_volt_min' may be used uninitialized in this function [-Wmaybe-uninitialized]
> >> drivers/base/power/opp/core.c:666:3: warning: 'ou_volt' may be used uninitialized in this function [-Wmaybe-uninitialized]
These warnings seem weired. We only use them when !IS_ERR(old_opp), and we
should already set them if !IS_ERR(old_opp). Another weired thing is if
we add something, printk e.g in _find_freq_ceil(), then these warnings disappear
Could you please kindly give some suggestions about how to fix these warnings?
Thanks,
Jisheng
>
> vim +/ou_volt_max +666 drivers/base/power/opp/core.c
>
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 650 if (freq < old_freq) {
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 651 ret = _set_opp_voltage(dev, reg, u_volt, u_volt_min,
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 652 u_volt_max);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 653 if (ret)
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 654 goto restore_freq;
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 655 }
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 656
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 657 return 0;
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 658
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 659 restore_freq:
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 660 if (clk_set_rate(clk, old_freq))
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 661 dev_err(dev, "%s: failed to restore old-freq (%lu Hz)\n",
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 662 __func__, old_freq);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 663 restore_voltage:
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 664 /* This shouldn't harm even if the voltages weren't updated earlier */
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 665 if (!IS_ERR(old_opp))
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 @666 _set_opp_voltage(dev, reg, ou_volt, ou_volt_min, ou_volt_max);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 667
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 668 return ret;
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 669 }
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 670 EXPORT_SYMBOL_GPL(dev_pm_opp_set_rate);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 671
> 2c2709dc drivers/base/power/opp/core.c Viresh Kumar 2016-02-16 672 /* OPP-dev Helpers */
> 2c2709dc drivers/base/power/opp/core.c Viresh Kumar 2016-02-16 673 static void _kfree_opp_dev_rcu(struct rcu_head *head)
> 06441658 drivers/base/power/opp.c Viresh Kumar 2015-07-29 674 {
>
> :::::: The code at line 666 was first introduced by commit
> :::::: 6a0712f6f199e737aa5913d28ec4bd3a25de9660 PM / OPP: Add dev_pm_opp_set_rate()
>
> :::::: TO: Viresh Kumar <viresh.kumar@linaro.org>
> :::::: CC: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
WARNING: multiple messages have this Message-ID (diff)
From: jszhang@marvell.com (Jisheng Zhang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] PM / OPP: optimize dev_pm_opp_set_rate() a bit
Date: Mon, 25 Jul 2016 13:19:47 +0800 [thread overview]
Message-ID: <20160725131947.644e6166@xhacker> (raw)
In-Reply-To: <201607222230.DZObarhu%fengguang.wu@intel.com>
Dear all,
On Fri, 22 Jul 2016 22:30:53 +0800 kbuild test robot wrote:
> Hi,
>
> [auto build test WARNING on pm/linux-next]
> [also build test WARNING on v4.7-rc7 next-20160722]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>
> url: https://github.com/0day-ci/linux/commits/Jisheng-Zhang/PM-OPP-optimize-dev_pm_opp_set_rate-a-bit/20160722-205339
> base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
> config: x86_64-allmodconfig (attached as .config)
> compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=x86_64
>
> Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
> http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
>
> All warnings (new ones prefixed by >>):
>
> drivers/base/power/opp/core.c: In function 'dev_pm_opp_set_rate':
> >> drivers/base/power/opp/core.c:666:3: warning: 'ou_volt_max' may be used uninitialized in this function [-Wmaybe-uninitialized]
> _set_opp_voltage(dev, reg, ou_volt, ou_volt_min, ou_volt_max);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> drivers/base/power/opp/core.c:666:3: warning: 'ou_volt_min' may be used uninitialized in this function [-Wmaybe-uninitialized]
> >> drivers/base/power/opp/core.c:666:3: warning: 'ou_volt' may be used uninitialized in this function [-Wmaybe-uninitialized]
These warnings seem weired. We only use them when !IS_ERR(old_opp), and we
should already set them if !IS_ERR(old_opp). Another weired thing is if
we add something, printk e.g in _find_freq_ceil(), then these warnings disappear
Could you please kindly give some suggestions about how to fix these warnings?
Thanks,
Jisheng
>
> vim +/ou_volt_max +666 drivers/base/power/opp/core.c
>
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 650 if (freq < old_freq) {
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 651 ret = _set_opp_voltage(dev, reg, u_volt, u_volt_min,
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 652 u_volt_max);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 653 if (ret)
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 654 goto restore_freq;
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 655 }
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 656
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 657 return 0;
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 658
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 659 restore_freq:
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 660 if (clk_set_rate(clk, old_freq))
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 661 dev_err(dev, "%s: failed to restore old-freq (%lu Hz)\n",
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 662 __func__, old_freq);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 663 restore_voltage:
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 664 /* This shouldn't harm even if the voltages weren't updated earlier */
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 665 if (!IS_ERR(old_opp))
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 @666 _set_opp_voltage(dev, reg, ou_volt, ou_volt_min, ou_volt_max);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 667
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 668 return ret;
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 669 }
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 670 EXPORT_SYMBOL_GPL(dev_pm_opp_set_rate);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 671
> 2c2709dc drivers/base/power/opp/core.c Viresh Kumar 2016-02-16 672 /* OPP-dev Helpers */
> 2c2709dc drivers/base/power/opp/core.c Viresh Kumar 2016-02-16 673 static void _kfree_opp_dev_rcu(struct rcu_head *head)
> 06441658 drivers/base/power/opp.c Viresh Kumar 2015-07-29 674 {
>
> :::::: The code at line 666 was first introduced by commit
> :::::: 6a0712f6f199e737aa5913d28ec4bd3a25de9660 PM / OPP: Add dev_pm_opp_set_rate()
>
> :::::: TO: Viresh Kumar <viresh.kumar@linaro.org>
> :::::: CC: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <jszhang@marvell.com>
To: kbuild test robot <lkp@intel.com>, <vireshk@kernel.org>,
<nm@ti.com>, <sboyd@codeaurora.org>, <rjw@rjwysocki.net>,
<gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>
Cc: <kbuild-all@01.org>, <linux-pm@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] PM / OPP: optimize dev_pm_opp_set_rate() a bit
Date: Mon, 25 Jul 2016 13:19:47 +0800 [thread overview]
Message-ID: <20160725131947.644e6166@xhacker> (raw)
In-Reply-To: <201607222230.DZObarhu%fengguang.wu@intel.com>
Dear all,
On Fri, 22 Jul 2016 22:30:53 +0800 kbuild test robot wrote:
> Hi,
>
> [auto build test WARNING on pm/linux-next]
> [also build test WARNING on v4.7-rc7 next-20160722]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>
> url: https://github.com/0day-ci/linux/commits/Jisheng-Zhang/PM-OPP-optimize-dev_pm_opp_set_rate-a-bit/20160722-205339
> base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
> config: x86_64-allmodconfig (attached as .config)
> compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=x86_64
>
> Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
> http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
>
> All warnings (new ones prefixed by >>):
>
> drivers/base/power/opp/core.c: In function 'dev_pm_opp_set_rate':
> >> drivers/base/power/opp/core.c:666:3: warning: 'ou_volt_max' may be used uninitialized in this function [-Wmaybe-uninitialized]
> _set_opp_voltage(dev, reg, ou_volt, ou_volt_min, ou_volt_max);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> drivers/base/power/opp/core.c:666:3: warning: 'ou_volt_min' may be used uninitialized in this function [-Wmaybe-uninitialized]
> >> drivers/base/power/opp/core.c:666:3: warning: 'ou_volt' may be used uninitialized in this function [-Wmaybe-uninitialized]
These warnings seem weired. We only use them when !IS_ERR(old_opp), and we
should already set them if !IS_ERR(old_opp). Another weired thing is if
we add something, printk e.g in _find_freq_ceil(), then these warnings disappear
Could you please kindly give some suggestions about how to fix these warnings?
Thanks,
Jisheng
>
> vim +/ou_volt_max +666 drivers/base/power/opp/core.c
>
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 650 if (freq < old_freq) {
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 651 ret = _set_opp_voltage(dev, reg, u_volt, u_volt_min,
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 652 u_volt_max);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 653 if (ret)
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 654 goto restore_freq;
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 655 }
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 656
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 657 return 0;
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 658
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 659 restore_freq:
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 660 if (clk_set_rate(clk, old_freq))
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 661 dev_err(dev, "%s: failed to restore old-freq (%lu Hz)\n",
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 662 __func__, old_freq);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 663 restore_voltage:
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 664 /* This shouldn't harm even if the voltages weren't updated earlier */
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 665 if (!IS_ERR(old_opp))
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 @666 _set_opp_voltage(dev, reg, ou_volt, ou_volt_min, ou_volt_max);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 667
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 668 return ret;
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 669 }
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 670 EXPORT_SYMBOL_GPL(dev_pm_opp_set_rate);
> 6a0712f6 drivers/base/power/opp/core.c Viresh Kumar 2016-02-09 671
> 2c2709dc drivers/base/power/opp/core.c Viresh Kumar 2016-02-16 672 /* OPP-dev Helpers */
> 2c2709dc drivers/base/power/opp/core.c Viresh Kumar 2016-02-16 673 static void _kfree_opp_dev_rcu(struct rcu_head *head)
> 06441658 drivers/base/power/opp.c Viresh Kumar 2015-07-29 674 {
>
> :::::: The code at line 666 was first introduced by commit
> :::::: 6a0712f6f199e737aa5913d28ec4bd3a25de9660 PM / OPP: Add dev_pm_opp_set_rate()
>
> :::::: TO: Viresh Kumar <viresh.kumar@linaro.org>
> :::::: CC: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
next prev parent reply other threads:[~2016-07-25 5:24 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-22 12:42 [PATCH] PM / OPP: optimize dev_pm_opp_set_rate() a bit Jisheng Zhang
2016-07-22 12:42 ` Jisheng Zhang
2016-07-22 12:42 ` Jisheng Zhang
2016-07-22 14:30 ` kbuild test robot
2016-07-22 14:30 ` kbuild test robot
2016-07-22 14:30 ` kbuild test robot
2016-07-25 5:19 ` Jisheng Zhang [this message]
2016-07-25 5:19 ` Jisheng Zhang
2016-07-25 5:19 ` Jisheng Zhang
2016-07-25 6:05 ` Jisheng Zhang
2016-07-25 6:05 ` Jisheng Zhang
2016-07-25 6:05 ` Jisheng Zhang
2016-07-22 16:21 ` Viresh Kumar
2016-07-22 16:21 ` Viresh Kumar
2016-07-25 5:12 ` Jisheng Zhang
2016-07-25 5:12 ` Jisheng Zhang
2016-07-25 5:12 ` Jisheng Zhang
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=20160725131947.644e6166@xhacker \
--to=jszhang@marvell.com \
--cc=arnd@arndb.de \
--cc=gregkh@linuxfoundation.org \
--cc=kbuild-all@01.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lkp@intel.com \
--cc=nm@ti.com \
--cc=rjw@rjwysocki.net \
--cc=sboyd@codeaurora.org \
--cc=vireshk@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.