Hi zhong, Thank you for the patch! Yet something to improve: [auto build test ERROR on linuxtv-media/master] [also build test ERROR on v4.19-rc4 next-20180918] [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/zhong-jiang/media-dvb-frontends-Use-kmemdup-instead-of-duplicating-its-function/20180919-063244 base: git://linuxtv.org/media_tree.git master config: i386-randconfig-x002-201837 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_probe': >> drivers/media/dvb-frontends/lgdt3306a.c:2208:2: error: 'onfig' undeclared (first use in this function); did you mean 'config'? onfig = kmemdup(client->dev.platform_data, ^~~~~ config drivers/media/dvb-frontends/lgdt3306a.c:2208:2: note: each undeclared identifier is reported only once for each function it appears in vim +2208 drivers/media/dvb-frontends/lgdt3306a.c 2199 2200 static int lgdt3306a_probe(struct i2c_client *client, 2201 const struct i2c_device_id *id) 2202 { 2203 struct lgdt3306a_config *config; 2204 struct lgdt3306a_state *state; 2205 struct dvb_frontend *fe; 2206 int ret; 2207 > 2208 onfig = kmemdup(client->dev.platform_data, 2209 sizeof(struct lgdt3306a_config), GFP_KERNEL); 2210 if (config == NULL) { 2211 ret = -ENOMEM; 2212 goto fail; 2213 } 2214 2215 config->i2c_addr = client->addr; 2216 fe = lgdt3306a_attach(config, client->adapter); 2217 if (fe == NULL) { 2218 ret = -ENODEV; 2219 goto err_fe; 2220 } 2221 2222 i2c_set_clientdata(client, fe->demodulator_priv); 2223 state = fe->demodulator_priv; 2224 state->frontend.ops.release = NULL; 2225 2226 /* create mux i2c adapter for tuner */ 2227 state->muxc = i2c_mux_alloc(client->adapter, &client->dev, 2228 1, 0, I2C_MUX_LOCKED, 2229 lgdt3306a_select, lgdt3306a_deselect); 2230 if (!state->muxc) { 2231 ret = -ENOMEM; 2232 goto err_kfree; 2233 } 2234 state->muxc->priv = client; 2235 ret = i2c_mux_add_adapter(state->muxc, 0, 0, 0); 2236 if (ret) 2237 goto err_kfree; 2238 2239 /* create dvb_frontend */ 2240 fe->ops.i2c_gate_ctrl = NULL; 2241 *config->i2c_adapter = state->muxc->adapter[0]; 2242 *config->fe = fe; 2243 2244 dev_info(&client->dev, "LG Electronics LGDT3306A successfully identified\n"); 2245 2246 return 0; 2247 2248 err_kfree: 2249 kfree(state); 2250 err_fe: 2251 kfree(config); 2252 fail: 2253 dev_warn(&client->dev, "probe failed = %d\n", ret); 2254 return ret; 2255 } 2256 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation