[PATCH v8 08/13] misc: rp1: RaspberryPi RP1 misc driver
Rob Herring
robh at kernel.org
Tue Apr 15 10:19:14 PDT 2025
On Tue, Apr 15, 2025 at 11:14 AM Greg Kroah-Hartman
<gregkh at linuxfoundation.org> 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 at linuxfoundation.org> 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@mail.gmail.com/
> > > > [1] https://lore.kernel.org/all/Y9kuxrL3XaCG+blk@kroah.com/
> > >
> > > 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
More information about the linux-arm-kernel
mailing list