[OE-core] [PATCH 1/1] lttng-modules: fix build issues with the v3.17 kernel
Kamble, Nitin A
nitin.a.kamble at intel.com
Fri Sep 26 16:23:19 UTC 2014
On 9/25/14, 7:23 PM, "Bruce Ashfield" <bruce.ashfield at windriver.com> wrote:
>On 2014-09-25, 10:00 PM, nitin.a.kamble at intel.com wrote:
>> From: Nitin A Kamble <nitin.a.kamble at intel.com>
>>
>> The lttng-modules recipe was failing for meta-intel BSPs with the v3.17
>>kernel.
>> These BSP kernels were enabling some of the audio codec drivers, whose
>> structures are changed recently, causing mismatch with lttng-modules
>>code
>> expectations. The qemu machines did not see this issue as they were not
>> enabling these sound codec kernel configuration.
>> Fix the build issue, by changing the lttng-modules code to match with
>> the structures used by the v3.17 kernel. The code is conditional on the
>> kernel version, that way it keeps working with the older kernel
>>versions.
>>
>> Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
>> ---
>> .../fix_build_with_v3.17_kernel.patch | 111
>>+++++++++++++++++++++
>> meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb | 1 +
>> 2 files changed, 112 insertions(+)
>> create mode 100644
>>meta/recipes-kernel/lttng/lttng-modules/fix_build_with_v3.17_kernel.patch
>>
>> diff --git
>>a/meta/recipes-kernel/lttng/lttng-modules/fix_build_with_v3.17_kernel.pat
>>ch
>>b/meta/recipes-kernel/lttng/lttng-modules/fix_build_with_v3.17_kernel.pat
>>ch
>> new file mode 100644
>> index 0000000..86dfa69
>> --- /dev/null
>> +++
>>b/meta/recipes-kernel/lttng/lttng-modules/fix_build_with_v3.17_kernel.pat
>>ch
>> @@ -0,0 +1,111 @@
>> +Upstream-Status: Pending
>> +
>> +commit 91ec0897b50c9d3f215ce6790b30bc319a136a4e
>> +Author: Nitin A Kamble <nitin.a.kamble at intel.com>
>> +Date: Thu Sep 25 16:51:24 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 at 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 at metafoo.de>
>> + | Signed-off-by: Mark Brown <broonie at 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.
>
>Nice fix. To be consistent with other patches for lttng, we should
>probably
>put an upstream-status field in the header.
It is already at the beginning of the patch. Look few lines above.
>
>Are you going to send this to the project ? They'll probably want to
>tweak it, but for our purposes, this builds and looks fine.
That should be fine. Once it is upstream, the next update to the recipe
can drop the patch.
Nitin
>
>Bruce
>
>> +
>> + Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.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 04e2b0c..6ff961a 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"
>>
>
More information about the Openembedded-core
mailing list