On Tue, Aug 20, 2024 at 05:50:38PM -0300, Fabio Estevam wrote: > On Tue, Aug 20, 2024 at 5:45 PM Frank Li <Frank.li@xxxxxxx> wrote: > > > what cause probe failure? I think it should be defer probe if some resource > > are not ready yet. > > The failure happens because i2c-2 is probed after the pca953x driver: > > [ 1.898258] pca953x 2-0020: probe with driver pca953x failed with error -11 > [ 1.905575] i2c i2c-2: IMX I2C adapter registered > > PCA953x tries to write to a register, but the I2C bus is not ready yet. I am not sure how this happen. i2c device should be probed by i2c bus driver. Only after i2c bus probe, which scan i2c device, then i2c device driver probe can be called. Frank > > At which point in the driver I should check for the I2C controller > presence and return -EPROBE_DEFER if it is not ready? > > Thanks