Message ID | 20200527125208.24881-3-p.yadav@ti.com |
---|---|
State | Accepted |
Commit | 97d8a6970a3da5856633f2a705f0687fca4af9a5 |
Headers | show |
Series | regmap: Add managed API, regmap fields, regmap config | expand |
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 > 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; > -- > 2.26.2 >
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;
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(-)