Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751556AbdFGAqj (ORCPT ); Tue, 6 Jun 2017 20:46:39 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:33796 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751436AbdFGAqg (ORCPT ); Tue, 6 Jun 2017 20:46:36 -0400 Subject: Re: [PATCH] external references for device tree overlays To: Stefani Seibold , Stefani Seibold , Pantelis Antoniou , Rob Herring , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <1496667567-13266-1-git-send-email-stefani.seibold.ext@huawei.com> <593657AF.8050208@gmail.com> <1496776974.3821.6.camel@seibold.net> Cc: Holm Rauchfuss From: Frank Rowand Message-ID: <59374CE9.40406@gmail.com> Date: Tue, 6 Jun 2017 17:46:33 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <1496776974.3821.6.camel@seibold.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2488 Lines: 82 On 06/06/17 12:22, Stefani Seibold wrote: > Hi Frank, > > On 06.06.2017, 00:20 -0700 Frank Rowand wrote:: >> On 06/05/17 05:59, Stefani Seibold wrote: >>> From: Stefani Seibold >>> >>> This patch enables external references for symbols which are not >>> exported by the current device tree. For example >>> >>> // RASPI example (only for testing) >>> /dts-v1/; >>> /plugin/; >>> >>> / { >>> compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; >>> >>> fragment@0 { >>> target-path = "/soc/i2s@7e203000"; >>> __overlay__ { >>> #address-cells = <0x00000001>; >>> #size-cells = <0x00000001>; >>> test = "test"; >>> timer = <&timer>; >>> }; >>> }; >>> >>> __external_symbols__ { >>> timer = "/soc/timer@7e003000"; >>> }; >>> }; >> >> My hope is that the dtc compiler will stop supporting specification >> of the >> __symbols__ node in dts source, and only generate it automatically in >> the dtb. >> That change to dtc would not allow any node name specified in a dts >> to begin >> with an underscore. Thus node __external_symbols__ would not be >> allowed. >> > > The name is not so important to me, only the solution. > >>> In case of the RASPI device tree this could be simple fixed by >>> modifing >>> the device tree source, but when the device tree is provided by a >>> closed >>> source BIOS this kind of missing symbol could not be fixed. >> >> Is there a real example of this issue, or is this a theoretical >> concern? >> If this is a real example, we should be discouraging such behavior. >> > > Yes, I have a BIOS on some ARM64 servers which provides broken device > tree. It also lacks some devices in this tree which needs references > to other devices which lacks a phandle. Jon Masters is pushing a message that if the firmware on your arm64 server is broken, then insist that the vendor fix it. I think he was talking about ACPI, but the same message should also apply to device tree. If you are having trouble getting your vendor to fix it, ask Jon if he is willing to help apply pressure. >> The suggestion by Pantelis should work, but that is just a hack to >> get >> you out of a bad situation, not a good practice. >> > > I tried it, but it doesn't work. Look at my post to Pantelis. Yes, I realized that the method Pantelis gave would also require a code change. I don't like that code change either. > > - Stefani > . >