> + ret = mlxbf_i2c_init_resource(pdev, &priv->smbus, > + MLXBF_I2C_SMBUS_RES); Did you maybe forget to check 'ret' here? Yes will do! > + priv->timer->io = priv->smbus->io; > + priv->mst->io = priv->smbus->io + MLXBF_I2C_MST_ADDR_OFFSET; > + priv->slv->io = priv->smbus->io + MLXBF_I2C_SLV_ADDR_OFFSET;