On Sun, Oct 10, 2021 at 08:56:58PM +0200, Hans de Goede wrote: > The clk and regulator frameworks expect clk/regulator consumer-devices > to have info about the consumed clks/regulators described in the device's > fw_node. > > To work around cases where this info is not present in the firmware tables, > which is often the case on x86/ACPI devices, both frameworks allow the > provider-driver to attach info about consumers to the clks/regulators > when registering these. > > This causes problems with the probe ordering wrt drivers for consumers > of these clks/regulators. Since the lookups are only registered when the > provider-driver binds, trying to get these clks/regulators before then > results in a -ENOENT error for clks and a dummy regulator for regulators. > > To ensure the correct probe-ordering the ACPI core has code to defer the > enumeration of consumers affected by this until the providers are ready. > > Call the new acpi_dev_ready_for_enumeration() helper to avoid > enumerating / instantiating i2c-clients too early. > > Signed-off-by: Hans de Goede If the ACPI and I2C-ACPI maintainers are happy, I am fine with this, too: Acked-by: Wolfram Sang