linux-next: build failure after merge of the final tree

From: Stephen Rothwell
Date: Tue Dec 17 2013 - 01:00:15 EST


Hi all,

After merging the final tree, today's linux-next build (powerpc
allyesconfig) failed like this:

drivers/rtc/rtc-hym8563.c:90:17: error: field 'clkout_hw' has incomplete type
struct clk_hw clkout_hw;
^
In file included from include/asm-generic/bug.h:13:0,
from arch/powerpc/include/asm/bug.h:127,
from include/linux/bug.h:4,
from include/linux/thread_info.h:11,
from include/asm-generic/preempt.h:4,
from arch/powerpc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:18,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/linux/stat.h:18,
from include/linux/module.h:10,
from drivers/rtc/rtc-hym8563.c:20:
drivers/rtc/rtc-hym8563.c: In function 'hym8563_clkout_recalc_rate':
include/linux/kernel.h:801:48: warning: initialization from incompatible pointer type [enabled by default]
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
drivers/rtc/rtc-hym8563.c:293:35: note: in expansion of macro 'container_of'
#define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw)
^
drivers/rtc/rtc-hym8563.c:305:28: note: in expansion of macro 'clkout_hw_to_hym8563'
struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw);
^
include/linux/kernel.h:801:48: warning: (near initialization for 'hym8563') [enabled by default]
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
drivers/rtc/rtc-hym8563.c:293:35: note: in expansion of macro 'container_of'
#define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw)
^
drivers/rtc/rtc-hym8563.c:305:28: note: in expansion of macro 'clkout_hw_to_hym8563'
struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw);
^
drivers/rtc/rtc-hym8563.c: In function 'hym8563_clkout_set_rate':
include/linux/kernel.h:801:48: warning: initialization from incompatible pointer type [enabled by default]
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
drivers/rtc/rtc-hym8563.c:293:35: note: in expansion of macro 'container_of'
#define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw)
^
drivers/rtc/rtc-hym8563.c:331:28: note: in expansion of macro 'clkout_hw_to_hym8563'
struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw);
^
include/linux/kernel.h:801:48: warning: (near initialization for 'hym8563') [enabled by default]
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
drivers/rtc/rtc-hym8563.c:293:35: note: in expansion of macro 'container_of'
#define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw)
^
drivers/rtc/rtc-hym8563.c:331:28: note: in expansion of macro 'clkout_hw_to_hym8563'
struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw);
^
drivers/rtc/rtc-hym8563.c: In function 'hym8563_clkout_control':
include/linux/kernel.h:801:48: warning: initialization from incompatible pointer type [enabled by default]
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
drivers/rtc/rtc-hym8563.c:293:35: note: in expansion of macro 'container_of'
#define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw)
^
drivers/rtc/rtc-hym8563.c:352:28: note: in expansion of macro 'clkout_hw_to_hym8563'
struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw);
^
include/linux/kernel.h:801:48: warning: (near initialization for 'hym8563') [enabled by default]
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
drivers/rtc/rtc-hym8563.c:293:35: note: in expansion of macro 'container_of'
#define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw)
^
drivers/rtc/rtc-hym8563.c:352:28: note: in expansion of macro 'clkout_hw_to_hym8563'
struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw);
^
drivers/rtc/rtc-hym8563.c: In function 'hym8563_clkout_is_prepared':
include/linux/kernel.h:801:48: warning: initialization from incompatible pointer type [enabled by default]
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
drivers/rtc/rtc-hym8563.c:293:35: note: in expansion of macro 'container_of'
#define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw)
^
drivers/rtc/rtc-hym8563.c:379:28: note: in expansion of macro 'clkout_hw_to_hym8563'
struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw);
^
include/linux/kernel.h:801:48: warning: (near initialization for 'hym8563') [enabled by default]
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
drivers/rtc/rtc-hym8563.c:293:35: note: in expansion of macro 'container_of'
#define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw)
^
drivers/rtc/rtc-hym8563.c:379:28: note: in expansion of macro 'clkout_hw_to_hym8563'
struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw);
^
drivers/rtc/rtc-hym8563.c: At top level:
drivers/rtc/rtc-hym8563.c:389:14: error: variable 'hym8563_clkout_ops' has initializer but incomplete type
const struct clk_ops hym8563_clkout_ops = {
^
drivers/rtc/rtc-hym8563.c:390:2: error: unknown field 'prepare' specified in initializer
.prepare = hym8563_clkout_prepare,
^
drivers/rtc/rtc-hym8563.c:390:2: warning: excess elements in struct initializer [enabled by default]
drivers/rtc/rtc-hym8563.c:390:2: warning: (near initialization for 'hym8563_clkout_ops') [enabled by default]
drivers/rtc/rtc-hym8563.c:391:2: error: unknown field 'unprepare' specified in initializer
.unprepare = hym8563_clkout_unprepare,
^
drivers/rtc/rtc-hym8563.c:391:2: warning: excess elements in struct initializer [enabled by default]
drivers/rtc/rtc-hym8563.c:391:2: warning: (near initialization for 'hym8563_clkout_ops') [enabled by default]
drivers/rtc/rtc-hym8563.c:392:2: error: unknown field 'is_prepared' specified in initializer
.is_prepared = hym8563_clkout_is_prepared,
^
drivers/rtc/rtc-hym8563.c:392:2: warning: excess elements in struct initializer [enabled by default]
drivers/rtc/rtc-hym8563.c:392:2: warning: (near initialization for 'hym8563_clkout_ops') [enabled by default]
drivers/rtc/rtc-hym8563.c:393:2: error: unknown field 'recalc_rate' specified in initializer
.recalc_rate = hym8563_clkout_recalc_rate,
^
drivers/rtc/rtc-hym8563.c:393:2: warning: excess elements in struct initializer [enabled by default]
drivers/rtc/rtc-hym8563.c:393:2: warning: (near initialization for 'hym8563_clkout_ops') [enabled by default]
drivers/rtc/rtc-hym8563.c:394:2: error: unknown field 'round_rate' specified in initializer
.round_rate = hym8563_clkout_round_rate,
^
drivers/rtc/rtc-hym8563.c:394:2: warning: excess elements in struct initializer [enabled by default]
drivers/rtc/rtc-hym8563.c:394:2: warning: (near initialization for 'hym8563_clkout_ops') [enabled by default]
drivers/rtc/rtc-hym8563.c:395:2: error: unknown field 'set_rate' specified in initializer
.set_rate = hym8563_clkout_set_rate,
^
drivers/rtc/rtc-hym8563.c:395:2: warning: excess elements in struct initializer [enabled by default]
drivers/rtc/rtc-hym8563.c:395:2: warning: (near initialization for 'hym8563_clkout_ops') [enabled by default]
drivers/rtc/rtc-hym8563.c: In function 'hym8563_clkout_register_clk':
drivers/rtc/rtc-hym8563.c:403:23: error: storage size of 'init' isn't known
struct clk_init_data init;
^
drivers/rtc/rtc-hym8563.c:413:15: error: 'CLK_IS_ROOT' undeclared (first use in this function)
init.flags = CLK_IS_ROOT;
^
drivers/rtc/rtc-hym8563.c:413:15: note: each undeclared identifier is reported only once for each function it appears in
drivers/rtc/rtc-hym8563.c:419:2: error: implicit declaration of function 'clk_register' [-Werror=implicit-function-declaration]
clk = clk_register(&client->dev, &hym8563->clkout_hw);
^
drivers/rtc/rtc-hym8563.c:422:3: error: implicit declaration of function 'of_clk_add_provider' [-Werror=implicit-function-declaration]
of_clk_add_provider(node, of_clk_src_simple_get, clk);
^
drivers/rtc/rtc-hym8563.c:422:29: error: 'of_clk_src_simple_get' undeclared (first use in this function)
of_clk_add_provider(node, of_clk_src_simple_get, clk);
^
drivers/rtc/rtc-hym8563.c:403:23: warning: unused variable 'init' [-Wunused-variable]
struct clk_init_data init;
^

Caused by commit 34ef6d7fe467 ("rtc: add hym8563 rtc-driver") from the
akpm-current tree. Probably some missing include(s).

I just reverted that commit for today.
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

Attachment: pgp00000.pgp
Description: PGP signature