Hi Russell, On Tue, Aug 20, 2024 at 7:22 PM Russell King (Oracle) <linux@xxxxxxxxxxxxxxx> wrote: > This is where: > > ret = regmap_bulk_write(chip->regmap, regaddr, value, NBANK(chip)); > if (ret < 0) { > dev_err(&chip->client->dev, "failed writing register\n"); Yes, correct. This is where -EAGAIN is coming from: [ 1.745657] pca953x 2-0020: supply vcc not found, using dummy regulator [ 1.752502] pca953x 2-0020: using no AI [ 1.756579] pca953x 2-0020: **** failed writing register: -11 [ 1.762510] pca953x: probe of 2-0020 failed with error -11 [ 1.768298] i2c i2c-2: IMX I2C adapter registered The pca953x driver tries to write to the i2c-2 bus before i2c-2 is registered. This is the point I don't understand: how can the pca953x driver get probed before its I2C bus parent? Thanks