On Tue, May 12, 2020 at 1:21 PM Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> wrote: > > Em Sat, 2 May 2020 20:33:14 +0300 > Andy Shevchenko <andy.shevchenko@xxxxxxxxx> escreveu: > > > On Sat, May 2, 2020 at 8:04 PM Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> wrote: > > > Em Sat, 2 May 2020 19:08:36 +0300 > > > Andy Shevchenko <andy.shevchenko@xxxxxxxxx> escreveu: > > > > Yeah, the current issue sounds simple to solve, but I need to understand > > > how an ACPI-based device would be calling regulator_register(). Using > > > regulators with ACPI is new to me. I suspect that this should be done > > > by ./arch/x86/platform/intel-mid, with of course doesn't have the needed > > > bits for this board. Also, there is a dummy regulator driver for atomisp > > > based boards (drivers/platform/x86/intel_atomisp2_pm.c). This one could > > > be causing some issues too. > > > > > > The atomisp driver uses regulator_get() to turn on the sensors. > > > > It should use PMIC to get them. > > It took a while to make it right, but at least for PMIC TI, this is now > working with this patch: > > https://git.linuxtv.org/mchehab/experimental.git/commit/?h=atomisp_v2.1&id=6c026db444d097d6df99597e07eb3575242e680e > > It turns that I needed to pick some missing bits from Yocto's tree, > as the driver at staging was missing the parts for non-regulator PMICs. > > I suspect that the original idea there were to use the regulator > framework for all power management (with IMHO, makes a lot of sense). > > I also had to enable the PMIC ACPI OpRegion with: > > CONFIG_CHT_DC_TI_PMIC_OPREGION=y > > And fix the PMIC region for PMIC TI. > > I didn't test the other types of PMIC supported by the driver. > So, maybe some additional adjustments might be needed for > other types. Thanks! It makes sense. Btw, https://git.linuxtv.org/mchehab/experimental.git/commit/?h=atomisp_v2.1&id=65608aa8d34ea274600ab2cf6f0cf54ee86d8fd1 is incorrect approach. Look closer what PCI does in case when pcim_enable_device() has been called. -- With Best Regards, Andy Shevchenko