<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 18, 2017 at 5:12 PM, Simon Glass <span dir="ltr"><<a href="mailto:sjg@chromium.org" target="_blank">sjg@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 17 April 2017 at 13:00, Maxim Sloyko <<a href="mailto:maxims@google.com">maxims@google.com</a>> wrote:<br>
> Add Device Model based I2C driver for ast2500/ast2400 SoCs.<br>
> The driver is very limited, it only supports master mode and<br>
> synchronous byte-by-byte reads/writes, no DMA or Pool Buffers.<br>
><br>
> Signed-off-by: Maxim Sloyko <<a href="mailto:maxims@google.com">maxims@google.com</a>><br>
><br>
> ---<br>
><br>
> Changes in v1:<br>
> - Style fixes<br>
><br>
><br>
> ---<br>
>  drivers/i2c/Kconfig   |   9 ++<br>
>  drivers/i2c/Makefile  |   1 +<br>
>  drivers/i2c/ast_i2c.c | 357 ++++++++++++++++++++++++++++++<wbr>++++++++++++++++++++<br>
>  drivers/i2c/ast_i2c.h | 132 +++++++++++++++++++<br>
>  4 files changed, 499 insertions(+)<br>
>  create mode 100644 drivers/i2c/ast_i2c.c<br>
>  create mode 100644 drivers/i2c/ast_i2c.h<br>
<br>
</span>Reviewed-by: Simon Glass <<a href="mailto:sjg@chromium.org">sjg@chromium.org</a>><br>
<br>
nit below<br>
<br>
[..]<br>
<span class="">> +static int ast_i2c_ofdata_to_platdata(<wbr>struct udevice *dev)<br>
> +{<br>
> +       struct ast_i2c_priv *priv = dev_get_priv(dev);<br>
> +       int ret;<br>
> +<br>
> +       priv->regs = dev_get_addr_ptr(dev);<br>
> +       if (IS_ERR(priv->regs))<br>
> +               return PTR_ERR(priv->regs);<br>
<br>
</span>Should be<br>
<br>
 if (!priv->regs)<br>
<br>
I think<br></blockquote><div><br></div><div>Looks like dev_get_addr_ptr returns FDT_ADDR_T_NONE (cast to void*) in case of error. FDT_ADDR_T_NONE is -1, so simple !priv->regs check would be incorrect, as far as I understand.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
> +<br>
> +       ret = clk_get_by_index(dev, 0, &priv->clk);<br>
> +       if (ret < 0) {<br>
> +               debug("%s: Can't get clock for %s: %d\n", __func__, dev->name,<br>
> +                     ret);<br>
> +               return ret;<br>
<br>
</span>Regards,<br>
Simon<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div><b>M</b>axim <b>S</b>loyko</div></div>
</div></div>