On Thu, 2014-02-06 at 17:01 +0100, Andrew Lunn wrote: > Synology seem to build there devices like lego. They have two > different RTC blocks. They have three different fan alarm blocks, four > different led blocks, etc. And to build a product, the just select a > group of blocks and put them together. > > The board setup code which Ben Peddell wrote has a somewhat similar > structure: > > http://klightspeed.killerwolves.net/synology/linux-3.4-synology-0.1.patch > > It has a set of functions which add platform devices. And a table > driven piece of code which based on the product name calls these > functions to add the needed platform devices. Take a look at the table > to get a better idea of the re-use factor of the blocks. > > In this DT version, i have a dtsi file for each function, and a dti > file for each table entry. At least some other platforms deal with this by having a baseline dtsi where most things have status="disabled" and then a per-board .dts file which contains status="okay" and perhaps any specific pin bindings etc. See arch/arm/boot/dts/sun?i* for an example of this approach. Ian. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html