Re: [TEST PATCH] WIP: Test OPP multi regulator support with ti-opp-domain driver

From: kbuild test robot
Date: Tue Nov 15 2016 - 21:02:30 EST


Hi Dave,

[auto build test WARNING on robh/for-next]
[also build test WARNING on v4.9-rc5 next-20161115]
[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/Dave-Gerlach/WIP-Test-OPP-multi-regulator-support-with-ti-opp-domain-driver/20161116-084525
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 4.9.0
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=m68k

All warnings (new ones prefixed by >>):

drivers/soc/ti/ti-opp-domain.c:231:49: warning: 'struct dev_pm_set_opp_data' declared inside parameter list
int ti_oppdm_set_opp(struct device *dev, struct dev_pm_set_opp_data *data)
^
drivers/soc/ti/ti-opp-domain.c:231:49: warning: its scope is only this definition or declaration, which is probably not what you want
drivers/soc/ti/ti-opp-domain.c: In function 'ti_oppdm_set_opp':
drivers/soc/ti/ti-opp-domain.c:233:50: error: dereferencing pointer to incomplete type
struct dev_pm_opp_supply *old_supply_vdd = &data->old_opp.supplies[0];
^
drivers/soc/ti/ti-opp-domain.c:234:50: error: dereferencing pointer to incomplete type
struct dev_pm_opp_supply *old_supply_vbb = &data->old_opp.supplies[1];
^
drivers/soc/ti/ti-opp-domain.c:235:50: error: dereferencing pointer to incomplete type
struct dev_pm_opp_supply *new_supply_vdd = &data->new_opp.supplies[0];
^
drivers/soc/ti/ti-opp-domain.c:236:50: error: dereferencing pointer to incomplete type
struct dev_pm_opp_supply *new_supply_vbb = &data->new_opp.supplies[1];
^
drivers/soc/ti/ti-opp-domain.c:237:31: error: dereferencing pointer to incomplete type
unsigned long old_freq = data->old_opp.rate, freq = data->new_opp.rate;
^
drivers/soc/ti/ti-opp-domain.c:237:58: error: dereferencing pointer to incomplete type
unsigned long old_freq = data->old_opp.rate, freq = data->new_opp.rate;
^
drivers/soc/ti/ti-opp-domain.c:238:24: error: dereferencing pointer to incomplete type
struct clk *clk = data->clk;
^
drivers/soc/ti/ti-opp-domain.c:239:34: error: dereferencing pointer to incomplete type
struct regulator *vdd_reg = data->regulators[0];
^
drivers/soc/ti/ti-opp-domain.c:240:34: error: dereferencing pointer to incomplete type
struct regulator *vbb_reg = data->regulators[1];
^
drivers/soc/ti/ti-opp-domain.c:244:71: error: dereferencing pointer to incomplete type
vdd_uv = oppdm_get_optimal_vdd_voltage(dev, &opp_data, new_supply_vbb->u_volt);
^
In file included from include/linux/printk.h:305:0,
from include/linux/kernel.h:13,
from include/linux/clk.h:16,
from drivers/soc/ti/ti-opp-domain.c:14:
drivers/soc/ti/ti-opp-domain.c:251:18: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt, new_supply_vbb->u_volt_min,
^
include/linux/dynamic_debug.h:135:9: note: in definition of macro 'dynamic_dev_dbg'
##__VA_ARGS__); \
^
>> drivers/soc/ti/ti-opp-domain.c:250:3: note: in expansion of macro 'dev_dbg'
dev_dbg(dev, "vbb pre %luuV[min %luuV max %luuV]\n",
^
drivers/soc/ti/ti-opp-domain.c:251:42: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt, new_supply_vbb->u_volt_min,
^
include/linux/dynamic_debug.h:135:9: note: in definition of macro 'dynamic_dev_dbg'
##__VA_ARGS__); \
^
>> drivers/soc/ti/ti-opp-domain.c:250:3: note: in expansion of macro 'dev_dbg'
dev_dbg(dev, "vbb pre %luuV[min %luuV max %luuV]\n",
^
drivers/soc/ti/ti-opp-domain.c:252:18: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt_max);
^
include/linux/dynamic_debug.h:135:9: note: in definition of macro 'dynamic_dev_dbg'
##__VA_ARGS__); \
^
>> drivers/soc/ti/ti-opp-domain.c:250:3: note: in expansion of macro 'dev_dbg'
dev_dbg(dev, "vbb pre %luuV[min %luuV max %luuV]\n",
^
drivers/soc/ti/ti-opp-domain.c:255:25: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt_min,
^
drivers/soc/ti/ti-opp-domain.c:256:25: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt,
^
drivers/soc/ti/ti-opp-domain.c:257:25: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt_max);
^
drivers/soc/ti/ti-opp-domain.c:260:19: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt, new_supply_vbb->u_volt_min,
^
drivers/soc/ti/ti-opp-domain.c:260:43: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt, new_supply_vbb->u_volt_min,
^
drivers/soc/ti/ti-opp-domain.c:261:19: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt_max);
^
In file included from include/linux/printk.h:305:0,
from include/linux/kernel.h:13,
from include/linux/clk.h:16,
from drivers/soc/ti/ti-opp-domain.c:14:
drivers/soc/ti/ti-opp-domain.c:266:18: error: dereferencing pointer to incomplete type
new_supply_vdd->u_volt_min, new_supply_vdd->u_volt,
^
include/linux/dynamic_debug.h:135:9: note: in definition of macro 'dynamic_dev_dbg'
##__VA_ARGS__); \
^
drivers/soc/ti/ti-opp-domain.c:265:3: note: in expansion of macro 'dev_dbg'
dev_dbg(dev, "%s: voltages (mV): %lu %lu %lu\n", __func__,
^
drivers/soc/ti/ti-opp-domain.c:266:46: error: dereferencing pointer to incomplete type
new_supply_vdd->u_volt_min, new_supply_vdd->u_volt,
^
include/linux/dynamic_debug.h:135:9: note: in definition of macro 'dynamic_dev_dbg'
##__VA_ARGS__); \
^
drivers/soc/ti/ti-opp-domain.c:265:3: note: in expansion of macro 'dev_dbg'
dev_dbg(dev, "%s: voltages (mV): %lu %lu %lu\n", __func__,
^
drivers/soc/ti/ti-opp-domain.c:267:18: error: dereferencing pointer to incomplete type
new_supply_vdd->u_volt_max);
^
include/linux/dynamic_debug.h:135:9: note: in definition of macro 'dynamic_dev_dbg'
##__VA_ARGS__); \
^
drivers/soc/ti/ti-opp-domain.c:265:3: note: in expansion of macro 'dev_dbg'
dev_dbg(dev, "%s: voltages (mV): %lu %lu %lu\n", __func__,
^
drivers/soc/ti/ti-opp-domain.c:270:25: error: dereferencing pointer to incomplete type
new_supply_vdd->u_volt_min,
^
drivers/soc/ti/ti-opp-domain.c:271:25: error: dereferencing pointer to incomplete type
new_supply_vdd->u_volt,
^
drivers/soc/ti/ti-opp-domain.c:272:25: error: dereferencing pointer to incomplete type
new_supply_vdd->u_volt_max);
^
drivers/soc/ti/ti-opp-domain.c:275:29: error: dereferencing pointer to incomplete type
__func__, new_supply_vdd->u_volt_min,
^
drivers/soc/ti/ti-opp-domain.c:276:19: error: dereferencing pointer to incomplete type
new_supply_vdd->u_volt,
^
drivers/soc/ti/ti-opp-domain.c:277:19: error: dereferencing pointer to incomplete type
new_supply_vdd->u_volt_max, ret);
^
In file included from include/linux/printk.h:305:0,
from include/linux/kernel.h:13,
from include/linux/clk.h:16,
from drivers/soc/ti/ti-opp-domain.c:14:
drivers/soc/ti/ti-opp-domain.c:293:19: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt, new_supply_vbb->u_volt_min,
^
include/linux/dynamic_debug.h:135:9: note: in definition of macro 'dynamic_dev_dbg'
##__VA_ARGS__); \
^
drivers/soc/ti/ti-opp-domain.c:292:3: note: in expansion of macro 'dev_dbg'
dev_dbg(dev, "vbb post %luuV[min %luuV max %luuV]\n",
^
drivers/soc/ti/ti-opp-domain.c:293:43: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt, new_supply_vbb->u_volt_min,
^
include/linux/dynamic_debug.h:135:9: note: in definition of macro 'dynamic_dev_dbg'
##__VA_ARGS__); \
^
drivers/soc/ti/ti-opp-domain.c:292:3: note: in expansion of macro 'dev_dbg'
dev_dbg(dev, "vbb post %luuV[min %luuV max %luuV]\n",
^
drivers/soc/ti/ti-opp-domain.c:294:19: error: dereferencing pointer to incomplete type
new_supply_vbb->u_volt_max);
^
include/linux/dynamic_debug.h:135:9: note: in definition of macro 'dynamic_dev_dbg'
##__VA_ARGS__); \
^
drivers/soc/ti/ti-opp-domain.c:292:3: note: in expansion of macro 'dev_dbg'
dev_dbg(dev, "vbb post %luuV[min %luuV max %luuV]\n",
^

vim +/dev_dbg +250 drivers/soc/ti/ti-opp-domain.c

234 struct dev_pm_opp_supply *old_supply_vbb = &data->old_opp.supplies[1];
235 struct dev_pm_opp_supply *new_supply_vdd = &data->new_opp.supplies[0];
236 struct dev_pm_opp_supply *new_supply_vbb = &data->new_opp.supplies[1];
237 unsigned long old_freq = data->old_opp.rate, freq = data->new_opp.rate;
238 struct clk *clk = data->clk;
239 struct regulator *vdd_reg = data->regulators[0];
240 struct regulator *vbb_reg = data->regulators[1];
241 int vdd_uv;
242 int ret;
243
244 vdd_uv = oppdm_get_optimal_vdd_voltage(dev, &opp_data, new_supply_vbb->u_volt);
245
246 /* Scaling up? Scale voltage before frequency */
247 if (freq > old_freq) {
248 /* Regulator not available for device */
249
> 250 dev_dbg(dev, "vbb pre %luuV[min %luuV max %luuV]\n",
251 new_supply_vbb->u_volt, new_supply_vbb->u_volt_min,
252 new_supply_vbb->u_volt_max);
253
254 ret = regulator_set_voltage_triplet(vbb_reg,
255 new_supply_vbb->u_volt_min,
256 new_supply_vbb->u_volt,
257 new_supply_vbb->u_volt_max);
258 if (ret) {

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip