Re: PCIe device tree support

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

 



* 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.

Thierry

Attachment: pgpJpNF3bYgki.pgp
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