On 12 September 2012 10:25, Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote: > On Wed, Sep 12, 2012 at 10:17:55AM +0530, Sachin Kamat wrote: >> Hi Fengguang, >> >> On 12 September 2012 10:02, Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote: >> > Hi Sachin, >> > >> > On Wed, Sep 12, 2012 at 09:59:38AM +0530, Sachin Kamat wrote: >> >> Hi Fengguang, >> >> >> >> Thanks for bringing this to my notice. I compile tested this patch >> >> using the latest (11 Sep 2012) linux-next tree. >> >> Unfortunately I cannot not understand the meaning of these smatch warnings. >> >> Could you please simplify them for me? >> > >> > I think the warnings can be quieted by >> > >> > - return -ENODEV; >> > + return err; >> > >> >> The original code was something like this: >> >> err = -ENODEV; >> return err; >> >> which i simplified to (as a result of using devm_*) >> return -ENODEV; >> >> Hence technically i don't think I changed anything. Do you want me to >> revert this change back? > > I think the intention of the warning is that the err value from > lm3530_init_registers() can be directly returned, like this: > > err = lm3530_init_registers(drvdata); > if (err < 0) { > dev_err(&client->dev, > "Register Init failed: %d\n", err); > - return -ENODEV; > + return err; > } > > That will remove the assumption that lm3530_init_registers() always > returns -ENODEV on error. Oh OK. Now I got it :) Thanks for the clarification. Since this was a prevalent issue with this driver (and maybe with other driver too?), I will send a patch to fix this up. > > Thanks, > Fengguang > >> >> On 12 September 2012 09:50, Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote: >> >> > Hi Sachin, >> >> > >> >> > FYI, there are new smatch warnings show up in >> >> > >> >> > tree: git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds.git for-next >> >> > head: 2829515a5fb5ceccb4021d819c3d7d0ecaab86eb >> >> > commit: 2829515a5fb5ceccb4021d819c3d7d0ecaab86eb [18/18] leds-lm3530: Use devm_regulator_get function >> >> > >> >> > All smatch warnings: >> >> > >> >> > drivers/leds/leds-lm3530.c:361 lm3530_mode_set() info: why not propagate 'mode' from lm3530_get_mode_from_str() instead of -22? >> >> > + drivers/leds/leds-lm3530.c:432 lm3530_probe() info: why not propagate 'err' from lm3530_init_registers() instead of -19? >> >> > + drivers/leds/leds-lm3530.c:438 lm3530_probe() info: why not propagate 'err' from led_classdev_register() instead of -19? >> >> > >> >> > vim +432 drivers/leds/leds-lm3530.c >> >> > 422 err = PTR_ERR(drvdata->regulator); >> >> > 423 drvdata->regulator = NULL; >> >> > 424 return err; >> >> > 425 } >> >> > 426 >> >> > 427 if (drvdata->pdata->brt_val) { >> >> > 428 err = lm3530_init_registers(drvdata); >> >> > 429 if (err < 0) { >> >> > 430 dev_err(&client->dev, >> >> > 431 "Register Init failed: %d\n", err); >> >> > > 432 return -ENODEV; >> >> > 433 } >> >> > 434 } >> >> > 435 err = led_classdev_register(&client->dev, &drvdata->led_dev); >> >> > 436 if (err < 0) { >> >> > 437 dev_err(&client->dev, "Register led class failed: %d\n", err); >> >> > 438 return -ENODEV; >> >> > 439 } >> >> > 440 >> >> > 441 err = device_create_file(drvdata->led_dev.dev, &dev_attr_mode); >> >> > 442 if (err < 0) { >> >> > >> >> > --- >> >> > 0-DAY kernel build testing backend Open Source Technology Centre >> >> > Fengguang Wu <wfg@xxxxxxxxxxxxxxx> Intel Corporation >> >> >> >> >> >> >> >> -- >> >> With warm regards, >> >> Sachin >> >> >> >> -- >> With warm regards, >> Sachin -- With warm regards, Sachin -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html