[alsa-devel] [asoc:for-5.2 73/82] sound/soc/codecs/tlv320aic32x4-clk.c:258:2: error: unknown field 'prepare' specified in initializer
kbuild test robot
lkp at intel.com
Mon Mar 25 22:42:24 CET 2019
tree: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.2
head: 6d56ee1550b8a81bc63c80051ff78d8d704b09ba
commit: 514b044cba667e4b7c383ec79b42b997e624b91d [73/82] ASoC: tlv320aic32x4: Model PLL in CCF
config: openrisc-allmodconfig (attached as .config)
compiler: or1k-linux-gcc (GCC) 6.0.0 20160327 (experimental)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 514b044cba667e4b7c383ec79b42b997e624b91d
# save the attached .config to linux build tree
make.cross ARCH=openrisc
All errors (new ones prefixed by >>):
sound/soc/codecs/tlv320aic32x4-clk.c:19:16: error: field 'hw' has incomplete type
struct clk_hw hw;
^~
In file included from include/linux/init.h:5:0,
from include/linux/io.h:22,
from include/linux/clk-provider.h:9,
from sound/soc/codecs/tlv320aic32x4-clk.c:10:
sound/soc/codecs/tlv320aic32x4-clk.c: In function 'clk_aic32x4_pll_prepare':
include/linux/kernel.h:979:32: error: dereferencing pointer to incomplete type 'struct clk_hw'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~
include/linux/compiler.h:324:9: note: in definition of macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
include/linux/compiler.h:344:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:979:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~~~~~~~~~~~
include/linux/kernel.h:979:20: note: in expansion of macro '__same_type'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:17:29: note: in expansion of macro 'container_of'
#define to_clk_aic32x4(_hw) container_of(_hw, struct clk_aic32x4, hw)
^~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:49:28: note: in expansion of macro 'to_clk_aic32x4'
struct clk_aic32x4 *pll = to_clk_aic32x4(hw);
^~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c: At top level:
sound/soc/codecs/tlv320aic32x4-clk.c:257:21: error: variable 'aic32x4_pll_ops' has initializer but incomplete type
static const struct clk_ops aic32x4_pll_ops = {
^~~~~~~
>> sound/soc/codecs/tlv320aic32x4-clk.c:258:2: error: unknown field 'prepare' specified in initializer
.prepare = clk_aic32x4_pll_prepare,
^
sound/soc/codecs/tlv320aic32x4-clk.c:258:13: warning: excess elements in struct initializer
.prepare = clk_aic32x4_pll_prepare,
^~~~~~~~~~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:258:13: note: (near initialization for 'aic32x4_pll_ops')
>> sound/soc/codecs/tlv320aic32x4-clk.c:259:2: error: unknown field 'unprepare' specified in initializer
.unprepare = clk_aic32x4_pll_unprepare,
^
sound/soc/codecs/tlv320aic32x4-clk.c:259:15: warning: excess elements in struct initializer
.unprepare = clk_aic32x4_pll_unprepare,
^~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:259:15: note: (near initialization for 'aic32x4_pll_ops')
>> sound/soc/codecs/tlv320aic32x4-clk.c:260:2: error: unknown field 'is_prepared' specified in initializer
.is_prepared = clk_aic32x4_pll_is_prepared,
^
sound/soc/codecs/tlv320aic32x4-clk.c:260:17: warning: excess elements in struct initializer
.is_prepared = clk_aic32x4_pll_is_prepared,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:260:17: note: (near initialization for 'aic32x4_pll_ops')
>> sound/soc/codecs/tlv320aic32x4-clk.c:261:2: error: unknown field 'recalc_rate' specified in initializer
.recalc_rate = clk_aic32x4_pll_recalc_rate,
^
sound/soc/codecs/tlv320aic32x4-clk.c:261:17: warning: excess elements in struct initializer
.recalc_rate = clk_aic32x4_pll_recalc_rate,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:261:17: note: (near initialization for 'aic32x4_pll_ops')
>> sound/soc/codecs/tlv320aic32x4-clk.c:262:2: error: unknown field 'round_rate' specified in initializer
.round_rate = clk_aic32x4_pll_round_rate,
^
sound/soc/codecs/tlv320aic32x4-clk.c:262:16: warning: excess elements in struct initializer
.round_rate = clk_aic32x4_pll_round_rate,
^~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:262:16: note: (near initialization for 'aic32x4_pll_ops')
>> sound/soc/codecs/tlv320aic32x4-clk.c:263:2: error: unknown field 'set_rate' specified in initializer
.set_rate = clk_aic32x4_pll_set_rate,
^
sound/soc/codecs/tlv320aic32x4-clk.c:263:14: warning: excess elements in struct initializer
.set_rate = clk_aic32x4_pll_set_rate,
^~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:263:14: note: (near initialization for 'aic32x4_pll_ops')
>> sound/soc/codecs/tlv320aic32x4-clk.c:264:2: error: unknown field 'set_parent' specified in initializer
.set_parent = clk_aic32x4_pll_set_parent,
^
sound/soc/codecs/tlv320aic32x4-clk.c:264:16: warning: excess elements in struct initializer
.set_parent = clk_aic32x4_pll_set_parent,
^~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:264:16: note: (near initialization for 'aic32x4_pll_ops')
>> sound/soc/codecs/tlv320aic32x4-clk.c:265:2: error: unknown field 'get_parent' specified in initializer
.get_parent = clk_aic32x4_pll_get_parent,
^
sound/soc/codecs/tlv320aic32x4-clk.c:265:16: warning: excess elements in struct initializer
.get_parent = clk_aic32x4_pll_get_parent,
^~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:265:16: note: (near initialization for 'aic32x4_pll_ops')
sound/soc/codecs/tlv320aic32x4-clk.c: In function 'aic32x4_register_clk':
sound/soc/codecs/tlv320aic32x4-clk.c:282:23: error: storage size of 'init' isn't known
struct clk_init_data init;
^~~~
>> sound/soc/codecs/tlv320aic32x4-clk.c:302:9: error: implicit declaration of function 'devm_clk_register' [-Werror=implicit-function-declaration]
return devm_clk_register(dev, &priv->hw);
^~~~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c:282:23: warning: unused variable 'init' [-Wunused-variable]
struct clk_init_data init;
^~~~
sound/soc/codecs/tlv320aic32x4-clk.c: At top level:
sound/soc/codecs/tlv320aic32x4-clk.c:257:29: error: storage size of 'aic32x4_pll_ops' isn't known
static const struct clk_ops aic32x4_pll_ops = {
^~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic32x4-clk.c: In function 'aic32x4_register_clk':
sound/soc/codecs/tlv320aic32x4-clk.c:303:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
cc1: some warnings being treated as errors
vim +/prepare +258 sound/soc/codecs/tlv320aic32x4-clk.c
255
256
257 static const struct clk_ops aic32x4_pll_ops = {
> 258 .prepare = clk_aic32x4_pll_prepare,
> 259 .unprepare = clk_aic32x4_pll_unprepare,
> 260 .is_prepared = clk_aic32x4_pll_is_prepared,
> 261 .recalc_rate = clk_aic32x4_pll_recalc_rate,
> 262 .round_rate = clk_aic32x4_pll_round_rate,
> 263 .set_rate = clk_aic32x4_pll_set_rate,
> 264 .set_parent = clk_aic32x4_pll_set_parent,
> 265 .get_parent = clk_aic32x4_pll_get_parent,
266 };
267
268 static struct aic32x4_clkdesc aic32x4_clkdesc_array[] = {
269 {
270 .name = "pll",
271 .parent_names =
272 (const char* []) { "mclk", "bclk", "gpio", "din" },
273 .num_parents = 4,
274 .ops = &aic32x4_pll_ops,
275 .reg = 0,
276 },
277 };
278
279 static struct clk *aic32x4_register_clk(struct device *dev,
280 struct aic32x4_clkdesc *desc)
281 {
282 struct clk_init_data init;
283 struct clk_aic32x4 *priv;
284 const char *devname = dev_name(dev);
285
286 init.ops = desc->ops;
287 init.name = desc->name;
288 init.parent_names = desc->parent_names;
289 init.num_parents = desc->num_parents;
290 init.flags = 0;
291
292 priv = devm_kzalloc(dev, sizeof(struct clk_aic32x4), GFP_KERNEL);
293 if (priv == NULL)
294 return (struct clk *) -ENOMEM;
295
296 priv->dev = dev;
297 priv->hw.init = &init;
298 priv->regmap = dev_get_regmap(dev, NULL);
299 priv->reg = desc->reg;
300
301 clk_hw_register_clkdev(&priv->hw, desc->name, devname);
> 302 return devm_clk_register(dev, &priv->hw);
303 }
304
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 48327 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20190326/da7c487d/attachment-0001.gz>
More information about the Alsa-devel
mailing list