Re: PCIe device tree support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 23 Feb 2012 07:03:55 +0100
Thierry Reding <thierry.reding@xxxxxxxxxxxxxxxxx> wrote:

> * Bjorn Helgaas wrote:
> > On Wed, Feb 22, 2012 at 12:24 AM, Thierry Reding
> > <thierry.reding@xxxxxxxxxxxxxxxxx> wrote:
> > > [Adding Jesse Barnes and the linux-pci mailing list to CC.]
> > >
> > > * Stephen Warren wrote:
> > >> Thierry Reding wrote at Monday, February 20, 2012 12:18 PM:
> > >> > I would like to add device tree support for the Tegra2 PCIe controller. From
> > >> > what I understand this will require the PCIe code to be rewritten as a proper
> > >> > platform driver in order to be able to instantiate it via the device tree. Is
> > >> > that correct?
> > >>
> > >> That's probably the cleanest way, yes.
> > >>
> > >> Is there a drivers/ directory for PCI/PCIe host controllers? Moving the
> > >> code there might be nice if so, although IIRC when I asked Olof about
> > >> that a number of months back, he said quite a few host controllers were
> > >> in arch/...
> > >
> > > Most PCI/PCIe host controller drivers seem to currently be in arch/. Is there
> > > a specific reason for this? Would it be acceptable to put any new drivers
> > > below drivers/pci/?
> > 
> > PCI host bridges aren't architected, so discovering them and their
> > properties has historically been mostly architecture-specific.  ACPI
> > is one exception (with a driver in drivers/acpi/pci_root.c) and it
> > sounds like device tree might be a similar exception.  If you can make
> > a non-arch-specific driver and put it somewhere other than arch/, I'm
> > all in favor of that, especially if you can make it usable by other
> > arches that use device tree.  Where to put it?  I dunno.  drivers/pci/
> > sounds like a reasonable possibility.
> 
> I don't think it would be possible to write a driver that works for all
> device tree based boards or architectures. As you said the implementation is
> very hardware specific and probably couldn't even be generalized among two
> chipsets of the same architecture.
> 
> However there has recently been a lot of work to move out arch-specific
> drivers for PWM, GPIO and others out of arch/ and into respective directories
> below drivers/. The reason I asked was because I think the same could be done
> for PCI/PCIe.

I think that makes sense for stuff that may be shared between arches,
but host bridges are generally part of the core architecture of the
system, so factoring them out would just be code shuffling without any
real gain.

But for shared code, drivers/pci is definitely the right place.

Thanks,
Jesse

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux