On Thu, Mar 20, 2008 at 10:15 AM, John Linn <[EMAIL PROTECTED]> wrote: > You're right. Rick and I were just talking about could we not check the > versions but just make sure the device is the right type independent of > the versions. > > This issue will be true for all the Xilinx drivers. > > I think FPGA IP is a little different in that the hardware can change > much more often than in hard devices.
Exactly, so all your compatible properties should look something like one of the following: compatible = "xlnx,xps-uart16550-2.00.b", "spares16550"; - or - compatible = "xlnx,xps-uart16550-2.00.b", "xlnx,opb-uart16550-1.00c", "sparse16550"; - or - compatible = "xlnx,xps-uart16550-2.00.b", "xlnx,opb-uart16550-1.00c"; Notice that the exact version is *always* there. Followed by versions that it is exactly backwards compatible with. As I said, I personally like the string "sparse16550", but if other people complain about it then pick the earliest version of the part that it is backwards compatible with and use that version string (like in my third example above). The reason "xlnx,uart16550" isn't a good idea is because it isn't a real part thing. It is a made up idea of what the thing is, but it isn't grounded in a particular implementation. (Note that even ns16550 is a real part). The problem with 'virtual' compatible properties is that because they aren't grounded; the temptation is to shift their definition over time as newer parts come out that behave differently. It is really hard to shift the definition of something that is exactly specified. Side note; While I do like sparse16550, it may also not be a good idea for the same reason that "xlnx,uart16550" is not a good idea. However, the risk is much lower because there is already a fair amount of precedence of 'sparse' 16550 devices in the wild and their behavior is well known. Cheers, g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev