Hi Yangbo, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.16-rc6 next-20180323] [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/Yangbo-Lu/mmc-Kconfig-select-QorIQ-clock-driver-for-eSDHC/20180325-133738 config: powerpc-allmodconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc All error/warnings (new ones prefixed by >>): warning: (QORIQ_CPUFREQ && MMC_SDHCI_OF_ESDHC) selects CLK_QORIQ which has unmet direct dependencies (COMMON_CLK && (PPC_E500MC || ARM || ARM64 || COMPILE_TEST) && OF) >> drivers/clk/clk-qoriq.c:697:16: error: field 'hw' has incomplete type struct clk_hw hw; ^~ In file included from include/linux/err.h:5:0, from include/linux/clk.h:15, from drivers/clk/clk-qoriq.c:13: drivers/clk/clk-qoriq.c: In function 'mux_set_parent': include/linux/kernel.h:931:32: error: dereferencing pointer to incomplete type 'struct clk_hw' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~ include/linux/compiler.h:316:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:339:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:45:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:931:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:931:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~ >> drivers/clk/clk-qoriq.c:706:27: note: in expansion of macro 'container_of' #define to_mux_hwclock(p) container_of(p, struct mux_hwclock, hw) ^~~~~~~~~~~~ >> drivers/clk/clk-qoriq.c:712:28: note: in expansion of macro 'to_mux_hwclock' struct mux_hwclock *hwc = to_mux_hwclock(hw); ^~~~~~~~~~~~~~ drivers/clk/clk-qoriq.c: At top level: >> drivers/clk/clk-qoriq.c:741:21: error: variable 'cmux_ops' has initializer but incomplete type static const struct clk_ops cmux_ops = { ^~~~~~~ >> drivers/clk/clk-qoriq.c:742:3: error: 'const struct clk_ops' has no member named 'get_parent' .get_parent = mux_get_parent, ^~~~~~~~~~ >> drivers/clk/clk-qoriq.c:742:16: warning: excess elements in struct initializer .get_parent = mux_get_parent, ^~~~~~~~~~~~~~ drivers/clk/clk-qoriq.c:742:16: note: (near initialization for 'cmux_ops') >> drivers/clk/clk-qoriq.c:743:3: error: 'const struct clk_ops' has no member named 'set_parent' .set_parent = mux_set_parent, ^~~~~~~~~~ drivers/clk/clk-qoriq.c:743:16: warning: excess elements in struct initializer .set_parent = mux_set_parent, ^~~~~~~~~~~~~~ drivers/clk/clk-qoriq.c:743:16: note: (near initialization for 'cmux_ops') >> drivers/clk/clk-qoriq.c:750:21: error: variable 'hwaccel_ops' has initializer but incomplete type static const struct clk_ops hwaccel_ops = { ^~~~~~~ drivers/clk/clk-qoriq.c:751:3: error: 'const struct clk_ops' has no member named 'get_parent' .get_parent = mux_get_parent, ^~~~~~~~~~ drivers/clk/clk-qoriq.c:751:16: warning: excess elements in struct initializer .get_parent = mux_get_parent, ^~~~~~~~~~~~~~ drivers/clk/clk-qoriq.c:751:16: note: (near initialization for 'hwaccel_ops') drivers/clk/clk-qoriq.c: In function 'create_mux_common': >> drivers/clk/clk-qoriq.c:777:9: error: variable 'init' has initializer but incomplete type struct clk_init_data init = {}; ^~~~~~~~~~~~~ >> drivers/clk/clk-qoriq.c:777:23: error: storage size of 'init' isn't known struct clk_init_data init = {}; ^~~~ >> drivers/clk/clk-qoriq.c:819:8: error: implicit declaration of function 'clk_register'; did you mean 'bus_register'? [-Werror=implicit-function-declaration] clk = clk_register(NULL, &hwc->hw); ^~~~~~~~~~~~ bus_register drivers/clk/clk-qoriq.c:777:23: warning: unused variable 'init' [-Wunused-variable] struct clk_init_data init = {}; ^~~~ drivers/clk/clk-qoriq.c: In function 'core_mux_init': >> drivers/clk/clk-qoriq.c:946:7: error: implicit declaration of function 'of_clk_add_provider'; did you mean 'of_clk_get_from_provider'? [-Werror=implicit-function-declaration] rc = of_clk_add_provider(np, of_clk_src_simple_get, clk); ^~~~~~~~~~~~~~~~~~~ of_clk_get_from_provider >> drivers/clk/clk-qoriq.c:946:31: error: 'of_clk_src_simple_get' undeclared (first use in this function); did you mean 'ida_simple_get'? rc = of_clk_add_provider(np, of_clk_src_simple_get, clk); ^~~~~~~~~~~~~~~~~~~~~ ida_simple_get drivers/clk/clk-qoriq.c:946:31: note: each undeclared identifier is reported only once for each function it appears in drivers/clk/clk-qoriq.c: In function 'sysclk_from_fixed': >> drivers/clk/clk-qoriq.c:962:9: error: implicit declaration of function 'clk_register_fixed_rate'; did you mean 'clk_register_clkdev'? [-Werror=implicit-function-declaration] return clk_register_fixed_rate(NULL, name, NULL, 0, rate); ^~~~~~~~~~~~~~~~~~~~~~~ clk_register_clkdev >> drivers/clk/clk-qoriq.c:962:9: warning: return makes pointer from integer without a cast [-Wint-conversion] return clk_register_fixed_rate(NULL, name, NULL, 0, rate); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/clk/clk-qoriq.c: In function 'input_clock': >> drivers/clk/clk-qoriq.c:970:15: error: implicit declaration of function '__clk_get_name'; did you mean 'clk_get_rate'? [-Werror=implicit-function-declaration] input_name = __clk_get_name(clk); ^~~~~~~~~~~~~~ clk_get_rate >> drivers/clk/clk-qoriq.c:970:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion] input_name = __clk_get_name(clk); ^ >> drivers/clk/clk-qoriq.c:971:8: error: implicit declaration of function 'clk_register_fixed_factor'; did you mean 'clk_register_clkdev'? [-Werror=implicit-function-declaration] clk = clk_register_fixed_factor(NULL, name, input_name, ^~~~~~~~~~~~~~~~~~~~~~~~~ clk_register_clkdev drivers/clk/clk-qoriq.c:971:6: warning: assignment makes pointer from integer without a cast [-Wint-conversion] clk = clk_register_fixed_factor(NULL, name, input_name, ^ drivers/clk/clk-qoriq.c: In function 'sysclk_init': drivers/clk/clk-qoriq.c:1060:29: error: 'of_clk_src_simple_get' undeclared (first use in this function); did you mean 'ida_simple_get'? of_clk_add_provider(node, of_clk_src_simple_get, clk); ^~~~~~~~~~~~~~~~~~~~~ ida_simple_get drivers/clk/clk-qoriq.c: In function 'create_one_pll': drivers/clk/clk-qoriq.c:1140:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion] clk = clk_register_fixed_factor(NULL, ^ drivers/clk/clk-qoriq.c: In function 'legacy_pll_init': >> drivers/clk/clk-qoriq.c:1182:32: error: dereferencing pointer to incomplete type 'struct clk_onecell_data' onecell_data = kmalloc(sizeof(*onecell_data), GFP_KERNEL); ^~~~~~~~~~~~~ >> drivers/clk/clk-qoriq.c:1200:31: error: 'of_clk_src_onecell_get' undeclared (first use in this function); did you mean 'clk_onecell_data'? rc = of_clk_add_provider(np, of_clk_src_onecell_get, onecell_data); ^~~~~~~~~~~~~~~~~~~~~~ clk_onecell_data drivers/clk/clk-qoriq.c: At top level: --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip