On Wed, Feb 19, 2025 at 07:39:29PM +0200, Svyatoslav Ryhel wrote: > ср, 19 лют. 2025 р. о 17:56 Andy Shevchenko > <andriy.shevchenko@xxxxxxxxxxxxxxx> пише: > > On Wed, Feb 19, 2025 at 05:13:15PM +0200, Svyatoslav Ryhel wrote: > > > ср, 19 лют. 2025 р. о 17:07 Andy Shevchenko > > > <andriy.shevchenko@xxxxxxxxxxxxxxx> пише: > > > > On Wed, Feb 19, 2025 at 04:36:38PM +0200, Svyatoslav Ryhel wrote: > > > > > ср, 19 лют. 2025 р. о 16:27 Andy Shevchenko > > > > > <andriy.shevchenko@xxxxxxxxxxxxxxx> пише: ... > > > > > MFD part is removed since MFD cells binding is unconditional, while > > > > > the device supports any amount of children grater then one. For > > > > > example, my device uses only backlight at bank A, while all other > > > > > subdevices are not present and used. This patch switches to dynamic > > > > > bind of children. > > > > > > > > MFD does the same. Please, take your time and get familiar with how MFD works. > > > > > > It does not. I have tried. If mfd cell binding is missing, driver will > > > complain and fail. > > > > I really don't know what exactly is going on here, you can check it later, but > > I'm 100% sure that MFD works for only driver that are present. What you are > > describing is how component framework is designed. > > > > To proove my words you can check drivers/mfd/intel_soc_pmic_*.c and find listed > > cells that never had a driver in the Linux kernel. They are just placeholders. > > This example is not valid since those drivers do not use device tree. You didn't get the point. I'm telling that it should not matter if there is a device driver present or absent. The rest will be enumerated as usual. I even checked the code that handles of_compatible member from struct mfd_cell and at a brief glance I do not see that it can do otherwise. Care to elaborate what and where is the error happened exactly? -- With Best Regards, Andy Shevchenko