Hello Linus Walleij,

The patch 5fc537bfd000: "drm/mcde: Add new driver for ST-Ericsson
MCDE" from May 24, 2019, leads to the following static checker
warning:

        drivers/gpu/drm/mcde/mcde_dsi.c:917 mcde_dsi_bind()
        warn: 'bridge' isn't an ERR_PTR

drivers/gpu/drm/mcde/mcde_dsi.c
   882          /* Obtain the clocks */
   883          d->hs_clk = devm_clk_get(dev, "hs");
   884          if (IS_ERR(d->hs_clk)) {
   885                  dev_err(dev, "unable to get HS clock\n");
   886                  return PTR_ERR(d->hs_clk);
   887          }
   888  
   889          d->lp_clk = devm_clk_get(dev, "lp");
   890          if (IS_ERR(d->lp_clk)) {
   891                  dev_err(dev, "unable to get LP clock\n");
   892                  return PTR_ERR(d->lp_clk);
   893          }
   894  
   895          /* Assert RESET through the PRCMU, active low */
   896          /* FIXME: which DSI block? */
   897          regmap_update_bits(d->prcmu, PRCM_DSI_SW_RESET,
   898                             PRCM_DSI_SW_RESET_DSI0_SW_RESETN, 0);
   899  
   900          usleep_range(100, 200);
   901  
   902          /* De-assert RESET again */
   903          regmap_update_bits(d->prcmu, PRCM_DSI_SW_RESET,
   904                             PRCM_DSI_SW_RESET_DSI0_SW_RESETN,
   905                             PRCM_DSI_SW_RESET_DSI0_SW_RESETN);
   906  
   907          /* Start up the hardware */
   908          mcde_dsi_start(d);
   909  
   910          /* Look for a panel as a child to this node */
   911          for_each_available_child_of_node(dev->of_node, child) {
   912                  panel = of_drm_find_panel(child);
   913                  if (IS_ERR(panel)) {
   914                          dev_err(dev, "failed to find panel try bridge 
(%lu)\n",
   915                                  PTR_ERR(panel));
   916                          bridge = of_drm_find_bridge(child);
   917                          if (IS_ERR(bridge)) {

of_drm_find_bridge() returns NULL on error, not error pointers.

   918                                  dev_err(dev, "failed to find bridge 
(%lu)\n",
   919                                          PTR_ERR(bridge));
                                                ^^^^^^^^^^^^^^^
   920                                  return PTR_ERR(bridge);
                                               ^^^^^^^^^^^^^^^
Should this be -EPROBEDEFER?  I'm not sure of the rules.

   921                          }
   922                  }
   923          }

regards,
dan carpenter
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to