Thread (23 messages) flat view 23 messages, 4 authors, 2020-04-15

Re: [PATCH v6 5/7] ASoC: fsl_asrc: Move common definition to fsl_asrc_common

From: Shengjiu Wang <shengjiu.wang@gmail.com>
Date: 2020-04-13 07:19:22
Also in: alsa-devel, linux-devicetree, lkml

On Mon, Apr 13, 2020 at 12:31 PM Nicolin Chen [off-list ref] wrote:
On Mon, Apr 13, 2020 at 11:16:31AM +0800, Shengjiu Wang wrote:
quoted
On Sun, Apr 12, 2020 at 10:08 AM Nicolin Chen [off-list ref] wrote:
quoted
On Sat, Apr 11, 2020 at 01:49:43PM +0800, Shengjiu Wang wrote:
quoted
quoted
quoted
diff --git a/sound/soc/fsl/fsl_asrc_dma.c b/sound/soc/fsl/fsl_asrc_dma.c
index b15946e03380..5cf0468ce6e3 100644
--- a/sound/soc/fsl/fsl_asrc_dma.c
+++ b/sound/soc/fsl/fsl_asrc_dma.c
quoted
@@ -311,11 +311,12 @@ static int fsl_asrc_dma_startup(struct snd_soc_component *component,
              return ret;
      }

-     pair = kzalloc(sizeof(struct fsl_asrc_pair), GFP_KERNEL);
+     pair = kzalloc(sizeof(struct fsl_asrc_pair) + PAIR_PRIVAT_SIZE, GFP_KERNEL);
If we only use the PAIR_PRIVATE_SIZE here, maybe we can put the
define in this file too, rather than in the header file.

And could fit 80 characters:

+       pair = kzalloc(sizeof(*pair) + PAIR_PRIVAT_SIZE, GFP_KERNEL);
quoted
I will use a function pointer
    int (*get_pair_priv_size)(void)
Since it's the size of pair or cts structure, could be just a
size_t variable?
Yes, should be "size_t (*get_pair_priv_size)(void)"
Does it have to be a function? -- how about this:

struct pair {
        ...
        size_t private_size;
        void *private;
};

probe/or-somewhere() {
        ...
        pair->private = pair_priv;
we need to know the size of pair_priv before allocate memory.
        pair->private_size = sizeof(*pair_priv);
        ...
}
In fsl_asrc_dma_startup, we need to allocate memory for pair and
pair->private,but we don't know the object, so we don't know the
size of private, so function pointer is better.

best regards
wang shengjiu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help