lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e7d87e41-c92f-9a22-f7ca-a80e080e7bf1@nvidia.com>
Date:   Tue, 20 Oct 2020 11:04:16 +0530
From:   Sameer Pujar <spujar@...dia.com>
To:     Rob Herring <robh@...nel.org>
CC:     <broonie@...nel.org>, <lgirdwood@...il.com>,
        <kuninori.morimoto.gx@...esas.com>,
        <pierre-louis.bossart@...ux.intel.com>, <perex@...ex.cz>,
        <tiwai@...e.com>, <p.zabel@...gutronix.de>,
        <thierry.reding@...il.com>, <jonathanh@...dia.com>,
        <alsa-devel@...a-project.org>, <devicetree@...r.kernel.org>,
        <linux-tegra@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
        <sharadg@...dia.com>, <mkumard@...dia.com>,
        <viswanathl@...dia.com>, <rlokhande@...dia.com>,
        <dramesh@...dia.com>, <atalambedu@...dia.com>,
        <nwartikar@...dia.com>, <swarren@...dia.com>,
        <nicoleotsuka@...il.com>
Subject: Re: [PATCH v4 08/15] Documentation: of: Convert graph bindings to
 json-schema


>> Signed-off-by: Sameer Pujar <spujar@...dia.com>
>> Cc: Philipp Zabel <p.zabel@...gutronix.de>
>> ---
>>   Documentation/devicetree/bindings/graph.txt  | 128 --------------------
>>   Documentation/devicetree/bindings/graph.yaml | 170 +++++++++++++++++++++++++++
>>   2 files changed, 170 insertions(+), 128 deletions(-)
>>   delete mode 100644 Documentation/devicetree/bindings/graph.txt
>>   create mode 100644 Documentation/devicetree/bindings/graph.yaml
> I'd like to move this to the dtschema repository instead.

Do you mean I need to separately submit this patch for dtschema repo?

...
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/graph.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Common bindings for device graphs
>> +
>> +description: |
>> +  The hierarchical organisation of the device tree is well suited to describe
>> +  control flow to devices, but there can be more complex connections between
>> +  devices that work together to form a logical compound device, following an
>> +  arbitrarily complex graph.
>> +  There already is a simple directed graph between devices tree nodes using
>> +  phandle properties pointing to other nodes to describe connections that
>> +  can not be inferred from device tree parent-child relationships. The device
>> +  tree graph bindings described herein abstract more complex devices that can
>> +  have multiple specifiable ports, each of which can be linked to one or more
>> +  ports of other devices.
>> +
>> +  These common bindings do not contain any information about the direction or
>> +  type of the connections, they just map their existence. Specific properties
>> +  may be described by specialized bindings depending on the type of connection.
>> +
>> +  To see how this binding applies to video pipelines, for example, see
>> +  Documentation/devicetree/bindings/media/video-interfaces.txt.
>> +  Here the ports describe data interfaces, and the links between them are
>> +  the connecting data buses. A single port with multiple connections can
>> +  correspond to multiple devices being connected to the same physical bus.
>> +
>> +maintainers:
>> +  - Philipp Zabel <p.zabel@...gutronix.de>
>> +
>> +definitions:
>> +
>> +  port:
>> +    type: object
>> +    description: |
>> +      If there is more than one 'port' or more than one 'endpoint' node
>> +      or 'reg' property present in the port and/or endpoint nodes then
>> +      '#address-cells' and '#size-cells' properties are required in relevant
>> +      parent node.
> reg property.

done

>
>> +
>> +    patternProperties:
>> +      "^endpoint(@[0-9a-f]+)?$":
>> +        type: object
>> +        properties:
> reg?

done

>> +          remote-endpoint:
>> +            description: |
>> +              phandle to an 'endpoint' subnode of a remote device node.
>> +            $ref: /schemas/types.yaml#/definitions/phandle
>> +
>> +  ports:
>> +    type: object
>> +    patternProperties:
>> +      "^port(@[0-9a-f]+)?$":
>> +        $ref: "#/definitions/port"
> No reason for this to be under 'definitions'. Just move down.

Would definitions be needed if some schemas want to refer the base graph 
schema? Or is it like they can just directly include the base schema and 
definitions are not really required?

But what if they want to extend few properties. For example:

graph.yaml
----------
endpoint {
     remote-endpoint = <>;
};

*audio-graph-card.yaml
----------------------
endpoint {
     remote-endpoint = <>;

     property-x;
     node-x {
         ...
     };
};

>
>> +
>> +properties:
>> +  ports:
>> +    $ref: "#/definitions/ports"
>> +
>> +patternProperties:
>> +  "^port(@[0-9a-f]+)?$":
>> +    $ref: "#/definitions/port"
>> +
>> +additionalProperties: false
> This needs to be true here. But you need this within 'ports' and 'port'.
> (I think... I think we only have extra properties within endpoint
> nodes.)

I think currently audio-graph allows few properties at port/ports. I am 
not sure if Morimoto-san has plans to get rid of this.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ