Hi Martin, [auto build test ERROR on next-20160825] [also build test ERROR on v4.8-rc5] [cannot apply to robh/for-next net-next/master net/master v4.8-rc4 v4.8-rc3 v4.8-rc2] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Martin-Blumenstingl/meson-Meson8b-and-GXBB-DWMAC-glue-driver/20160905-023130 config: sparc64-allyesconfig (attached as .config) compiler: sparc64-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 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=sparc64 All error/warnings (new ones prefixed by >>): >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:63:18: error: field 'm250_mux' has incomplete type struct clk_mux m250_mux; ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:67:21: error: field 'm250_div' has incomplete type struct clk_divider m250_div; ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:70:21: error: field 'm25_div' has incomplete type struct clk_divider m25_div; ^ drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c: In function 'meson8b_init_clk': >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:88:23: error: storage size of 'init' isn't known struct clk_init_data init; ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:94:30: error: array type has incomplete element type 'struct clk_div_table' static struct clk_div_table clk_25m_div_table[] = { ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:95:5: error: field name not in record or union initializer { .val = 0, .div = 5 }, ^ drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:95:5: note: (near initialization for 'clk_25m_div_table') drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:95:15: error: field name not in record or union initializer { .val = 0, .div = 5 }, ^ drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:95:15: note: (near initialization for 'clk_25m_div_table') drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:96:5: error: field name not in record or union initializer { .val = 1, .div = 10 }, ^ drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:96:5: note: (near initialization for 'clk_25m_div_table') drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:96:15: error: field name not in record or union initializer { .val = 1, .div = 10 }, ^ drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:96:15: note: (near initialization for 'clk_25m_div_table') >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:114:4: error: implicit declaration of function '__clk_get_name' [-Werror=implicit-function-declaration] __clk_get_name(dwmac->m250_mux_parent[i]); ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:113:23: warning: assignment makes pointer from integer without a cast [-Wint-conversion] mux_parent_names[i] = ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:120:14: error: 'clk_mux_ops' undeclared (first use in this function) init.ops = &clk_mux_ops; ^ drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:120:14: note: each undeclared identifier is reported only once for each function it appears in >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:132:24: error: implicit declaration of function 'devm_clk_register' [-Werror=implicit-function-declaration] dwmac->m250_mux_clk = devm_clk_register(dev, &dwmac->m250_mux.hw); ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:139:14: error: 'clk_divider_ops' undeclared (first use in this function) init.ops = &clk_divider_ops; ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:140:15: error: 'CLK_SET_RATE_PARENT' undeclared (first use in this function) init.flags = CLK_SET_RATE_PARENT; ^ drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:141:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] clk_div_parents[0] = __clk_get_name(dwmac->m250_mux_clk); ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:149:26: error: 'CLK_DIVIDER_ONE_BASED' undeclared (first use in this function) dwmac->m250_div.flags = CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO; ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:149:50: error: 'CLK_DIVIDER_ALLOW_ZERO' undeclared (first use in this function) dwmac->m250_div.flags = CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO; ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:159:15: error: 'CLK_IS_BASIC' undeclared (first use in this function) init.flags = CLK_IS_BASIC | CLK_SET_RATE_PARENT; ^ drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:160:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] clk_div_parents[0] = __clk_get_name(dwmac->m250_div_clk); ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:94:30: warning: unused variable 'clk_25m_div_table' [-Wunused-variable] static struct clk_div_table clk_25m_div_table[] = { ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c:88:23: warning: unused variable 'init' [-Wunused-variable] struct clk_init_data init; ^ cc1: some warnings being treated as errors vim +/m250_mux +63 drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c 57 struct platform_device *pdev; 58 59 void __iomem *regs; 60 61 phy_interface_t phy_mode; 62 > 63 struct clk_mux m250_mux; 64 struct clk *m250_mux_clk; 65 struct clk *m250_mux_parent[MUX_CLK_NUM_PARENTS]; 66 > 67 struct clk_divider m250_div; 68 struct clk *m250_div_clk; 69 > 70 struct clk_divider m25_div; 71 struct clk *m25_div_clk; 72 }; 73 74 static void meson8b_dwmac_mask_bits(struct meson8b_dwmac *dwmac, u32 reg, 75 u32 mask, u32 value) 76 { 77 u32 data; 78 79 data = readl(dwmac->regs + reg); 80 data &= ~mask; 81 data |= (value & mask); 82 83 writel(data, dwmac->regs + reg); 84 } 85 86 static int meson8b_init_clk(struct meson8b_dwmac *dwmac) 87 { > 88 struct clk_init_data init; 89 int i, ret; 90 struct device *dev = &dwmac->pdev->dev; 91 char clk_name[32]; 92 const char *clk_div_parents[1]; 93 const char *mux_parent_names[MUX_CLK_NUM_PARENTS]; > 94 static struct clk_div_table clk_25m_div_table[] = { > 95 { .val = 0, .div = 5 }, > 96 { .val = 1, .div = 10 }, 97 { /* sentinel */ }, 98 }; 99 100 /* get the mux parents from DT */ 101 for (i = 0; i < MUX_CLK_NUM_PARENTS; i++) { 102 char name[16]; 103 104 snprintf(name, sizeof(name), "clkin%d", i); 105 dwmac->m250_mux_parent[i] = devm_clk_get(dev, name); 106 if (IS_ERR(dwmac->m250_mux_parent[i])) { 107 ret = PTR_ERR(dwmac->m250_mux_parent[i]); 108 if (ret != -EPROBE_DEFER) 109 dev_err(dev, "Missing clock %s\n", name); 110 return ret; 111 } 112 > 113 mux_parent_names[i] = > 114 __clk_get_name(dwmac->m250_mux_parent[i]); 115 } 116 117 /* create the m250_mux */ 118 snprintf(clk_name, sizeof(clk_name), "%s#m250_sel", dev_name(dev)); 119 init.name = clk_name; > 120 init.ops = &clk_mux_ops; 121 init.flags = 0; 122 init.parent_names = mux_parent_names; 123 init.num_parents = MUX_CLK_NUM_PARENTS; 124 125 dwmac->m250_mux.reg = dwmac->regs + PRG_ETH0; 126 dwmac->m250_mux.shift = PRG_ETH0_CLK_M250_SEL_SHIFT; 127 dwmac->m250_mux.mask = PRG_ETH0_CLK_M250_SEL_MASK; 128 dwmac->m250_mux.flags = 0; 129 dwmac->m250_mux.table = NULL; 130 dwmac->m250_mux.hw.init = &init; 131 > 132 dwmac->m250_mux_clk = devm_clk_register(dev, &dwmac->m250_mux.hw); 133 if (WARN_ON(IS_ERR(dwmac->m250_mux_clk))) 134 return PTR_ERR(dwmac->m250_mux_clk); 135 136 /* create the m250_div */ 137 snprintf(clk_name, sizeof(clk_name), "%s#m250_div", dev_name(dev)); 138 init.name = devm_kstrdup(dev, clk_name, GFP_KERNEL); > 139 init.ops = &clk_divider_ops; > 140 init.flags = CLK_SET_RATE_PARENT; > 141 clk_div_parents[0] = __clk_get_name(dwmac->m250_mux_clk); 142 init.parent_names = clk_div_parents; 143 init.num_parents = ARRAY_SIZE(clk_div_parents); 144 145 dwmac->m250_div.reg = dwmac->regs + PRG_ETH0; 146 dwmac->m250_div.shift = PRG_ETH0_CLK_M250_DIV_SHIFT; 147 dwmac->m250_div.width = PRG_ETH0_CLK_M250_DIV_WIDTH; 148 dwmac->m250_div.hw.init = &init; > 149 dwmac->m250_div.flags = CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO; 150 151 dwmac->m250_div_clk = devm_clk_register(dev, &dwmac->m250_div.hw); 152 if (WARN_ON(IS_ERR(dwmac->m250_div_clk))) 153 return PTR_ERR(dwmac->m250_div_clk); 154 155 /* create the m25_div */ 156 snprintf(clk_name, sizeof(clk_name), "%s#m25_div", dev_name(dev)); 157 init.name = devm_kstrdup(dev, clk_name, GFP_KERNEL); 158 init.ops = &clk_divider_ops; > 159 init.flags = CLK_IS_BASIC | CLK_SET_RATE_PARENT; 160 clk_div_parents[0] = __clk_get_name(dwmac->m250_div_clk); 161 init.parent_names = clk_div_parents; 162 init.num_parents = ARRAY_SIZE(clk_div_parents); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data