Hello Uwe Kleine-König, The patch d98bdd3a5b50: "i2c: imx: Make sure to unregister adapter on remove()" from Jul 20, 2022, leads to the following Smatch static checker warning: drivers/i2c/busses/i2c-imx.c:1586 i2c_imx_remove() warn: pm_runtime_get_sync() also returns 1 on success drivers/i2c/busses/i2c-imx.c 1570 static int i2c_imx_remove(struct platform_device *pdev) 1571 { 1572 struct imx_i2c_struct *i2c_imx = platform_get_drvdata(pdev); 1573 int irq, ret; 1574 1575 ret = pm_runtime_get_sync(&pdev->dev); 1576 1577 hrtimer_cancel(&i2c_imx->slave_timer); 1578 1579 /* remove adapter */ 1580 dev_dbg(&i2c_imx->adapter.dev, "adapter removed\n"); 1581 i2c_del_adapter(&i2c_imx->adapter); 1582 1583 if (i2c_imx->dma) 1584 i2c_imx_dma_free(i2c_imx); 1585 --> 1586 if (ret == 0) { Probably this should be ret >= 0? 1587 /* setup chip registers to defaults */ 1588 imx_i2c_write_reg(0, i2c_imx, IMX_I2C_IADR); 1589 imx_i2c_write_reg(0, i2c_imx, IMX_I2C_IFDR); 1590 imx_i2c_write_reg(0, i2c_imx, IMX_I2C_I2CR); 1591 imx_i2c_write_reg(0, i2c_imx, IMX_I2C_I2SR); 1592 clk_disable(i2c_imx->clk); 1593 } 1594 1595 clk_notifier_unregister(i2c_imx->clk, &i2c_imx->clk_change_nb); 1596 irq = platform_get_irq(pdev, 0); 1597 if (irq >= 0) 1598 free_irq(irq, i2c_imx); 1599 1600 clk_unprepare(i2c_imx->clk); 1601 1602 pm_runtime_put_noidle(&pdev->dev); 1603 pm_runtime_disable(&pdev->dev); 1604 1605 return 0; 1606 } regards, dan carpenter