Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933441Ab2KEW77 (ORCPT ); Mon, 5 Nov 2012 17:59:59 -0500 Received: from mail-ie0-f174.google.com ([209.85.223.174]:64156 "EHLO mail-ie0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752081Ab2KEW75 (ORCPT ); Mon, 5 Nov 2012 17:59:57 -0500 MIME-Version: 1.0 In-Reply-To: References: <50924DA3.1060901@ti.com> <20121101110418.GF410@arwen.pp.htv.fi> <3AF5A6FC-61D9-40CA-85B3-81C2C788CB76@antoniou-consulting.com> <20121101124025.GA12489@arwen.pp.htv.fi> <20121101131609.GC12489@arwen.pp.htv.fi> <20121101135148.382aec00@pyramind.ukuu.org.uk> <9F25E89E-9194-4725-8A8C-053DCBADA1DB@antoniou-consulting.com> <20121101220518.GE14982@arwen.pp.htv.fi> <20121102112104.4657fb7b@pyramind.ukuu.org.uk> <0EC43413-1DD7-4E2A-879B-0B5B926FFDFE@antoniou-consulting.com> <18667A4E-5513-4D74-922F-30D091609F16@antoniou-consulting.com> Date: Mon, 5 Nov 2012 16:59:56 -0600 Message-ID: Subject: Re: [PATCH 0/3] capebus moving omap_devices to mach-omap2 From: Joel A Fernandes To: Grant Likely Cc: Pantelis Antoniou , Alan Cox , Russ Dill , Felipe Balbi , Benoit Cousson , Tony Lindgren , linux-kernel , Koen Kooi , Matt Porter , linux-omap@vger.kernel.org, Kevin Hilman , Paul Walmsley , devicetree-discuss@lists.ozlabs.org, Rob Herring Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2830 Lines: 62 Hi Grant, On Mon, Nov 5, 2012 at 2:14 PM, Grant Likely wrote: > On Mon, Nov 5, 2012 at 7:54 PM, Pantelis Antoniou > wrote: >>> This handles many of the use cases, but it assumes that an overlay is >>> board specific. If it ever is required to support multiple base boards >>> with a single overlay file then there is a problem. The .dtb overlays >>> generated in this manor cannot handle different phandles or nodes that >>> are in a different place. On the other hand, the overlay source files >>> should have no problem being compiled for multiple targets, so maybe >>> it isn't an issue. Plus if dtc is installed on the target, then the >>> live tree from /proc can be used as the reference when compiling the >>> overlay. >> >> My worry is that this format is dependent on linking against the board >> DTS file. One of the ideas thrown around here was that it might make >> sense to store the DTB fragment in the EEPROM of the device. > > Right, that wouldn't work well if the base DT changed, or if a > BeagleBone2 is released that has the same header configuration, but > different backing devices. It would be nice to have a solution for > that. > >> In that case you have a OS independent hardware description, which can >> be even used even by the bootloader to access devices it knows not about >> at compile time. >> >> Other than that, I have no other objections. > > I'm open to suggestions if anyone has any. I have not objections to a > fixup approach, but I'm not comfortable with anything that is fragile > to modifications to the fragment. I am fairly new to the DT world so please bear with me, but how about a method that resolves symbols the same way that the linux dynamic linker does when shared libraries are loaded? A separate table (similar to .PLT/GOT sections in the ELF object format) could be created when the fragment is loaded, and the phandle references could be fixed to point to the table offsets during compile time. This table would be a second level indirection and the kernel would populate this table with the in-kernel values of the phandles that the dt fragment refers to. This might involve changes to the DT core, but as such, this method wouldn't suffer from the fragility problem of either base or fragment DT trees being modified. The table itself could be added to the tree by the compiler, and the phandles could point to it (fixed). such phandles could be marked for special handling to facilitate the 1-level indirection. What do you think about this? Regards, Joel -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/