Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp2977319ybx; Sun, 3 Nov 2019 08:03:28 -0800 (PST) X-Google-Smtp-Source: APXvYqy7tkEhvKlvsxPdSVm26HKMxioWaUXBzFSJZA059fdVQWOJlDpkn6FRHhBAH1cjRIECgojc X-Received: by 2002:a50:fa83:: with SMTP id w3mr8863396edr.272.1572797008184; Sun, 03 Nov 2019 08:03:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1572797008; cv=none; d=google.com; s=arc-20160816; b=YdBJUYh3Le8qnkHvSkkzmN6jSz5hhaXWPcKnOGvyrWC1ZOUAtd0i5J11UinA0prgeC llM5VZ/BzZNS4ZBgHYLXBVa9n/KVbtNMBye/1Xa6v3T46jTQWe71R/SjV6GOl4w7oBO8 ubwzYHru9LUcFFb/X+H0RF59ODtgejN+LhuGykRfAC5KYlMAUgrOITgjRBCmTEH0OY+y jWL9YXiusU+yZc698As+oaogQTbh8BefVUA3xuMp+EvP9CSxgBjbuG1upBDzupVYyDBW AUf5gIZTU1w18rr2lQ0U5MfZWXlwJb6bPo7WKDPyjeCdki/IR0ezovNnmQ06vkrEjBiD hyNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=RUHPCeKTyT4dDneMSMCpA0Q1q1wV4J23YRvoibc1o5E=; b=Upl74iZZVyqIZtvTMKtJaIdIDtnXNQYHVuIzWJLcHCcHrDRBNw5ZsfDvir7HpCf/GL ZcZNiQGEEAem1Ff+2P5aFuxgiqh0swmbCa51fdFgTusftqIKb7KzVZynvKIDZTvbKD+f Bj4HhwBiuVZ75tteZhGjQE5iEaCoKkMqq2pqW49HpohHS9MQMTO21A1KO2UK+HGgxjM3 tkmppOcVMezTE7yZGEIe0u2JHxjiNKrLbTDAtnKfeoYjbtMd9dQTkuEf/IJ37/0vn1/i W0Gjl3u7aSjbVNmNdYL5k+q4b2dqLxSgibBBEVx6PM0fwQW8WsdkxgvjZBjr5R97znLa /RLA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=OCwDFQkW; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s14si123365ejq.257.2019.11.03.08.03.04; Sun, 03 Nov 2019 08:03:28 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=OCwDFQkW; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727843AbfKCQBT (ORCPT + 99 others); Sun, 3 Nov 2019 11:01:19 -0500 Received: from mail.kernel.org ([198.145.29.99]:39186 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727523AbfKCQBS (ORCPT ); Sun, 3 Nov 2019 11:01:18 -0500 Received: from localhost (lfbn-1-10718-76.w90-89.abo.wanadoo.fr [90.89.68.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 04CCD2084D; Sun, 3 Nov 2019 16:01:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572796877; bh=Lpq9fn2fii7gBSLXJ89Ao8eK1QO7fC9NIhZkf0eEtYA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=OCwDFQkWKusxtKXsxi91PdS4FMndv/PZ40OLVWxDDGqjae8h/Dw/eR2w/CFWnlCiF 05LMTf6JN+eJiF+Asn1yAmFM6COsnzFFyJfRcI32IyI//GopKIp2PAbknEArZTo53t 8EvQSINAYXMGp654yYfuaWc8jOv6b5LkCNJF2Nxs= Date: Sun, 3 Nov 2019 17:01:14 +0100 From: Maxime Ripard To: Torsten Duwe Cc: Chen-Yu Tsai , Rob Herring , Mark Rutland , Thierry Reding , David Airlie , Daniel Vetter , Andrzej Hajda , Laurent Pinchart , Icenowy Zheng , Sean Paul , Vasily Khoruzhick , Harald Geyer , Greg Kroah-Hartman , Thomas Gleixner , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 6/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding Message-ID: <20191103160114.GD7001@gilmour> References: <20191029153815.C631668C4E@verein.lst.de> <20191029153953.8EE9B68D04@verein.lst.de> <20191031125100.qprbdaaysg3tmhif@hendrix> <20191031145224.GA5973@lst.de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="O3RTKUHj+75w1tg5" Content-Disposition: inline In-Reply-To: <20191031145224.GA5973@lst.de> User-Agent: Mutt/1.12.1 (2019-06-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --O3RTKUHj+75w1tg5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Oct 31, 2019 at 03:52:24PM +0100, Torsten Duwe wrote: > On Thu, Oct 31, 2019 at 01:51:00PM +0100, Maxime Ripard wrote: > > On Tue, Oct 29, 2019 at 01:16:57PM +0100, Torsten Duwe wrote: > > > + > > > + ports: > > > + anyOf: > > > + - port@0: > > > + description: Video port for LVTTL input > > > + - port@1: > > > + description: Video port for eDP output (panel or connector). > > > + May be omitted if EDID works reliably. > > > + required: > > > + - port@0 > > > > Have you tried to validate those two ports in a DT? > > Yes, it validates as expected, like I wrote. Various sources told me that > json-schema is not always straightforward so I assumed anyOf was OK. > > > I'm not quite sure what you wanted to express with that anyOf, but if > > it was something like port@0 is mandatory, and port@1 is optional, it > > should be something like this: > > > > properties: > > > > ... > > > > ports: > > type: object > > > > properties: > > port@0: > > type: object > > description: | > > Video port for LVTTL input > > > > port@1: > > type: object > > description: | > > Video port for eDP output (..) > > > > required: > > - port@0 > > > > This way, you express that both port@0 and port@1 must by nodes, under > > a node called ports, and port@0 is mandatory. > > That validates, too. Looks better, admittedly. I don't have a strong > opinion here. It's just that Rob wrote in > : > > | For this case specifically, we do need to define a common graph > | schema, but haven't yet. You can assume we do and only really need to > | capture what Maxime said above. > (your points back then were port@N descriptions and neccessity for port@0) > > Are you sure that "object" is specific enough? Possibly not, but at least it checks that there's indeed something called port@0 (and port@1), and that they are both nodes (and not properties). We can probably refine this further, but this is good enough at the moment. > > You should even push this a bit further by adding > > additionalProperties: false to prevent a DT from having undocumented > > properties and children for the main node and ports node. > > You mean like > > | jsonschema.exceptions.SchemaError: Additional properties are not allowed ('unevaluatedProperties' was unexpected) > [...] > | On schema: > | {'$id': 'http://devicetree.org/schemas/watchdog/allwinner,sun4i-a10-wdt.yaml#', > [...] > | 'unevaluatedProperties': False} > > ? ;-) That would be on the meta-schema, but yes, we want to trigger warnings on something that isn't described. > > But yes, this patch series passes even with additionalProperties: false. > > In which form would you like to receive the update? Please send a new version. Thanks! Maxime --O3RTKUHj+75w1tg5 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXb75ygAKCRDj7w1vZxhR xQ7rAQCZLQcuukaEIuQQut4PC1tgBMKrdJ+kUMMrTujJsMh0KAD/XxEP4qvCHVOh pyNiY1VTEuJDPf//SnH0gq+kzuonjQ8= =cdL1 -----END PGP SIGNATURE----- --O3RTKUHj+75w1tg5--