<html><head><meta name="qrichtext" content="1" /></head><body style="font-size:11pt;font-family:Nimbus Mono L">
<p>On Tuesday 20 February 2007 16:25, Segher Boessenkool wrote:</p>
<p>> >> And the ebony dts also has the a bus type of "ibm,opb" as well.</p>
<p>> ></p>
<p>> > We should really get a common name for these. I don't remember</p>
<p>> > what the discussions were, but it seems we came up with different</p>
<p>> > results for Axon and ppc4xx, which is very bad.</p>
<p>> </p>
<p>> "Very bad"... Well sure it's less than desirable, but</p>
<p>> we have to deal with this problem anyway already.</p>
<p>> </p>
<p>> > Using type "ibm,opb" rather than just "opb" makes sense to me,</p>
<p>> > but I don't know if we already have shipping systems that use</p>
<p>> > "opb" here.</p>
<p>> ></p>
<p>> > There is probably a similar problem with the nodes for "plb4",</p>
<p>> > "plb5" and "ebc",</p>
<p>> </p>
<p>> It makes sense for generic code to always if it is asked</p>
<p>> to match for "vendor-code,some-name" also to match on</p>
<p>> plain "some-name". Well unless people start doing crazy</p>
<p>> things like naming something "vendor-code,pci" which</p>
<p>> isn't PCI compatible or something -- in that case there</p>
<p>> could be a function that matches on exact name only, or</p>
<p>> the caller can deal with it itself perhaps.</p>
<p>> </p>
<p>> But in most cases the matching-without-prefix should work</p>
<p>> fine.</p>
<p></p>
<p>but is it really the right thing to call it "ibm,plb"</p>
<p>when the identical macro is used on amcc based systems?</p>
<p></p>
<p>I think that was our reasoning when we introduced the</p>
<p>code in linux to scan for "plb5", "plb4" and "opb" buses.</p>
<p></p>
<p>Changing the "device-type" now would result in the final</p>
<p>product to not work on the 2.6.20 kernel, which was released</p>
<p>with the code only scanning for the short names.</p>
<p></p>
<p>Still, it's probably a good idea to list both variants</p>
<p>in compatible, e.g.</p>
<p></p>
<p>type="plb4", compatible="ibm,plb\0ibm,plb4\0plb"</p>
<p></p>
<p>on CAB/axon, and</p>
<p></p>
<p>type="ibm,plb", compatible="ibm,plb4\0plb4\0plb"</p>
<p></p>
<p>on ebony and others. Do you think it makes sense to do it this</p>
<p>way, or should we rather adopt the axon style on the 440 boards?</p>
<p></p>
<p>> > as well as the "compatible" property of the</p>
<p>> > serial port, which, as you noted earlier is "ns16550" on</p>
<p>> > ebony and "ns16750" on axon, although it is exactly the same</p>
<p>> > macro.</p>
<p>> </p>
<p>> So the "compatible" property should read ns16750, ns16550,</p>
<p>> ns16450, i8250. The kernel really only needs the device</p>
<p>> to be compatible to the 8250; but since lots of device trees</p>
<p>> mention only the newer UART types, you have to match on those</p>
<p>> too.</p>
<p></p>
<p>Right, that sounds completely correct. I think I've done the</p>
<p>right thing in of_serial already. Christian, please check</p>
<p>what the firmware does today, and make sure to change it</p>
<p>accordingly.</p>
<p>We probably also need a volunteer to clean up the legacy_serial</p>
<p>code for this, it's grown pretty messy by now.</p>
<p></p>
<p>        Arnd <><</p>
</body></html>