Re: [PATCH v3] soc/tegra: Add devm_tegra_core_dev_init_opp_table()

From: kernel test robot
Date: Fri Jan 22 2021 - 01:32:21 EST


Hi Dmitry,

I love your patch! Yet something to improve:

[auto build test ERROR on tegra/for-next]
[also build test ERROR on v5.11-rc4 next-20210121]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Dmitry-Osipenko/soc-tegra-Add-devm_tegra_core_dev_init_opp_table/20210122-032018
base: https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git for-next
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/d506fc2521a717df9b74b7106dbc8f2912b39e05
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Dmitry-Osipenko/soc-tegra-Add-devm_tegra_core_dev_init_opp_table/20210122-032018
git checkout d506fc2521a717df9b74b7106dbc8f2912b39e05
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

drivers/soc/tegra/common.c: In function 'devm_tegra_core_dev_init_opp_table':
>> drivers/soc/tegra/common.c:122:14: error: implicit declaration of function 'devm_pm_opp_set_clkname'; did you mean 'dev_pm_opp_set_clkname'? [-Werror=implicit-function-declaration]
122 | opp_table = devm_pm_opp_set_clkname(dev, NULL);
| ^~~~~~~~~~~~~~~~~~~~~~~
| dev_pm_opp_set_clkname
drivers/soc/tegra/common.c:122:12: warning: assignment to 'struct opp_table *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
122 | opp_table = devm_pm_opp_set_clkname(dev, NULL);
| ^
>> drivers/soc/tegra/common.c:138:14: error: implicit declaration of function 'devm_pm_opp_set_supported_hw'; did you mean 'dev_pm_opp_set_supported_hw'? [-Werror=implicit-function-declaration]
138 | opp_table = devm_pm_opp_set_supported_hw(dev, &hw_version, 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| dev_pm_opp_set_supported_hw
drivers/soc/tegra/common.c:138:12: warning: assignment to 'struct opp_table *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
138 | opp_table = devm_pm_opp_set_supported_hw(dev, &hw_version, 1);
| ^
>> drivers/soc/tegra/common.c:152:8: error: implicit declaration of function 'devm_pm_opp_of_add_table'; did you mean 'dev_pm_opp_of_add_table'? [-Werror=implicit-function-declaration]
152 | err = devm_pm_opp_of_add_table(dev);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| dev_pm_opp_of_add_table
cc1: some warnings being treated as errors


vim +122 drivers/soc/tegra/common.c

105
106 /**
107 * devm_tegra_core_dev_init_opp_table() - initialize OPP table
108 * @cfg: pointer to the OPP table configuration
109 *
110 * This function will initialize OPP table and sync OPP state of a Tegra SoC
111 * core device.
112 *
113 * Return: 0 on success or errorno.
114 */
115 int devm_tegra_core_dev_init_opp_table(struct device *dev,
116 struct tegra_core_opp_params *params)
117 {
118 struct opp_table *opp_table;
119 u32 hw_version;
120 int err;
121
> 122 opp_table = devm_pm_opp_set_clkname(dev, NULL);
123 if (IS_ERR(opp_table)) {
124 dev_err(dev, "failed to set OPP clk %pe\n", opp_table);
125 return PTR_ERR(opp_table);
126 }
127
128 /* Tegra114+ doesn't support OPP yet */
129 if (!of_machine_is_compatible("nvidia,tegra20") &&
130 !of_machine_is_compatible("nvidia,tegra30"))
131 return -ENODEV;
132
133 if (of_machine_is_compatible("nvidia,tegra20"))
134 hw_version = BIT(tegra_sku_info.soc_process_id);
135 else
136 hw_version = BIT(tegra_sku_info.soc_speedo_id);
137
> 138 opp_table = devm_pm_opp_set_supported_hw(dev, &hw_version, 1);
139 if (IS_ERR(opp_table)) {
140 dev_err(dev, "failed to set OPP supported HW: %pe\n", opp_table);
141 return PTR_ERR(opp_table);
142 }
143
144 /*
145 * Older device-trees have an empty OPP table, hence we will get
146 * -ENODEV from devm_pm_opp_of_add_table() for the older DTBs.
147 *
148 * The OPP table presence also varies per-device and depending
149 * on a SoC generation, hence -ENODEV is expected to happen for
150 * the newer DTs as well.
151 */
> 152 err = devm_pm_opp_of_add_table(dev);

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip