On Wed, Feb 12, 2014 at 9:51 AM, Magnus Damm <[email protected]> wrote:
>>>>> - add r8a7790 suffix as fall back in case r8a7791 is missing from the
>>>>> driver
>>>>> + sdhi0: sd@ee100000 {
>>>>> + compatible = "renesas,sdhi-r8a7791",
>>>>> "renesas,sdhi-r8a7790";
>>>> I'm afraid that's not such a good idea: what if r8a7791 SDHI turns out to
>>>> have a
>>>> slight incompatibility with r8a7790 SDHI later?
>>>
>>> It's a fallback so later we will simply use r8a7791 instead. r8a7790
>>> is currently used with the v3.14-rc version of the SDHI driver. Future
>>> ones always include r8a7791. How does that introduce any issues?
>>
>> Bummer, yes, it prefers the first compatible entry.
>>
>> Will refrain from sending more emails until my coffee has been digested ;-)
>
> Heheh. But I think you raise a valid point:
>
> Using the wrong SoC in the compatible string is pretty darn ugly.
>
> What is the best practise here?
(adding devicetree)
It should be a reference to the hardware block.
Before the advent of SoCs, a hardware block was an IC, with a part number
(e.g. de21040), and sometimes a name (e.g. tulip). Further evolutions of the
hardware block got (usually, but not always) different part numbers.
With SoCs, the part numbers of the hardware blocks were lost. Only the SoC
still carries a part number. The hardware blocks (now called "IP cores") still
have names (e.g. RSPI), but they're more abstract, and it's difficult to know
what exact version of the hardware block they're referring to[*].
Using "<manufacturer>,<name>-<soc>" is future-proof, but cumbersome.
Having a more generic fallback name to group SoCs with the same IP core
is convenient.
So we have to "invent" generic fallback names with versioning ourselves?
- SoC family name? But there's no guarantee a new SoC from the same
family will be 100% compatible.
- "-v1", "-v2" suffixes? The new SoC may have something in between
v1 and v2
- ???
[*] With OpenRISC it's easier, as we have the hardware source files, but
it's still cumbersome to find good version naming.
The OpenCores-mandated "<name>-rtlsvn<version>" is not such a good
match for todays distributed development, with IP cores being imported
into git repositories and modified there.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html