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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Wed, 13 Sep 2017 11:31:16 +0900
From:   "Keiji Hayashibara" <hayashibara.keiji@...ionext.com>
To:     "'Rob Herring'" <robh@...nel.org>
Cc:     Yamada, Masahiro/山田 真弘 
        <yamada.masahiro@...ionext.com>,
        "Srinivas Kandagatla" <srinivas.kandagatla@...aro.org>,
        <devicetree@...r.kernel.org>,
        "linux-arm-kernel" <linux-arm-kernel@...ts.infradead.org>,
        "Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>,
        "Masami Hiramatsu" <masami.hiramatsu@...aro.org>,
        "Jassi Brar" <jaswinder.singh@...aro.org>,
        Hayashi, Kunihiko/林 邦彦 
        <hayashi.kunihiko@...ionext.com>,
        Owada, Kiyoshi/大和田 清志 
        <owada.kiyoshi@...ionext.com>
Subject: RE: [PATCH v1 1/3] dt-bindings: nvmem: add description for UniPhier eFuse

Hello Rob,

Thank you for your comment.

> From: Rob Herring [mailto:robh@...nel.org]
> Sent: Wednesday, September 13, 2017 1:16 AM
> 
> On Tue, Sep 05, 2017 at 04:04:31PM +0900, Keiji Hayashibara wrote:
> > Hello Yamada-san,
> >
> > Thank you for your comment.
> >
> > > From: Masahiro Yamada [mailto:yamada.masahiro@...ionext.com]
> > > Sent: Monday, September 4, 2017 9:56 PM
> > >
> > > 2017-09-01 8:20 GMT+09:00 Keiji Hayashibara
> > > <hayashibara.keiji@...ionext.com>:
> > > > Add uniphier-efuse dt-bindings documentation.
> > > >
> > > > Signed-off-by: Keiji Hayashibara <hayashibara.keiji@...ionext.com>
> > > > ---
> > > >  .../devicetree/bindings/nvmem/uniphier-efuse.txt   | 45
> > > ++++++++++++++++++++++
> > > >  1 file changed, 45 insertions(+)
> > > >  create mode 100644
> > > > Documentation/devicetree/bindings/nvmem/uniphier-efuse.txt
> 
> > > > +Example:
> > > > +
> > > > +       soc-glue@...00000 {
> > > > +               compatible =
> "socionext,uniphier-ld20-soc-glue-debug",
> > > > +                            "simple-mfd";
> > > > +               #address-cells = <1>;
> > > > +               #size-cells = <1>;
> > > > +               ranges = <0x0 0x5f900000 0x2000>;
> > >
> > >
> > > IMHO, I think an empty "ranges;" will clarify the code, but it is up
> > > to your taste.
> > >
> > >
> > > > +
> > > > +               efuse {
> > > > +                       compatible = "socionext,uniphier-efuse",
> > > > +                                    "syscon";
> > >
> > >
> > > You are adding a dedicated driver for "socionext,uniphier-efuse".
> > >
> > > Then, "syscon" as well?
> > >
> >
> > Since I was using the syscon interface to implement the driver, I
> > specified "syscon". It's interface is syscon_node_to_regmap().
> >
> > I will rethink this in v2.
> >
> > >
> > >
> > > > +                       reg = <0x100 0xf00>;
> > >
> > >
> > > Not so many efuse registers exist on the SoC.
> > >
> > > reg = <0x100 0x200>; will be enough.
> > >
> > >
> > > Or if you want to be strict to the hw spec, you can write as follows:
> > >
> > >         soc-glue@...00000 {
> > >                compatible =
> "socionext,uniphier-ld20-soc-glue-debug";
> > >                             "simple-mfd";
> > >                #address-cells = <1>;
> > >                #size-cells = <1>;
> > >                ranges = <0x0 0x5f900000 0x2000>;
> > >
> > >                efuse@100 {
> > >                            compatible = "socionext,uniphier-efuse";
> > >                            reg = <0x100 0x28>;
> > >                };
> > >
> > >                efuse@200 {
> > >                            compatible = "socionext,uniphier-efuse";
> > >                            reg = <0x200 0x68>;
> > >                };
> > >        };
> > >
> > >
> > >
> > >
> > > > +                       #address-cells = <1>;
> > > > +                       #size-cells = <1>;
> > > > +
> > > > +                       /* Data cells */
> > > > +                       usb_mon: usb_mon {
> > > > +                               reg = <0x154 0xc>;
> > > > +                       };
> > >
> > >
> > > This <0x154 0xc> represents 0x5f900254 in CPU address view.
> > > (0x5f900000 + 0x100 + 0x154)
> > >
> > > So many ranges conversion, and how error-prone..
> > >
> >
> > Yes, indeed...
> > I will modify as below.
> 
> Please don't. A non-empty ranges is preferred. It limits the scope and
chance
> for errors (smaller range allows fewer possible values and limits the
> chances of having address ranges duplicated in multiple nodes). But yes,
> it does add the requirement of doing addition and/or OR operations. I
can't
> review whether the address ends up being correct either way, but having
> non-empty ranges helps enforce the other things.

I see. 
I will proceed with implementation by non-empty ranges.

Best Regards,
Keiji Hayashibara


Powered by blists - more mailing lists