From mboxrd@z Thu Jan 1 00:00:00 1970 From: Phil Elwell Subject: Re: [PATCH v10 3/4] dtc: Plugin and fixup support Date: Tue, 29 Nov 2016 10:50:53 +0000 Message-ID: <66c7f8c5-94e9-a6ca-4402-fa0ccf2a6ac0@raspberrypi.org> References: <1480077131-14526-1-git-send-email-pantelis.antoniou@konsulko.com> <1480077131-14526-4-git-send-email-pantelis.antoniou@konsulko.com> <20161128041228.GJ30927@umbus.fritz.box> <4672e164-aae0-6306-fe70-146a1f930cf7@raspberrypi.org> <20161129021131.GD13307@umbus.fritz.box> Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=raspberrypi.org; h=subject : to : references : cc : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=pp; bh=zof+ijcBanF199cTjEP+Jl9q/FXj1qdwKbs4E6Olf1s=; b=OGceoR+Qrqc/mqFo9F09s5Zq1tgwIN5wMw/Ma0gsIclsgDzE0EJ0P1cN1879bq2/gf4b HgV2MERKgffTnqgOPQ5D3jXj61x5aEeiRvzauVM0r6Yty2bMSipxFlNQhTXiVCWrBHq0 KP7CkL39wRbv8w2RHn0/j3QdLt07e4j1PSJ1opzLiPQa/fH81CWi97IEJCRBOorDo7LZ y2FAqvK7cKoArpOUPj/m6flEbVEYBC2XF8iyWFKx1G5zM+grlJe8lSkw4XH1CpoRWgr+ nrX07/Kow41N5RqDEiLZEbjuY4LL7KRHHhGLlg/ok7g6tWdCoQLhxqg2N/tjOiNzsIBA fA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi-org.20150623.gappssmtp.com; s=20150623; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=AXk2ZcFBql2Vj9aVzjQHDANFUYKwOqc4iNRcSXZQwIk=; b=OuvUchMvpbwm0S7fQFvAxajrr+1noebuKj3bbR1IRc/gTUKGlKmMm3AK4Ni/7g7tiP sa/Mglob5EKbjpFz3X1tJlkM+/Dc7cxquLrEu4xl/DsSsxWdmGbyTgLIEka5CqiRAoxH UkzxqCP8uc6R6B9X5HTOV9UkmqKpBzPZYOSKZ1f6ZOWG5dFBY4hZQ9y8XvzyKNSHKyyO GspwyvgSqIoZYBLI5L80O1bwW5guNmzamhRVI+XHAy7MjvYMcFjasl0F+RHeL+GDf/Q3 4sbfM1WOfroK4aRFdzNPg+fluIqTCjypF2w6fDbATwO878AKlTu8ZzMHs0nOiHESVhRW 8VSw== In-Reply-To: Sender: devicetree-compiler-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="windows-1252" To: Pantelis Antoniou Cc: David Gibson , Jon Loeliger , Grant Likely , Frank Rowand , Rob Herring , Jan Luebbe , Sascha Hauer , Simon Glass , Maxime Ripard , Thomas Petazzoni , Boris Brezillon , Antoine Tenart , Stephen Boyd , Devicetree Compiler , devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org On 29/11/2016 10:39, Pantelis Antoniou wrote: > Hi Phil, > >> On Nov 29, 2016, at 12:32 , Phil Elwell wrote: >> >> On 29/11/2016 02:11, David Gibson wrote: >>> On Mon, Nov 28, 2016 at 12:24:20PM +0000, Phil Elwell wrote: >>>> On 28/11/2016 12:10, Pantelis Antoniou wrote: >>>>> For plugins we need the __symbols__ node to support stacked overlays,= i.e. >>>>> overlays referring label that were introduced by a previous overlay. >>>> Although it is arguably useful to be able to refer to symbols created = by >>>> one overlay from within another, do we really want all symbols to be >>>> global? Isn't there a call for a new syntax or usage pattern to indica= te >>>> either that a symbol should be local to the overlay or, my preferred >>>> option, global? >>> So, this is back to a design question about the overlay format. As >>> noted in the initial discussions about possible "connector" formats, I >>> think we will want some sort of local symbols. But the current >>> overlay format with all global symbols is out there and we need to >>> support it. >> The overlay format we have does not dictate the scope of the symbols. >> >> In all implementations I know of - the Raspberry Pi loader, the current >> Linux kernel, the latest dtc patch set - there is a completely >> asymmetric relationship between the base DTB and an overlay: >> * the base DTB exports __symbols__ to resolve the overlays unresolved >> label references, as recorded by the __fixups__ node >> * the overlay's phandles are renumbered so as not to clash with the base >> tree using the __local_fixups__ >> * the contents of the __overlay__ nodes are applied to the base tree, as >> directed by the "target" or "target-path=94 properties >> > Yes > >> The __symbols__ node of the overlay is ignored and discarded. The >> __fixups__ and __local_fixups__ in the base DTB (if present - the RPi >> dtc only generates them for /plugins/) are ignored. >> > That was a limitation that no-longer applies. Overlay symbols can be added > to the base tree symbol list with a small patch I have already posted. The fact that they can doesn't mean they necessarily should. > >> In the set of RPi overlays only one exports a global symbol, which it >> achieves with an overlay aimed at target-path =3D "/__symbols__" that ad= ds >> a new symbol (in this case "i2c_gpio"). >> >> If the __symbols__ in an overlay are automatically merged with the base >> symbols, that is a significant change in semantics which needs to be >> discussed. >> > You no longer need to do this anymore. Hope this helps :) Not really, no. With the current scheme we have control over the scope, but now there is none. How does your patch handle duplicate symbols? Phil