linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: srinivas.kandagatla@linaro.org (Srinivas Kandagatla)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 1/9] nvmem: Add a simple NVMEM framework for nvmem providers
Date: Tue, 21 Jul 2015 19:40:53 +0100	[thread overview]
Message-ID: <55AE9235.4080809@linaro.org> (raw)
In-Reply-To: <55AE8864.6020608@codeaurora.org>



On 21/07/15 18:59, Stephen Boyd wrote:
> On 07/21/2015 02:41 AM, Srinivas Kandagatla wrote:
>> Thanks Stephen for review,
>>
>> On 20/07/15 22:11, Stephen Boyd wrote:
>>> On 07/20/2015 07:43 AM, Srinivas Kandagatla wrote:
>>>> diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
>>>> new file mode 100644
>>>> index 0000000..bde5528
>>>> --- /dev/null
>>>> +++ b/drivers/nvmem/core.c
>>>> @@ -0,0 +1,384 @@
>>>>
>>>> +
>>>> +static int nvmem_add_cells(struct nvmem_device *nvmem,
>>>> +               const struct nvmem_config *cfg)
>>>> +{
>>>> +    struct nvmem_cell **cells;
>>>> +    const struct nvmem_cell_info *info = cfg->cells;
>>>> +    int i, rval;
>>>> +
>>>> +    cells = kzalloc(sizeof(*cells) * cfg->ncells, GFP_KERNEL);
>>>
>>> kcalloc?
>>
>> Only reason for using kzalloc is to give the code more flexibility to
>> free any pointer in the array in case of errors.
>
> Still lost. The arrays are allocated down below in the for loop. This is
> allocating a bunch of pointers so using kcalloc() here avoids problems
> with overflows causing kzalloc() to allocate fewer pointers than
> requested. I'm not suggesting we replace the for loop with a kcalloc,
> just this single line.
>
Yes we could replace the loop with kcalloc, but the problem is how can 
we handle freeing an element from that array?

AFAIK we can only free the full array rather than each element if we 
allocate it via kcalloc, correct me if Am wrong?

>>
>>>
>>>> +    if (!cells)
>>>> +        return -ENOMEM;
>>>> +
>>>> +    for (i = 0; i < cfg->ncells; i++) {
>>>> +        cells[i] = kzalloc(sizeof(**cells), GFP_KERNEL);
>>>> +        if (!cells[i]) {
>>>> +            rval = -ENOMEM;
>>>> +            goto err;
>>>> +        }
>>>> +
>

  reply	other threads:[~2015-07-21 18:40 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-20 14:42 [PATCH v8 0/9] Add simple NVMEM Framework via regmap Srinivas Kandagatla
2015-07-20 14:43 ` [PATCH v8 1/9] nvmem: Add a simple NVMEM framework for nvmem providers Srinivas Kandagatla
2015-07-20 21:11   ` Stephen Boyd
2015-07-21  9:41     ` Srinivas Kandagatla
2015-07-21  9:54       ` Stefan Wahren
2015-07-21 10:31         ` Srinivas Kandagatla
2015-07-21 17:59       ` Stephen Boyd
2015-07-21 18:40         ` Srinivas Kandagatla [this message]
2015-07-21 18:51         ` Srinivas Kandagatla
2015-07-23 15:26   ` Stefan Wahren
2015-07-23 15:50     ` Srinivas Kandagatla
2015-07-20 14:43 ` [PATCH v8 2/9] nvmem: Add a simple NVMEM framework for consumers Srinivas Kandagatla
2015-07-21 16:25   ` Stefan Wahren
2015-07-22  7:26     ` Srinivas Kandagatla
2015-07-20 14:43 ` [PATCH v8 3/9] nvmem: Add nvmem_device based consumer apis Srinivas Kandagatla
2015-07-20 14:43 ` [PATCH v8 4/9] nvmem: Add bindings for simple nvmem framework Srinivas Kandagatla
2015-07-20 14:43 ` [PATCH v8 5/9] Documentation: nvmem: add nvmem api level and how-to doc Srinivas Kandagatla
2015-07-20 14:44 ` [PATCH v8 6/9] nvmem: qfprom: Add Qualcomm QFPROM support Srinivas Kandagatla
2015-07-20 21:20   ` Stephen Boyd
2015-07-21  9:42     ` Srinivas Kandagatla
2015-07-20 14:44 ` [PATCH v8 7/9] nvmem: qfprom: Add bindings for qfprom Srinivas Kandagatla
2015-07-20 14:44 ` [PATCH v8 8/9] nvmem: sunxi: Move the SID driver to the nvmem framework Srinivas Kandagatla
2015-07-21 16:38   ` Stefan Wahren
2015-07-23 15:48     ` Srinivas Kandagatla
2015-07-23 15:18   ` Stefan Wahren
2015-07-23 15:48     ` Srinivas Kandagatla
2015-07-20 14:44 ` [PATCH v8 9/9] nvmem: Add to MAINTAINERS for " Srinivas Kandagatla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55AE9235.4080809@linaro.org \
    --to=srinivas.kandagatla@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).