On Tue, Mar 14, 2023 at 05:52:52PM +0200, Andy Shevchenko wrote: > On Tue, Mar 14, 2023 at 11:38:14PM +0800, Ye, Xiang wrote: > > On Tue, Mar 14, 2023 at 10:36:57AM +0200, Heikki Krogerus wrote: > > > On Tue, Mar 14, 2023 at 04:03:26PM +0800, Ye, Xiang wrote: > > ... > > > > You don't really seem to get any benefit from MFD. Perhaps it would be > > > more appropriate and clear if you just registered auxiliary devices in > > > this driver. Check drivers/base/auxiliary.c. > > Yes, it should be a work. I have a question. > > MFD provides the ACPI binding for sub-devices through > > struct mfd_cell_acpi_match. But I didn't see this in drivers/base/auxiliary.c. > > If using auxiliary bus to implement the LJCA sub-devices, we need to do > > the sub-devices acpi binding manually in ljca.c. > > > > Something Like: > > adr = LJCA_ACPI_MATCH_GPIO > > adev = acpi_find_child_device(parent, adr, false); > > ACPI_COMPANION_SET(&pdev->dev, adev ?: parent); > > > > Is that acceptable? Looks ok to me. > Maybe you can implement this on the level of auxiliary bus. I would actually prefer that the auxiliary bus itself does not make any assumptions regarding the whereabouts of the fwnodes at this stage. Maybe later, when(if) there are more users. thanks, -- heikki