CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Lars Poeschel <[email protected]>
CC: Miguel Ojeda <[email protected]>
CC: Willy Tarreau <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   0eedceafd3a63fd082743c914853ef4b9247dbe6
commit: 718e05ed92ecac0d9d3954bcc8064527c3ce7565 [2419/9562] auxdisplay: 
Introduce hd44780_common.[ch]
:::::: branch date: 2 days ago
:::::: commit date: 4 weeks ago
compiler: sh4-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/auxdisplay/hd44780.c:254:6: warning: Variable 'ret' is reassigned a 
>> value before the old one has been used. 'break;' missing? 
>> [redundantAssignInSwitch]
    ret = device_property_read_u32(dev, "display-height-chars",
        ^
   drivers/auxdisplay/hd44780.c:185:0: note: Variable 'ret' is reassigned a 
value before the old one has been used. 'break;' missing?
    int ifwidth, ret = -ENOMEM;
   ^
   drivers/auxdisplay/hd44780.c:254:6: note: Variable 'ret' is reassigned a 
value before the old one has been used. 'break;' missing?
    ret = device_property_read_u32(dev, "display-height-chars",
        ^

vim +254 drivers/auxdisplay/hd44780.c

d47d88361feea2 Geert Uytterhoeven 2017-03-10  177  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  178  static int 
hd44780_probe(struct platform_device *pdev)
d47d88361feea2 Geert Uytterhoeven 2017-03-10  179  {
d47d88361feea2 Geert Uytterhoeven 2017-03-10  180       struct device *dev = 
&pdev->dev;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  181       unsigned int i, base;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  182       struct charlcd *lcd;
718e05ed92ecac Lars Poeschel      2020-11-03  183       struct hd44780_common 
*hdc;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  184       struct hd44780 *hd;
718e05ed92ecac Lars Poeschel      2020-11-03  185       int ifwidth, ret = 
-ENOMEM;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  186  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  187       /* Required pins */
d47d88361feea2 Geert Uytterhoeven 2017-03-10  188       ifwidth = 
gpiod_count(dev, "data");
d47d88361feea2 Geert Uytterhoeven 2017-03-10  189       if (ifwidth < 0)
d47d88361feea2 Geert Uytterhoeven 2017-03-10  190               return ifwidth;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  191  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  192       switch (ifwidth) {
d47d88361feea2 Geert Uytterhoeven 2017-03-10  193       case 4:
d47d88361feea2 Geert Uytterhoeven 2017-03-10  194               base = 
PIN_DATA4;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  195               break;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  196       case 8:
d47d88361feea2 Geert Uytterhoeven 2017-03-10  197               base = 
PIN_DATA0;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  198               break;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  199       default:
d47d88361feea2 Geert Uytterhoeven 2017-03-10  200               return -EINVAL;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  201       }
d47d88361feea2 Geert Uytterhoeven 2017-03-10  202  
718e05ed92ecac Lars Poeschel      2020-11-03  203       hdc = 
hd44780_common_alloc();
718e05ed92ecac Lars Poeschel      2020-11-03  204       if (!hdc)
718e05ed92ecac Lars Poeschel      2020-11-03  205               return -ENOMEM;
718e05ed92ecac Lars Poeschel      2020-11-03  206  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  207       lcd = 
charlcd_alloc(sizeof(struct hd44780));
d47d88361feea2 Geert Uytterhoeven 2017-03-10  208       if (!lcd)
718e05ed92ecac Lars Poeschel      2020-11-03  209               goto fail1;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  210  
718e05ed92ecac Lars Poeschel      2020-11-03  211       hd = 
kzalloc(sizeof(struct hd44780), GFP_KERNEL);
718e05ed92ecac Lars Poeschel      2020-11-03  212       if (!hd)
718e05ed92ecac Lars Poeschel      2020-11-03  213               goto fail2;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  214  
718e05ed92ecac Lars Poeschel      2020-11-03  215       hdc->hd44780 = hd;
718e05ed92ecac Lars Poeschel      2020-11-03  216       lcd->drvdata = hdc;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  217       for (i = 0; i < 
ifwidth; i++) {
d47d88361feea2 Geert Uytterhoeven 2017-03-10  218               hd->pins[base + 
i] = devm_gpiod_get_index(dev, "data", i,
d47d88361feea2 Geert Uytterhoeven 2017-03-10  219                               
                          GPIOD_OUT_LOW);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  220               if 
(IS_ERR(hd->pins[base + i])) {
d47d88361feea2 Geert Uytterhoeven 2017-03-10  221                       ret = 
PTR_ERR(hd->pins[base + i]);
718e05ed92ecac Lars Poeschel      2020-11-03  222                       goto 
fail3;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  223               }
d47d88361feea2 Geert Uytterhoeven 2017-03-10  224       }
d47d88361feea2 Geert Uytterhoeven 2017-03-10  225  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  226       hd->pins[PIN_CTRL_E] = 
devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  227       if 
(IS_ERR(hd->pins[PIN_CTRL_E])) {
d47d88361feea2 Geert Uytterhoeven 2017-03-10  228               ret = 
PTR_ERR(hd->pins[PIN_CTRL_E]);
718e05ed92ecac Lars Poeschel      2020-11-03  229               goto fail3;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  230       }
d47d88361feea2 Geert Uytterhoeven 2017-03-10  231  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  232       hd->pins[PIN_CTRL_RS] = 
devm_gpiod_get(dev, "rs", GPIOD_OUT_HIGH);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  233       if 
(IS_ERR(hd->pins[PIN_CTRL_RS])) {
d47d88361feea2 Geert Uytterhoeven 2017-03-10  234               ret = 
PTR_ERR(hd->pins[PIN_CTRL_RS]);
718e05ed92ecac Lars Poeschel      2020-11-03  235               goto fail3;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  236       }
d47d88361feea2 Geert Uytterhoeven 2017-03-10  237  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  238       /* Optional pins */
d47d88361feea2 Geert Uytterhoeven 2017-03-10  239       hd->pins[PIN_CTRL_RW] = 
devm_gpiod_get_optional(dev, "rw",
d47d88361feea2 Geert Uytterhoeven 2017-03-10  240                               
                        GPIOD_OUT_LOW);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  241       if 
(IS_ERR(hd->pins[PIN_CTRL_RW])) {
d47d88361feea2 Geert Uytterhoeven 2017-03-10  242               ret = 
PTR_ERR(hd->pins[PIN_CTRL_RW]);
718e05ed92ecac Lars Poeschel      2020-11-03  243               goto fail3;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  244       }
d47d88361feea2 Geert Uytterhoeven 2017-03-10  245  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  246       hd->pins[PIN_CTRL_BL] = 
devm_gpiod_get_optional(dev, "backlight",
d47d88361feea2 Geert Uytterhoeven 2017-03-10  247                               
                        GPIOD_OUT_LOW);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  248       if 
(IS_ERR(hd->pins[PIN_CTRL_BL])) {
d47d88361feea2 Geert Uytterhoeven 2017-03-10  249               ret = 
PTR_ERR(hd->pins[PIN_CTRL_BL]);
718e05ed92ecac Lars Poeschel      2020-11-03  250               goto fail3;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  251       }
d47d88361feea2 Geert Uytterhoeven 2017-03-10  252  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  253       /* Required properties 
*/
c7c3f096eb5e72 Geert Uytterhoeven 2017-03-23 @254       ret = 
device_property_read_u32(dev, "display-height-chars",
c7c3f096eb5e72 Geert Uytterhoeven 2017-03-23  255                               
       &lcd->height);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  256       if (ret)
718e05ed92ecac Lars Poeschel      2020-11-03  257               goto fail3;
c7c3f096eb5e72 Geert Uytterhoeven 2017-03-23  258       ret = 
device_property_read_u32(dev, "display-width-chars", &lcd->width);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  259       if (ret)
718e05ed92ecac Lars Poeschel      2020-11-03  260               goto fail3;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  261  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  262       /*
d47d88361feea2 Geert Uytterhoeven 2017-03-10  263        * On displays with 
more than two rows, the internal buffer width is
d47d88361feea2 Geert Uytterhoeven 2017-03-10  264        * usually equal to the 
display width
d47d88361feea2 Geert Uytterhoeven 2017-03-10  265        */
d47d88361feea2 Geert Uytterhoeven 2017-03-10  266       if (lcd->height > 2)
d47d88361feea2 Geert Uytterhoeven 2017-03-10  267               lcd->bwidth = 
lcd->width;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  268  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  269       /* Optional properties 
*/
d47d88361feea2 Geert Uytterhoeven 2017-03-10  270       
device_property_read_u32(dev, "internal-buffer-width", &lcd->bwidth);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  271  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  272       lcd->ifwidth = ifwidth;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  273       lcd->ops = ifwidth == 8 
? &hd44780_ops_gpio8 : &hd44780_ops_gpio4;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  274  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  275       ret = 
charlcd_register(lcd);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  276       if (ret)
718e05ed92ecac Lars Poeschel      2020-11-03  277               goto fail3;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  278  
d47d88361feea2 Geert Uytterhoeven 2017-03-10  279       
platform_set_drvdata(pdev, lcd);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  280       return 0;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  281  
718e05ed92ecac Lars Poeschel      2020-11-03  282  fail3:
718e05ed92ecac Lars Poeschel      2020-11-03  283       kfree(hd);
718e05ed92ecac Lars Poeschel      2020-11-03  284  fail2:
718e05ed92ecac Lars Poeschel      2020-11-03  285       kfree(lcd);
718e05ed92ecac Lars Poeschel      2020-11-03  286  fail1:
718e05ed92ecac Lars Poeschel      2020-11-03  287       kfree(hdc);
d47d88361feea2 Geert Uytterhoeven 2017-03-10  288       return ret;
d47d88361feea2 Geert Uytterhoeven 2017-03-10  289  }
d47d88361feea2 Geert Uytterhoeven 2017-03-10  290  

:::::: The code at line 254 was first introduced by commit
:::::: c7c3f096eb5e721d8522ba060fa621ea906ef738 auxdisplay: hd44780: Fix DT 
properties to include units of measurement

:::::: TO: Geert Uytterhoeven <[email protected]>
:::::: CC: Greg Kroah-Hartman <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to