diff mbox

[1/xx,sample] ASoC: add COMPONENT_FUNC() macro for snd_soc_component_driver

Message ID 87invi8xwc.wl%kuninori.morimoto.gx@renesas.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kuninori Morimoto Aug. 3, 2016, 1:13 a.m. UTC
snd_soc_component_driver requests some struct xxx, and int num_xxx.
To make initialize easy, this patch adds COMPONENT_FUNC() macro.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 include/sound/soc.h | 3 +++
 1 file changed, 3 insertions(+)

Comments

Lars-Peter Clausen Aug. 3, 2016, 7:16 p.m. UTC | #1
On 08/03/2016 03:13 AM, Kuninori Morimoto wrote:
> snd_soc_component_driver requests some struct xxx, and int num_xxx.
> To make initialize easy, this patch adds COMPONENT_FUNC() macro.
> 
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> ---
>  include/sound/soc.h | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/include/sound/soc.h b/include/sound/soc.h
> index 6144882..41c21f9 100644
> --- a/include/sound/soc.h
> +++ b/include/sound/soc.h
> @@ -795,6 +795,9 @@ struct snd_soc_component_driver {
>  	int probe_order;
>  	int remove_order;
>  };
> +#define COMPONENT_FUNC(name, func)		\
> +	.name		= func,			\
> +	.num_##name	= ARRAY_SIZE(func)

I'd avoid like to a void this kind of macro. Sure it slightly reduces
boilerplate code, but it is difficult to parse for both humans as well as
machines. Makes the code much less intuitive to understand and also breaks
automated scripts.
Kuninori Morimoto Aug. 4, 2016, 12:39 a.m. UTC | #2
Hi Lars

Thank you for your feedback

> > snd_soc_component_driver requests some struct xxx, and int num_xxx.
> > To make initialize easy, this patch adds COMPONENT_FUNC() macro.
> > 
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > ---
> >  include/sound/soc.h | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/include/sound/soc.h b/include/sound/soc.h
> > index 6144882..41c21f9 100644
> > --- a/include/sound/soc.h
> > +++ b/include/sound/soc.h
> > @@ -795,6 +795,9 @@ struct snd_soc_component_driver {
> >  	int probe_order;
> >  	int remove_order;
> >  };
> > +#define COMPONENT_FUNC(name, func)		\
> > +	.name		= func,			\
> > +	.num_##name	= ARRAY_SIZE(func)
> 
> I'd avoid like to a void this kind of macro. Sure it slightly reduces
> boilerplate code, but it is difficult to parse for both humans as well as
> machines. Makes the code much less intuitive to understand and also breaks
> automated scripts.

Thanks, and yes agree.
Now, I'm creating many patches without above macro.
diff mbox

Patch

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 6144882..41c21f9 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -795,6 +795,9 @@  struct snd_soc_component_driver {
 	int probe_order;
 	int remove_order;
 };
+#define COMPONENT_FUNC(name, func)		\
+	.name		= func,			\
+	.num_##name	= ARRAY_SIZE(func)
 
 struct snd_soc_component {
 	const char *name;