Hi, On 9/22/22 16:04, Borislav Petkov wrote: > On Thu, Sep 22, 2022 at 03:48:07PM +0200, Hans de Goede wrote: >> Right, thank you for Cc-ing me. At least on X86 there are several platforms >> (and 100-s of device models) which use a PMIC connected to the i2c-designware >> controller and this PMIC gets poked directly from ACPI _S0 and _S3 >> (power on/off) methods. So the I2C bus driver needs to *bind* to the controller >> as soon as we find its description in ACPI, otherwise we get a whole bunch >> of failed ACPI OpRegion access errors as well as various actual really issues. > > Thanks for explaining - I couldn't find the reason why it has to be a > subsys_initcall. > >> So please keep this as a subsys initcall. > > Which means, init_amd_nbs() would have to be sorted to run before > dw_i2c_init_driver()... Yes if possible. One solution might be to make it a arch_initcall_sync() which AFAIK runs after regular arch_initcall()-s but before subsys_initcall()-s. Regards, Hans