Hello Théo Lebrun, Commit 3c30cc26df0a ("gpio: nomadik: support mobileye,eyeq5-gpio") from Feb 28, 2024 (linux-next), leads to the following Smatch static checker warning: drivers/pinctrl/nomadik/pinctrl-nomadik.c:1233 nmk_pinctrl_probe() error: 'nmk_chip' dereferencing possible ERR_PTR() drivers/pinctrl/nomadik/pinctrl-nomadik.c 1211 /* 1212 * Since we depend on the GPIO chips to provide clock and register base 1213 * for the pin control operations, make sure that we have these 1214 * populated before we continue. Follow the phandles to instantiate 1215 * them. The GPIO portion of the actual hardware may be probed before 1216 * or after this point: it shouldn't matter as the APIs are orthogonal. 1217 */ 1218 for (i = 0; i < NMK_MAX_BANKS; i++) { 1219 struct fwnode_handle *gpio_fwnode; 1220 struct nmk_gpio_chip *nmk_chip; 1221 1222 gpio_fwnode = fwnode_find_reference(fwnode, "nomadik-gpio-chips", i); 1223 if (IS_ERR(gpio_fwnode)) 1224 continue; 1225 1226 dev_info(&pdev->dev, "populate NMK GPIO %d \"%pfwP\"\n", i, gpio_fwnode); 1227 nmk_chip = nmk_gpio_populate_chip(gpio_fwnode, pdev); 1228 if (IS_ERR(nmk_chip)) ^^^^^^^^ Error pointer. 1229 dev_err(&pdev->dev, 1230 "could not populate nmk chip struct - continue anyway\n"); 1231 fwnode_handle_put(gpio_fwnode); 1232 /* We are NOT compatible with mobileye,eyeq5-gpio. */ --> 1233 BUG_ON(nmk_chip->is_mobileye_soc); ^^^^^^^^^^^^^^^^^^^^^^^^^ Unchecked dereference 1234 } 1235 1236 prcm_fwnode = fwnode_find_reference(fwnode, "prcm", 0); regards, dan carpenter