On Sun, Dec 27, 2020 at 10:12:20PM +0100, Hans de Goede wrote:
The (shared) probing code of the arizona-i2c and arizona-spi modules takes the following steps during init:
- Call mfd_add_devices() for a set of early child-devices, this
includes the arizona_ldo1 device which provides one of the core-regulators.
Bulk enable the core-regulators.
Read the device id.
Call mfd_add_devices() for the other child-devices.
This sequence depends on 1. leading to not only the child-device being created, but also the driver for the child-device binding to it and registering its regulator.
This requires the arizona_ldo1 driver to be loaded before the shared probing code runs. Add a doftdep for this to both modules to ensure that this requirement is met.
Note this mirrors the existing MODULE_SOFTDEP("pre: wm8994_regulator") in the wm8994 code, which has a similar init sequence.
Signed-off-by: Hans de Goede hdegoede@redhat.com
Acked-by: Charles Keepax ckeepax@opensource.cirrus.com
Thanks, Charles