On Thu, Aug 19, 2021 at 11:19:34PM +0300, Sakari Ailus wrote: > Return -EPROBE_DEFER if probing the device fails because of the I²C > transaction (-EIO only). This generally happens when the power on sequence > of the device has not been fully performed yet due to later probing of > other drivers. ... > + if (ret == -EIO && is_acpi_device_node(dev_fwnode(&client->dev))) { has_acpi_companion() is better to have here, no? > + /* > + * If we get -EIO here and it's an ACPI device, there's a fair > + * likelihood it's because the drivers required to power this > + * device on have not probed yet. Thus return -EPROBE_DEFER. > + */ > + return -EPROBE_DEFER; > + } -- With Best Regards, Andy Shevchenko