On Thu, Jul 11, 2024 at 1:08 PM Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Thu, Jul 11, 2024 at 06:44:38PM +0200, Herve Codina wrote: > > Hi Lee, > > > > On Thu, 11 Jul 2024 16:29:52 +0100 > > Lee Jones <lee@xxxxxxxxxx> wrote: > > > > > On Thu, 27 Jun 2024, Herve Codina wrote: > > > > > > > Add a PCI driver that handles the LAN966x PCI device using a device-tree > > > > overlay. This overlay is applied to the PCI device DT node and allows to > > > > describe components that are present in the device. > > > > > > > > The memory from the device-tree is remapped to the BAR memory thanks to > > > > "ranges" properties computed at runtime by the PCI core during the PCI > > > > enumeration. > > > > > > > > The PCI device itself acts as an interrupt controller and is used as the > > > > parent of the internal LAN966x interrupt controller to route the > > > > interrupts to the assigned PCI INTx interrupt. > > > > > > Not entirely sure why this is in MFD. > > > > This PCI driver purpose is to instanciate many other drivers using a DT > > overlay. I think MFD is the right subsystem. It is a Multi-function Device, but it doesn't appear to use any of the MFD subsystem. So maybe drivers/soc/? Another dumping ground, but it is a driver for an SoC exposed as a PCI device. > Please use the aux bus for that, that is what is was specifically > designed for, and what it is being used for today. We discussed this already[1]. Different usecase, but needs the same thing. Like I said before, the bus and device used for DT MMIO devices is like it or not platform bus/device. In this case, all the child devices are already supported as platform devices. There would be zero benefit to add all the boilerplate to make their drivers both platform and aux bus drivers. Plus there is zero DT support in aux bus. Rob [1] https://lore.kernel.org/all/Y9kuxrL3XaCG+blk@xxxxxxxxx/