Hi Wentong, On 4/25/23 03:43, Wentong Wu wrote: > Inside IVSC, switching ownership requires an interface with two > different hardware modules, ACE and CSI. The software interface > to these modules is based on Intel MEI framework. Usually mei > client devices are dynamically created, so the info of consumers > depending on mei client devices is not present in the firmware > tables. > > This causes problems with the probe ordering with respect to > drivers for consumers of these mei client devices. But on these > camera sensor devices, the ACPI nodes describing the sensors all > have a _DEP dependency on the matching mei bus ACPI device, so > adding IVSC mei bus ACPI device to acpi_honor_dep_ids allows > solving the probe-ordering problem by delaying the enumeration of > ACPI-devices which have a _DEP dependency on an IVSC mei bus ACPI > device. > > On TGL platform, the HID of IVSC mei bus ACPI device is INTC1059, > and on ADL platform, the HID is INTC1095. So add both of them to > acpi_honor_dep_ids. > > Signed-off-by: Wentong Wu <wentong.wu@xxxxxxxxx> > --- > drivers/acpi/scan.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c > index 2743444..89368d7 100644 > --- a/drivers/acpi/scan.c > +++ b/drivers/acpi/scan.c > @@ -796,6 +796,8 @@ static const char * const acpi_ignore_dep_ids[] = { > /* List of HIDs for which we honor deps of matching ACPI devs, when checking _DEP lists. */ > static const char * const acpi_honor_dep_ids[] = { > "INT3472", /* Camera sensor PMIC / clk and regulator info */ > + "INTC1059", > + "INTC1095", Can you please add a short comment after these to explain what they are for, e.g.: "INTC1059", /* IVSC (TGL) driver must be loaded to allow i2c access to camera sensors */ "INTC1095", /* IVSC (ADL) driver must be loaded to allow i2c access to camera sensors */ > NULL > }; > Regards, Hans