Re: [PATCH v2] rtc: pcf8563: add CLKOUT to common clock framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi Heiko,

[auto build test WARNING on abelloni/rtc-next -- if it's inappropriate base, please suggest rules for selecting the more suitable base]

url:    https://github.com/0day-ci/linux/commits/Heiko-Schocher/rtc-pcf8563-add-CLKOUT-to-common-clock-framework/20151016-160221
config: parisc-allyesconfig (attached as .config)
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=parisc 

All warnings (new ones prefixed by >>):

   drivers/rtc/rtc-pcf8563.c:87:17: error: field 'clkout_hw' has incomplete type
     struct clk_hw  clkout_hw;
                    ^
   In file included from arch/parisc/include/asm/bug.h:4:0,
                    from include/linux/bug.h:4,
                    from include/linux/io.h:23,
                    from include/linux/clk-provider.h:14,
                    from drivers/rtc/rtc-pcf8563.c:17:
   drivers/rtc/rtc-pcf8563.c: In function 'pcf8563_clkout_recalc_rate':
   include/linux/kernel.h:811:48: warning: initialization from incompatible pointer type
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/rtc/rtc-pcf8563.c:406:35: note: in expansion of macro 'container_of'
    #define clkout_hw_to_pcf8563(_hw) container_of(_hw, struct pcf8563, clkout_hw)
                                      ^
   drivers/rtc/rtc-pcf8563.c:418:28: note: in expansion of macro 'clkout_hw_to_pcf8563'
     struct pcf8563 *pcf8563 = clkout_hw_to_pcf8563(hw);
                               ^
>> include/linux/kernel.h:811:48: warning: (near initialization for 'pcf8563')
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/rtc/rtc-pcf8563.c:406:35: note: in expansion of macro 'container_of'
    #define clkout_hw_to_pcf8563(_hw) container_of(_hw, struct pcf8563, clkout_hw)
                                      ^
   drivers/rtc/rtc-pcf8563.c:418:28: note: in expansion of macro 'clkout_hw_to_pcf8563'
     struct pcf8563 *pcf8563 = clkout_hw_to_pcf8563(hw);
                               ^
   drivers/rtc/rtc-pcf8563.c: In function 'pcf8563_clkout_set_rate':
   include/linux/kernel.h:811:48: warning: initialization from incompatible pointer type
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/rtc/rtc-pcf8563.c:406:35: note: in expansion of macro 'container_of'
    #define clkout_hw_to_pcf8563(_hw) container_of(_hw, struct pcf8563, clkout_hw)
                                      ^
   drivers/rtc/rtc-pcf8563.c:445:28: note: in expansion of macro 'clkout_hw_to_pcf8563'
     struct pcf8563 *pcf8563 = clkout_hw_to_pcf8563(hw);
                               ^
>> include/linux/kernel.h:811:48: warning: (near initialization for 'pcf8563')
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/rtc/rtc-pcf8563.c:406:35: note: in expansion of macro 'container_of'
    #define clkout_hw_to_pcf8563(_hw) container_of(_hw, struct pcf8563, clkout_hw)
                                      ^
   drivers/rtc/rtc-pcf8563.c:445:28: note: in expansion of macro 'clkout_hw_to_pcf8563'
     struct pcf8563 *pcf8563 = clkout_hw_to_pcf8563(hw);
                               ^
   drivers/rtc/rtc-pcf8563.c: In function 'pcf8563_clkout_control':
   include/linux/kernel.h:811:48: warning: initialization from incompatible pointer type
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/rtc/rtc-pcf8563.c:406:35: note: in expansion of macro 'container_of'
    #define clkout_hw_to_pcf8563(_hw) container_of(_hw, struct pcf8563, clkout_hw)
                                      ^
   drivers/rtc/rtc-pcf8563.c:469:28: note: in expansion of macro 'clkout_hw_to_pcf8563'
     struct pcf8563 *pcf8563 = clkout_hw_to_pcf8563(hw);
                               ^
>> include/linux/kernel.h:811:48: warning: (near initialization for 'pcf8563')
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/rtc/rtc-pcf8563.c:406:35: note: in expansion of macro 'container_of'
    #define clkout_hw_to_pcf8563(_hw) container_of(_hw, struct pcf8563, clkout_hw)
                                      ^
   drivers/rtc/rtc-pcf8563.c:469:28: note: in expansion of macro 'clkout_hw_to_pcf8563'
     struct pcf8563 *pcf8563 = clkout_hw_to_pcf8563(hw);
                               ^
   drivers/rtc/rtc-pcf8563.c: In function 'pcf8563_clkout_is_prepared':
   include/linux/kernel.h:811:48: warning: initialization from incompatible pointer type
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/rtc/rtc-pcf8563.c:406:35: note: in expansion of macro 'container_of'
    #define clkout_hw_to_pcf8563(_hw) container_of(_hw, struct pcf8563, clkout_hw)
                                      ^
   drivers/rtc/rtc-pcf8563.c:498:28: note: in expansion of macro 'clkout_hw_to_pcf8563'
     struct pcf8563 *pcf8563 = clkout_hw_to_pcf8563(hw);
                               ^
>> include/linux/kernel.h:811:48: warning: (near initialization for 'pcf8563')
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/rtc/rtc-pcf8563.c:406:35: note: in expansion of macro 'container_of'
    #define clkout_hw_to_pcf8563(_hw) container_of(_hw, struct pcf8563, clkout_hw)
                                      ^
   drivers/rtc/rtc-pcf8563.c:498:28: note: in expansion of macro 'clkout_hw_to_pcf8563'
     struct pcf8563 *pcf8563 = clkout_hw_to_pcf8563(hw);
                               ^
   drivers/rtc/rtc-pcf8563.c: At top level:
   drivers/rtc/rtc-pcf8563.c:509:21: error: variable 'pcf8563_clkout_ops' has initializer but incomplete type
    static const struct clk_ops pcf8563_clkout_ops = {
                        ^
   drivers/rtc/rtc-pcf8563.c:510:2: error: unknown field 'prepare' specified in initializer
     .prepare = pcf8563_clkout_prepare,
     ^
   drivers/rtc/rtc-pcf8563.c:510:2: warning: excess elements in struct initializer
>> drivers/rtc/rtc-pcf8563.c:510:2: warning: (near initialization for 'pcf8563_clkout_ops')
   drivers/rtc/rtc-pcf8563.c:511:2: error: unknown field 'unprepare' specified in initializer
     .unprepare = pcf8563_clkout_unprepare,
     ^
   drivers/rtc/rtc-pcf8563.c:511:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-pcf8563.c:511:2: warning: (near initialization for 'pcf8563_clkout_ops')
   drivers/rtc/rtc-pcf8563.c:512:2: error: unknown field 'is_prepared' specified in initializer
     .is_prepared = pcf8563_clkout_is_prepared,
     ^
   drivers/rtc/rtc-pcf8563.c:512:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-pcf8563.c:512:2: warning: (near initialization for 'pcf8563_clkout_ops')
   drivers/rtc/rtc-pcf8563.c:513:2: error: unknown field 'recalc_rate' specified in initializer
     .recalc_rate = pcf8563_clkout_recalc_rate,
     ^
   drivers/rtc/rtc-pcf8563.c:513:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-pcf8563.c:513:2: warning: (near initialization for 'pcf8563_clkout_ops')
   drivers/rtc/rtc-pcf8563.c:514:2: error: unknown field 'round_rate' specified in initializer
     .round_rate = pcf8563_clkout_round_rate,
     ^
   drivers/rtc/rtc-pcf8563.c:514:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-pcf8563.c:514:2: warning: (near initialization for 'pcf8563_clkout_ops')
   drivers/rtc/rtc-pcf8563.c:515:2: error: unknown field 'set_rate' specified in initializer
     .set_rate = pcf8563_clkout_set_rate,
     ^
   drivers/rtc/rtc-pcf8563.c:515:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-pcf8563.c:515:2: warning: (near initialization for 'pcf8563_clkout_ops')
   drivers/rtc/rtc-pcf8563.c: In function 'pcf8563_clkout_register_clk':
   drivers/rtc/rtc-pcf8563.c:523:23: error: storage size of 'init' isn't known
     struct clk_init_data init;
                          ^
   drivers/rtc/rtc-pcf8563.c:535:15: error: 'CLK_IS_ROOT' undeclared (first use in this function)
     init.flags = CLK_IS_ROOT;
                  ^
   drivers/rtc/rtc-pcf8563.c:535:15: note: each undeclared identifier is reported only once for each function it appears in
   drivers/rtc/rtc-pcf8563.c:544:2: error: implicit declaration of function 'clk_register' [-Werror=implicit-function-declaration]
     clk = clk_register(&client->dev, &pcf8563->clkout_hw);
     ^
   drivers/rtc/rtc-pcf8563.c:547: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-pcf8563.c:547: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-pcf8563.c:523:23: warning: unused variable 'init' [-Wunused-variable]
     struct clk_init_data init;
                          ^
   cc1: some warnings being treated as errors

vim +/pcf8563_clkout_ops +510 drivers/rtc/rtc-pcf8563.c

   503		if (ret < 0)
   504			return ret;
   505	
   506		return !!(buf & PCF8563_REG_CLKO_FE);
   507	}
   508	
 > 509	static const struct clk_ops pcf8563_clkout_ops = {
 > 510		.prepare = pcf8563_clkout_prepare,
   511		.unprepare = pcf8563_clkout_unprepare,
   512		.is_prepared = pcf8563_clkout_is_prepared,
   513		.recalc_rate = pcf8563_clkout_recalc_rate,

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

Attachment: .config.gz
Description: Binary data


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux