Re: [PATCH 1/3] serial/imx: add device tree support
From: Mitch Bradley
Date: Tue Jun 21 2011 - 15:05:00 EST
On 6/21/2011 8:42 AM, Grant Likely wrote:
On Tue, Jun 21, 2011 at 12:32 PM, Mitch Bradley<wmb@xxxxxxxxxxxxx> wrote:
I wonder if it makes sense to create a new device node "/linux-devices" to express a desired mapping from device nodes to /dev entries? The properties could be the names of device special files and the values the corresponding node phandles.
I've been trying /really/ hard to avoid doing something like that
because a lot of the time the desired Linux dev name is a
implementation detail, and a potentially unstable one at that. If
Linux requires certain devices to have certain names because that is
how it hooks up clocks (which is the current situation on some
platforms), then I'd rather have Linux encode a lookup of the
preferred name, at least until the that particular implementation
detail goes away.
As for enumerating devices, I don't think this is a Linux-specific
thing. In this case it is entirely reasonable to want to say /this
node/ is the second serial port, and /that node/ is the third, which
is information needed regardless of the client OS.
This reminds me a little of the "slot-names" property defined by the PCI
bus binding. It was intended to correlate PCI device numbers with the
corresponding externally-visible labeling of the slot, so that error
messages could identify a slot using a name that had some meaning to a user.
The notion of "first" and "second" is, of course, rather difficult to
define precisely. What aspect of the device establishes the order?
The "slot-names" property was useful for systems from e.g. Sun, where
one vendor controlled the whole system rollup. It was almost useless
for cases where the one vendor supplied the motherboard and others put
it in various cases.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/