Re: [PATCH 0/4] MIPS: ralink: pci: driver for Pcie controller in MT7621 SoCs
From: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Date: 2021-06-04 21:17:22
Also in:
linux-mips, linux-pci, linux-staging, lkml
Hi Bjorn, On Fri, Jun 4, 2021 at 9:43 PM Bjorn Helgaas [off-list ref] wrote:
On Mon, May 31, 2021 at 03:18:45PM +0200, Pali Rohár wrote:quoted
On Friday 21 May 2021 12:23:38 Thomas Bogendoerfer wrote:quoted
On Wed, May 19, 2021 at 11:18:36PM +0200, Sergio Paracuellos wrote:quoted
On Wed, May 19, 2021 at 10:36 PM Bjorn Helgaas [off-list ref] wrote:quoted
But most of the similar drivers are in drivers/pci/controller/, where I think it's easier to keep them up to date with changes in the PCI core. Have you considered putting this one there?Most pci drivers in 'arch/mips/pci' are still using PCI_LEGACY stuff. In contrast mt7621-pci is using current pci generic apis but even most of the code is generic enough, there is one remaining thing which depends on mips architecture which is the iocu region configuration which must be done in the driver itself. This is the only reason to move this driver into 'arch/mips/pci' instead of 'drivers/pci/controller/'. So... I am all ears to listen to suggestions for the proper place for this driver. Thomas, do you have any thoughts on this?I tried to put a pci-xtalk driver into drivers/pci/controller, but Lorenzo didn't want it there for being MIPS and not DT based. So this one is DT based, but still MIPS. I'm perfectly fine putting this driver into drivers/pci/controller/In my personal opinion this driver could go into drivers/pci/controller/I'm not sure exactly what "PCI_LEGACY" above refers to.
I meant most of the drivers there are not using current generic pci apis but still using pci legacy ones.
I don't see any direct #includes of arch/mips in the driver. I do see that it uses mips_cps_numiocu(), which is certainly MIPS-specific.
Yes, mips_cps_numiocu is the only stuff needed and arch specific used by this driver.
But we do have some things in drivers/pci/controller/ that only build on certain arches, enforced mostly by Kconfig rules, so I think you could do that. We try to make so things can at least be *compiled* on any arch, but I know that's not always possible. So I think it would be useful to put this in drivers/pci/controller/ somewhere because it will make it easier to see common patterns and refactoring opportunities.
Ok, so I will move the driver into 'drivers/pci/controller/' in v2.
Thanks,
Sergio ParacuellosBjorn