On Tue, Apr 15, 2025 at 11:14 AM Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Tue, Apr 15, 2025 at 05:41:26PM +0200, Andrea della Porta wrote: > > Hi Greg, > > > > On 17:14 Tue 15 Apr , Greg Kroah-Hartman wrote: > > > On Tue, Apr 15, 2025 at 04:55:05PM +0200, Herve Codina wrote: > > > > Hi Greg, > > > > > > > > On Tue, 15 Apr 2025 16:06:43 +0200 > > > > Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > > > > > > > On Wed, Mar 19, 2025 at 10:52:29PM +0100, Andrea della Porta wrote: > > > > > > The RaspberryPi RP1 is a PCI multi function device containing > > > > > > peripherals ranging from Ethernet to USB controller, I2C, SPI > > > > > > and others. > > > > > > > > > > So shouldn't this be using the auxbus code? That's designed to "split > > > > > up" PCI devices such that you can share them this way. > > > > > > > > > > Or did that get rejected somewhere previously? > > > > > > > > > > > > > It doesn't use auxbus probably for the exact same reason that the > > > > one given for the LAN966x PCI device driver [0] and [1]. > > > > > > > > Avoid all boiler plate needed with auxbus whereas drivers already exist > > > > as platform drivers. Internal devices are handled by those platform drivers. > > > > Those devi just need to be described as platform devices and device-tree is > > > > fully relevant for that description. > > > > > > > > [0] https://lore.kernel.org/all/CAL_Jsq+1r3SSaXupdNAcXO-4rcV-_3_hwh0XJaBsB9fuX5nBCQ@xxxxxxxxxxxxxx/ > > > > [1] https://lore.kernel.org/all/Y9kuxrL3XaCG+blk@xxxxxxxxx/ > > > > > > I really hate creating platform devices below a PCI device, so I'll keep > > > complaining about this every time people try to do it. > > > > I agree with you, but as Herve has already pointed out this would mean incurring > > in significant work to adapt drivers for all the peripherals (there are quite a > > few), while with this approach they would be left untouched. > > We have no problem with reworking existing drivers, especially if they > will be doing the correct thing. Don't let that be an excuse, it > doesn't work with me, sorry :) Let me resurrect of_platform_bus so we can stop repeating the same conversation... MMIO based devices using DT (and ACPI) are platform devices. There is no other answer in the kernel today. Rob