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: <904b42ea-0655-2fae-98d6-17429533de2e@ti.com>
Date:   Wed, 2 Nov 2022 20:13:44 -0500
From:   Andrew Davis <afd@...com>
To:     Rob Herring <robh@...nel.org>
CC:     Lee Jones <lee@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Arnd Bergmann <arnd@...db.de>,
        Linus Walleij <linus.walleij@...aro.org>,
        Geert Uytterhoeven <geert+renesas@...der.be>,
        Daniel Tang <dt.tangr@...il.com>,
        Fabian Vogt <fabian@...ter-vogt.de>,
        <devicetree@...r.kernel.org>,
        <linux-arm-kernel@...ts.infradead.org>,
        <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 1/9] dt-bindings: mfd: Add TI-Nspire misc registers

On 11/2/22 4:26 PM, Rob Herring wrote:
> On Wed, Nov 02, 2022 at 02:05:28PM -0500, Andrew Davis wrote:
>> On 11/2/22 12:35 PM, Rob Herring wrote:
>>> On Tue, Nov 01, 2022 at 04:57:56PM -0500, Andrew Davis wrote:
>>>> The TI Nspire devices contain a set of registers with a seemingly
>>>> miscellaneous set of functionality. This area is known simply as the
>>>> "misc" region.
>>>>
>>>> Signed-off-by: Andrew Davis <afd@...com>
>>>> ---
>>>>    .../bindings/mfd/ti,nspire-misc.yaml          | 55 +++++++++++++++++++
>>>>    1 file changed, 55 insertions(+)
>>>>    create mode 100644 Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml b/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
>>>> new file mode 100644
>>>> index 0000000000000..d409eae7537bd
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
>>>> @@ -0,0 +1,55 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>> +# Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/mfd/ti,nspire-misc.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: TI Nspire MISC hardware block
>>>> +
>>>> +maintainers:
>>>> +  - Andrew Davis <afd@...com>
>>>> +
>>>> +description: |
>>>> +  System controller node represents a register region containing a set
>>>> +  of miscellaneous registers. The registers are not cohesive enough to
>>>> +  represent as any specific type of device. The typical use-case is
>>>> +  for some other node's driver, or platform-specific code, to acquire
>>>> +  a reference to the syscon node (e.g. by phandle, node path, or
>>>> +  search using a specific compatible value), interrogate the node (or
>>>> +  associated OS driver) to determine the location of the registers,
>>>> +  and access the registers directly.
>>>
>>> Looks like you copied the generic description? Describe what MISC
>>> contains.
>>>
>>
>> I don't know what all MISC contains (or maybe I do, but it is not
>> publicly available so I'm not going to add anything that hasn't
>> already been found by clean-room reverse engineering [0]).
> 
> Put whatever you are comfortable with, but not a duplicate generic
> description. You know it at least it has reboot registers...
> 
>> This is the point I was trying to make in that thread on v3. The
>> node's content *is* the hardware description. Every time a new
>> register is found it could have just been added to the DT. But now
>> we also have to go back here and add the exact same information
>> to the binding, every time. We don't require that for simple-bus,
>> should simple-mfd be given the same flexibility?
> 
> The thing with any MFD is it makes up a device even if it's 'simple', so
> it's important to get a full picture of the device. It could evolve to
> not being 'simple'.
> 

It would not evolve as a generic simple-mfd binding would not allow
any extra non-node properties.

'^.*$':
   type: object
additionalProperties: false

Maybe I'm thinking about this group of registers wrong, maybe it
is a simple-bus not a simple-mfd. I mean from software what else
is a bus but a space of addressable registers.. The issue would
be each child node of a simple-bus needs a unit-address and 'reg'.
Which we *could* do here if not for all this syscon weirdness :(

> For example, if you came along and wanted to make it a clock provider,
> you'd probably create a clock child node that's just a compatible and
> '#clock-cells'. The feedback would be just add '#clock-cells' to the
> 'ti,nspire-misc' node. So yes, I want to see additions.
> 

And then that would still fail the dtbs_check, since the simple-mfd binding
would only allow for child nodes, nothing else, that's what makes them "simple".
Each child node would need a compatible and therefor a binding. You would
still see everything and could prevent malformed nodes just the same.

Andrew

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ