asoc.h: fix build with v3.17 kernel
authorNitin A Kamble <nitin.a.kamble@intel.com>
Fri, 26 Sep 2014 01:19:43 +0000 (18:19 -0700)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 20 Oct 2014 18:53:32 +0000 (14:53 -0400)
The snd_soc_codec structure has changed in the v3.17 kernel. Some
of the redundant fields have been removed. To be specific this commit
from the v3.17 kernel causes the build failure for lttng-modules.

|commit f4333203ec933f9272c90c7add01774ec2cf94d3
|Author: Lars-Peter Clausen <lars@metafoo.de>
|Date:   Mon Jun 16 18:13:02 2014 +0200
|
|    ASoC: Move name and id from CODEC/platform to component
|
|    The component struct already has a name and id field which are initialized to
|    the same values as the same fields in the CODEC and platform structs. So remove
|    them from the CODEC and platform structs and used the ones from the component
|    struct instead.
|
|    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
|    Signed-off-by: Mark Brown <broonie@linaro.org>

The asoc.h is changed according to the change in the above kernel commit
to fix the lttng-modules build. The change in the lttng-modules code is
conditional on the kernel version, so that it does not break builds with
previous kernel versions.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
instrumentation/events/lttng-module/asoc.h

index 672bea414478d66bc9f06a19c12fb6d166010188..bf9cf86f7fef3b81baab32438b155202aa476af5 100644 (file)
@@ -21,6 +21,14 @@ struct snd_soc_card;
 struct snd_soc_dapm_widget;
 #endif
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
+#define CODEC_NAME_FIELD component.name
+#define CODEC_ID_FIELD component.id
+#else
+#define CODEC_NAME_FIELD name
+#define CODEC_ID_FIELD id
+#endif
+
 /*
  * Log register events
  */
@@ -32,15 +40,15 @@ DECLARE_EVENT_CLASS(snd_soc_reg,
        TP_ARGS(codec, reg, val),
 
        TP_STRUCT__entry(
-               __string(       name,           codec->name     )
+               __string(       name,           codec->CODEC_NAME_FIELD )
                __field(        int,            id              )
                __field(        unsigned int,   reg             )
                __field(        unsigned int,   val             )
        ),
 
        TP_fast_assign(
-               tp_strcpy(name, codec->name)
-               tp_assign(id, codec->id)
+               tp_strcpy(name, codec->CODEC_NAME_FIELD)
+               tp_assign(id, codec->CODEC_ID_FIELD)
                tp_assign(reg, reg)
                tp_assign(val, val)
        ),
@@ -77,15 +85,15 @@ DECLARE_EVENT_CLASS(snd_soc_preg,
        TP_ARGS(platform, reg, val),
 
        TP_STRUCT__entry(
-               __string(       name,           platform->name  )
+               __string(       name,           platform->CODEC_NAME_FIELD      )
                __field(        int,            id              )
                __field(        unsigned int,   reg             )
                __field(        unsigned int,   val             )
        ),
 
        TP_fast_assign(
-               tp_strcpy(name, platform->name)
-               tp_assign(id, platform->id)
+               tp_strcpy(name, platform->CODEC_NAME_FIELD)
+               tp_assign(id, platform->CODEC_ID_FIELD)
                tp_assign(reg, reg)
                tp_assign(val, val)
        ),
@@ -399,17 +407,17 @@ TRACE_EVENT(snd_soc_cache_sync,
        TP_ARGS(codec, type, status),
 
        TP_STRUCT__entry(
-               __string(       name,           codec->name     )
+               __string(       name,           codec->CODEC_NAME_FIELD )
                __string(       status,         status          )
                __string(       type,           type            )
                __field(        int,            id              )
        ),
 
        TP_fast_assign(
-               tp_strcpy(name, codec->name)
+               tp_strcpy(name, codec->CODEC_NAME_FIELD)
                tp_strcpy(status, status)
                tp_strcpy(type, type)
-               tp_assign(id, codec->id)
+               tp_assign(id, codec->CODEC_ID_FIELD)
        ),
 
        TP_printk("codec=%s.%d type=%s status=%s", __get_str(name),
This page took 0.029386 seconds and 4 git commands to generate.