On Fri, Feb 19, 2021 at 04:00:50PM -0500, Tom Rini wrote:
> On Thu, Feb 18, 2021 at 08:39:42PM +0000, Peter Robinson wrote:
> > On Thu, Feb 18, 2021 at 8:36 PM Heinrich Schuchardt <xypron.g...@gmx.de> 
> > wrote:
> > >
> > > On 18.02.21 21:06, Peter Robinson wrote:
> > > > In 8a8d24bd Simon dropped data from all the various _platdata calls
> > > > but it seems this wasn't caught for the RNG200 driver from when it
> > > > was posted to merged. This fixes that issue.
> > > >
> > > > Fixes: 537f0018 (rng: Add iProc RNG200 driver)
> > > > Signed-off-by: Peter Robinson <pbrobin...@gmail.com>
> > > > ---
> > > >  drivers/rng/iproc_rng200.c | 20 ++++++++++----------
> > > >  1 file changed, 10 insertions(+), 10 deletions(-)
> > > >
> > > > diff --git a/drivers/rng/iproc_rng200.c b/drivers/rng/iproc_rng200.c
> > > > index f71f285f53..1126bbd797 100644
> > > > --- a/drivers/rng/iproc_rng200.c
> > > > +++ b/drivers/rng/iproc_rng200.c
> > > > @@ -33,11 +33,11 @@
> > > >  #define RNG_FIFO_COUNT_OFFSET                                0x24
> > > >  #define RNG_FIFO_COUNT_RNG_FIFO_COUNT_MASK           0x000000FF
> > > >
> > > > -struct iproc_rng200_platdata {
> > > > +struct iproc_rng200_plat {
> > >
> > > The renaming of the structure seems to be unrelated to the commit message.
> > >
> > > You are moving from allocating via plat_auto to priv_auto. So a
> > > reasonable name for the structure would be iproc_rng200_priv.
> > >
> > > >       fdt_addr_t base;
> > > >  };
> > > >
> > > > -static void iproc_rng200_enable(struct iproc_rng200_platdata *pdata, 
> > > > bool enable)
> > > > +static void iproc_rng200_enable(struct iproc_rng200_plat *pdata, bool 
> > > > enable)
> > > >  {
> > > >       fdt_addr_t rng_base = pdata->base;
> > > >       u32 val;
> > > > @@ -52,7 +52,7 @@ static void iproc_rng200_enable(struct 
> > > > iproc_rng200_platdata *pdata, bool enable
> > > >       writel(val, rng_base + RNG_CTRL_OFFSET);
> > > >  }
> > > >
> > > > -static void iproc_rng200_restart(struct iproc_rng200_platdata *pdata)
> > > > +static void iproc_rng200_restart(struct iproc_rng200_plat *pdata)
> > > >  {
> > > >       fdt_addr_t rng_base = pdata->base;
> > > >       u32 val;
> > > > @@ -84,7 +84,7 @@ static void iproc_rng200_restart(struct 
> > > > iproc_rng200_platdata *pdata)
> > > >
> > > >  static int iproc_rng200_read(struct udevice *dev, void *data, size_t 
> > > > len)
> > > >  {
> > > > -     struct iproc_rng200_platdata *priv = dev_get_plat(dev);
> > > > +     struct iproc_rng200_plat *priv = dev_get_plat(dev);
> > >
> > > At the end of the patch you move from plat_auto to priv_auto. So
> > > shouldn't you call dev_get_priv(dev)?
> > >
> > > >       char *buf = (char *)data;
> > > >       u32 num_remaining = len;
> > > >       u32 status;
> > > > @@ -136,7 +136,7 @@ static int iproc_rng200_read(struct udevice *dev, 
> > > > void *data, size_t len)
> > > >
> > > >  static int iproc_rng200_probe(struct udevice *dev)
> > > >  {
> > > > -     struct iproc_rng200_platdata *priv = dev_get_plat(dev);
> > > > +     struct iproc_rng200_plat *priv = dev_get_plat(dev);
> > > >
> > > >       iproc_rng200_enable(priv, true);
> > > >
> > > > @@ -145,16 +145,16 @@ static int iproc_rng200_probe(struct udevice *dev)
> > > >
> > > >  static int iproc_rng200_remove(struct udevice *dev)
> > > >  {
> > > > -     struct iproc_rng200_platdata *priv = dev_get_plat(dev);
> > > > +     struct iproc_rng200_plat *priv = dev_get_plat(dev);
> > > >
> > > >       iproc_rng200_enable(priv, false);
> > > >
> > > >       return 0;
> > > >  }
> > > >
> > > > -static int iproc_rng200_ofdata_to_platdata(struct udevice *dev)
> > > > +static int iproc_rng200_of_to_plat(struct udevice *dev)
> > > >  {
> > > > -     struct iproc_rng200_platdata *pdata = dev_get_plat(dev);
> > > > +     struct iproc_rng200_plat *pdata = dev_get_plat(dev);
> > > >
> > > >       pdata->base = dev_read_addr(dev);
> > > >       if (!pdata->base)
> > > > @@ -180,6 +180,6 @@ U_BOOT_DRIVER(iproc_rng200_rng) = {
> > > >       .ops = &iproc_rng200_ops,
> > > >       .probe = iproc_rng200_probe,
> > > >       .remove = iproc_rng200_remove,
> > > > -     .plat_auto = sizeof(struct iproc_rng200_platdata),
> > > > -     .of_to_plat = iproc_rng200_ofdata_to_platdata,
> > > > +     .priv_auto = sizeof(struct iproc_rng200_plat),
> > > > +     .of_to_plat = iproc_rng200_of_to_plat,
> > >
> > > Why do you set of_to_plat if you are using priv_auto data?
> > > I would have expected the probe function to fill the auto allocated
> > > private data.
> > 
> > I based the change on Simon's changes
> 
> Yeah, this is fine, it was generally a global search and replace on all
> the structs and funcs.  I'll pick this up (and some similar patches)
> soon, and just be a little annoyed at all the code that's clearly not
> getting built somehow today.  It'd be great to figure out if it should
> be in some defconfig or what.
> 

Tom, please keep me in the loop when you notify that you pushed this to
master. I have some patches in my queue that will enable the iProc
RNG200 driver for armv7 and plan to send it, after this got merged.

Regards,
Matthias

Reply via email to