[PATCH 2/8] regmap: zero out the regmap on allocation
Pratyush Yadav
p.yadav at ti.com
Thu Jun 4 16:43:15 CEST 2020
Hi Simon,
On 31/05/20 08:08AM, Simon Glass wrote:
> Hi Pratyush,
>
> On Wed, 27 May 2020 at 06:52, Pratyush Yadav <p.yadav at ti.com> wrote:
> >
> > Some fields will be introduced in the regmap structure that should be
> > set to 0 by default. So, once we allocate a regmap, make sure it is
> > zeroed out to avoid unexpected defaults for those values.
> >
> > Signed-off-by: Pratyush Yadav <p.yadav at ti.com>
> > ---
> > drivers/core/regmap.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> But I think you should use calloc() instead
Ok. Will do. FWIW, I don't see a clear separation of the total size into
elements and size of each element so I think doing something like
calloc(1, size) is a bit strange.
> > diff --git a/drivers/core/regmap.c b/drivers/core/regmap.c
> > index 74225361fd..24651fb3ec 100644
> > --- a/drivers/core/regmap.c
> > +++ b/drivers/core/regmap.c
> > @@ -30,10 +30,12 @@ DECLARE_GLOBAL_DATA_PTR;
> > static struct regmap *regmap_alloc(int count)
> > {
> > struct regmap *map;
> > + size_t size = sizeof(*map) + sizeof(map->ranges[0]) * count;
> >
> > - map = malloc(sizeof(*map) + sizeof(map->ranges[0]) * count);
> > + map = malloc(size);
> > if (!map)
> > return NULL;
> > + memset(map, 0, size);
> > map->range_count = count;
> >
> > return map;
--
Regards,
Pratyush Yadav
Texas Instruments India
More information about the U-Boot
mailing list