aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/fix_build_with_v3.17_kernel.patch113
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb1
2 files changed, 114 insertions, 0 deletions
diff --git a/meta/recipes-kernel/lttng/lttng-modules/fix_build_with_v3.17_kernel.patch b/meta/recipes-kernel/lttng/lttng-modules/fix_build_with_v3.17_kernel.patch
new file mode 100644
index 0000000000..97b7a53a07
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/fix_build_with_v3.17_kernel.patch
@@ -0,0 +1,113 @@
+
+Upstream-Status: Backport
+
+commit 7df57eb5d6bdc85ddcf2b9afb6cd0cacfb22096e
+Author: Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: Thu Sep 25 18:19:43 2014 -0700
+
+ asoc.h: fix build with v3.17 kernel
+
+ 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>
+
+diff --git a/instrumentation/events/lttng-module/asoc.h b/instrumentation/events/lttng-module/asoc.h
+index 672bea4..bf9cf86 100644
+--- a/instrumentation/events/lttng-module/asoc.h
++++ b/instrumentation/events/lttng-module/asoc.h
+@@ -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),
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb b/meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb
index 04e2b0cccc..6ff961a9b1 100644
--- a/meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb
@@ -21,6 +21,7 @@ SRC_URI = "git://git.lttng.org/lttng-modules.git;branch=stable-2.5 \
file://Fix-noargs-probes-should-calculate-alignment-and-eve.patch \
file://Update-statedump-to-3.17-nsproxy-locking.patch \
file://Update-kvm-instrumentation-compile-on-3.17-rc1.patch \
+ file://fix_build_with_v3.17_kernel.patch \
"
export INSTALL_MOD_DIR="kernel/lttng-modules"