devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mitch Bradley <wmb@firmworks.com>
To: Rob Herring <robherring2@gmail.com>
Cc: Thierry Reding <thierry.reding@avionic-design.de>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Lior Amsalem <alior@marvell.com>, Andrew Lunn <andrew@lunn.ch>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Jason Cooper <jason@lakedaemon.net>,
	Nadav Haklai <nadavh@marvell.com>,
	linux-pci@vger.kernel.org, devicetree-discuss@lists.ozlabs.org,
	Eran Ben-Avi <benavi@marvell.com>,
	Maen Suleiman <maen@marvell.com>,
	Shadi Ammouri <shadi@marvell.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Tawfik Bayouk <tawfik@marvell.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 24/32] pci: PCIe driver for Marvell Armada 370/XP systems
Date: Wed, 13 Mar 2013 15:20:58 -1000	[thread overview]
Message-ID: <514125FA.7060800@firmworks.com> (raw)
In-Reply-To: <51411D4B.4000104@gmail.com>

On 3/13/2013 2:43 PM, Rob Herring wrote:
> On 03/13/2013 05:48 PM, Mitch Bradley wrote:
>> On 3/13/2013 11:33 AM, Thierry Reding wrote:
>>> On Wed, Mar 13, 2013 at 10:58:02AM -1000, Mitch Bradley wrote:
>>> [...]
>>>> In this case, the answer to "what does pcie_controller do?" is "it
>>>> implements a PCI bus" below.  So 'device_type = "pci"' is appropriate.
>>>
>>> Alright, that's 2 against 1. I don't have much of a choice but to yield.
>>
>> All issues of "voting" aside, 'device_type = pci' is what tells
>> of_get_pci_address() to use the 3/2 interpretation.  So if you want a
>> node to implement 3/2 addresses, it must say device_type = pci, unless
>> you do address translation some other way.
> 
> I should note that device_type is used for OF, but is supposed to not be
> used for FDT as matching against compatible properties is preferred. I
> don't have a good reason as to why, but Mitch may know the history.
> However, there are numerous exceptions to that for compatibility and to
> work with existing s/w. So this may be one of those cases.

Indeed.  The history is that, originally, the "name" property was
supposed to be a very precise name, like what is now the most specific
part of "compatible".  And "device_type" was "what, in general, does
this device do".

But with rule, pathnames quickly became unusable to humans:

  /marvell,mv87230/marvell,svxyz/adaptec,12345/wd,8876

What the heck is that?  Model names are like hashes; they have no rhyme
or reason and humans cannot remember them for long.  In order for a
random person to have a clue about what something was, it was much
better for pathname components to represent the generic function:

  /pci/pci/scsi/disk

Now it's clear that we are looking at a bridged PCI domain hosting a
SCSI disk. That's very useful for a system administrator; the
gobbledygook name is not.

Furthermore, in light of the facts that model numbers change much more
rapidly than programming interfaces, companies clone each others
programming interfaces, and companies change their names, a much more
capable way of describing programming models was needed.

So the "generic names" recommended practice changed things to make
"name" mean what "device_type" used to vaguely mean, "device_type" was
deprecated (it was never very precisely defined, and
mutually-conflicting usage patterns had developed), and "compatible" in
its present form was introduced.  "Generic names" was quite
controversial at the time - I think David Kahn wanted to strangle me at
one point - but it was the right thing.  (Not to mention the
embarrassing mistake of the underscore in device_type, mea culpa.)

That being the case, I personally would like for device_type to
disappear forever.  But the fact exists that address.c currently uses it
(and fdt.c duly parses it), which I why I said that, if you want to use
of_get_pci_address() in its present form, device_type=pci must be
present in the bus node that implements the 3/2 address domain.

So, yeah, it's compability with existing s/w, namely the PCI support in
address.c .

> 
> Rob
> 

  reply	other threads:[~2013-03-14  1:20 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1360686546-24277-1-git-send-email-thomas.petazzoni@free-electrons.com>
     [not found] ` <1360686546-24277-25-git-send-email-thomas.petazzoni@free-electrons.com>
     [not found]   ` <20130212223511.GB31555@obsidianresearch.com>
     [not found]     ` <20130306105441.4d24033e@skate>
     [not found]       ` <20130306121118.GA17079@avionic-0098.mockup.avionic-design.de>
     [not found]         ` <20130306180946.GA2433@obsidianresearch.com>
     [not found]           ` <20130307080832.GD3451@avionic-0098.mockup.avionic-design.de>
     [not found]             ` <20130307174955.GC20840@obsidianresearch.com>
     [not found]               ` <20130307194830.GA1811@avionic-0098.mockup.avionic-design.de>
     [not found]                 ` <20130307200235.GB20695@obsidianresearch.com>
     [not found]                   ` <20130307200235.GB20695-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-03-07 20:47                     ` [PATCH 24/32] pci: PCIe driver for Marvell Armada 370/XP systems Thierry Reding
2013-03-08  0:05                       ` Rob Herring
2013-03-08  7:14                         ` Thierry Reding
2013-03-08 16:52                           ` Jason Gunthorpe
2013-03-08 19:12                             ` Thierry Reding
     [not found]                               ` <20130308191227.GA6551-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2013-03-08 19:43                                 ` Mitch Bradley
2013-03-08 20:02                                   ` Jason Gunthorpe
     [not found]                                     ` <20130308200245.GC29435-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-03-08 20:13                                       ` Thierry Reding
2013-03-10 15:09                                         ` Thomas Petazzoni
2013-03-11  8:08                                           ` Thierry Reding
2013-03-08 23:46                                       ` Mitch Bradley
2013-03-09  1:31                                         ` Jason Gunthorpe
     [not found]                                           ` <20130309013152.GA3883-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-03-10  4:52                                             ` Mitch Bradley
2013-03-10  6:55                                               ` Jason Gunthorpe
     [not found]                                                 ` <20130310065539.GA14704-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-03-11  5:46                                                   ` Mitch Bradley
     [not found]                                                     ` <513D6F9C.9000100-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2013-03-11  7:46                                                       ` Thierry Reding
     [not found]                                                         ` <20130311074615.GA6365-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2013-03-11 18:04                                                           ` Mitch Bradley
2013-03-11 18:23                                                             ` Jason Gunthorpe
     [not found]                                                               ` <20130311182339.GB10992-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-03-11 19:49                                                                 ` Mitch Bradley
2013-03-11 18:15                                                     ` Jason Gunthorpe
     [not found]                                                       ` <20130311181554.GA10992-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-03-11 21:50                                                         ` Mitch Bradley
2013-03-11 23:25                                                           ` Jason Gunthorpe
     [not found]                                                             ` <20130311232516.GA13873-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-03-11 23:38                                                               ` Mitch Bradley
     [not found]                                                                 ` <513E6AFE.3090304-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2013-03-12  7:08                                                                   ` Thierry Reding
2013-03-12 15:57                                                                     ` Jason Gunthorpe
2013-03-12 20:38                                                                       ` Thierry Reding
2013-03-12 21:03                                                                         ` Jason Gunthorpe
2013-03-12 21:30                                                                           ` Thierry Reding
2013-03-12 22:08                                                                             ` Jason Gunthorpe
2013-03-12 23:25                                                                               ` Mitch Bradley
2013-03-13  8:18                                                                               ` Thierry Reding
2013-03-13 17:02                                                                                 ` Jason Gunthorpe
     [not found]                                                                                   ` <20130313170205.GB24042-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-03-13 19:26                                                                                     ` Thierry Reding
2013-03-13 19:59                                                                                       ` Jason Gunthorpe
2013-03-13 20:54                                                                                         ` Thierry Reding
2013-03-13 20:58                                                                                       ` Mitch Bradley
2013-03-13 21:33                                                                                         ` Thierry Reding
2013-03-13 22:48                                                                                           ` Mitch Bradley
2013-03-14  0:43                                                                                             ` Rob Herring
2013-03-14  1:20                                                                                               ` Mitch Bradley [this message]
2013-03-14  7:11                                                                                             ` Thierry Reding
2013-03-14  4:56                                                                                           ` Stephen Warren
     [not found]                                                                                         ` <5140E85A.3040900-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2013-03-13 22:02                                                                                           ` Thierry Reding
2013-03-13 22:21                                                                                             ` Jason Gunthorpe
2013-03-14  9:01                                                                                               ` Thierry Reding
2013-03-14 17:25                                                                                                 ` Jason Gunthorpe
2013-03-14 20:38                                                                                                   ` Thierry Reding
2013-03-14 21:05                                                                                                     ` Jason Gunthorpe
2013-03-14 21:10                                                                                                     ` Mitch Bradley
2013-03-14 21:09                                                                                                   ` Thierry Reding
2013-03-14 21:29                                                                                                     ` Jason Gunthorpe
2013-03-14 21:37                                                                                                       ` Thierry Reding
2013-03-13 22:22                                                                                         ` Jason Gunthorpe
2013-03-09  8:58                               ` Thomas Petazzoni
2013-03-08 23:12                           ` Rob Herring
     [not found]                             ` <513A7044.1020700-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-03-09 11:10                               ` Thierry Reding
2013-03-10  5:04                               ` Mitch Bradley
2013-03-10 15:06                                 ` Thomas Petazzoni
2013-03-10 18:33                                   ` Mitch Bradley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=514125FA.7060800@firmworks.com \
    --to=wmb@firmworks.com \
    --cc=alior@marvell.com \
    --cc=andrew@lunn.ch \
    --cc=benavi@marvell.com \
    --cc=bhelgaas@google.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=jason@lakedaemon.net \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=maen@marvell.com \
    --cc=nadavh@marvell.com \
    --cc=robherring2@gmail.com \
    --cc=shadi@marvell.com \
    --cc=tawfik@marvell.com \
    --cc=thierry.reding@avionic-design.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).