diff options
| author | Darren Hart <dvhart@linux.intel.com> | 2011-12-01 16:07:53 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-12-01 16:54:07 +0000 |
| commit | 64f3e247df44f4f165d9ae0574d9c0c56e0a4232 (patch) | |
| tree | 576f17716df2cacafecb4a46680fdd0a2c7614df | |
| parent | a2070fb645bbb1542b304f499b7f1210523836b9 (diff) | |
| download | poky-64f3e247df44f4f165d9ae0574d9c0c56e0a4232.tar.gz | |
trace-cmd: Add blktrace_api compatibility for TC_BARRIER
Newer kernels replace TC_BARRIER with TC_FLUSH. Ensure trace-cmd
can build regardless of the linux-kernel-headers version.
This is intended as a stop-gap to get the builds working again. A
proper fix will need to be discussed with the trace-cmd community.
RP: Tweaked the SRC_URI to remove unnecessary path and added PR bump
(From OE-Core rev: 869372e7e11b9ba38fcfb721c460404c6f31db95)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 files changed, 35 insertions, 4 deletions
diff --git a/meta/recipes-kernel/trace-cmd/kernelshark_1.2.bb b/meta/recipes-kernel/trace-cmd/kernelshark_1.2.bb index aa070a9d9b..d18cb6ac80 100644 --- a/meta/recipes-kernel/trace-cmd/kernelshark_1.2.bb +++ b/meta/recipes-kernel/trace-cmd/kernelshark_1.2.bb | |||
| @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | |||
| 4 | file://kernel-shark.c;beginline=6;endline=8;md5=2c22c965a649ddd7973d7913c5634a5e" | 4 | file://kernel-shark.c;beginline=6;endline=8;md5=2c22c965a649ddd7973d7913c5634a5e" |
| 5 | 5 | ||
| 6 | SRCREV = "7055ffd37beeb44714e86a4abc703f7e175a0db5" | 6 | SRCREV = "7055ffd37beeb44714e86a4abc703f7e175a0db5" |
| 7 | PR = "r0" | 7 | PR = "r1" |
| 8 | PV = "1.2+git${SRCPV}" | 8 | PV = "1.2+git${SRCPV}" |
| 9 | 9 | ||
| 10 | DEPENDS = "gtk+" | 10 | DEPENDS = "gtk+" |
| @@ -14,7 +14,8 @@ inherit pkgconfig | |||
| 14 | 14 | ||
| 15 | SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;protocol=git \ | 15 | SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;protocol=git \ |
| 16 | file://addldflags.patch \ | 16 | file://addldflags.patch \ |
| 17 | file://make-docs-optional.patch" | 17 | file://make-docs-optional.patch \ |
| 18 | file://blktrace-api-compatibility.patch" | ||
| 18 | S = "${WORKDIR}/git" | 19 | S = "${WORKDIR}/git" |
| 19 | 20 | ||
| 20 | EXTRA_OEMAKE = "'CC=${CC}' 'AR=${AR}' 'prefix=${prefix}' gui" | 21 | EXTRA_OEMAKE = "'CC=${CC}' 'AR=${AR}' 'prefix=${prefix}' gui" |
diff --git a/meta/recipes-kernel/trace-cmd/trace-cmd/blktrace-api-compatibility.patch b/meta/recipes-kernel/trace-cmd/trace-cmd/blktrace-api-compatibility.patch new file mode 100644 index 0000000000..0789e9fdf7 --- /dev/null +++ b/meta/recipes-kernel/trace-cmd/trace-cmd/blktrace-api-compatibility.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | trace-cmd: Add blktrace_api compatibility for TC_BARRIER | ||
| 2 | |||
| 3 | Newer kernels replace TC_BARRIER with TC_FLUSH. Ensure trace-cmd | ||
| 4 | can build regardless of the linux-kernel-headers version. | ||
| 5 | |||
| 6 | Upstream-Status: Innapropriate [Stop gap] | ||
| 7 | |||
| 8 | Signed-off-by: Darren Hart <dvhart@linux.intel.com> | ||
| 9 | |||
| 10 | diff --git a/plugin_blk.c b/plugin_blk.c | ||
| 11 | index 9327b17..c8e5e1c 100644 | ||
| 12 | --- a/plugin_blk.c | ||
| 13 | +++ b/plugin_blk.c | ||
| 14 | @@ -44,6 +44,15 @@ struct blk_data { | ||
| 15 | unsigned short pdu_len; | ||
| 16 | }; | ||
| 17 | |||
| 18 | +/* | ||
| 19 | + * Newer kernels don't define BLK_TC_BARRIER and have replaced it with | ||
| 20 | + * BLK_TC_FLUSH. In this case, define it here and report FLUSHES as BARRIERS as | ||
| 21 | + * a workaround, as described in: | ||
| 22 | + * http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=c09c47caedc9854d59378d6e34c989e51cfdd2b4 | ||
| 23 | + */ | ||
| 24 | +#ifndef BLK_TC_BARRIER | ||
| 25 | +#define BLK_TC_BARRIER 1<<2 | ||
| 26 | +#endif | ||
| 27 | static void fill_rwbs(char *rwbs, int action, unsigned int bytes) | ||
| 28 | { | ||
| 29 | int i = 0; | ||
diff --git a/meta/recipes-kernel/trace-cmd/trace-cmd_1.2.bb b/meta/recipes-kernel/trace-cmd/trace-cmd_1.2.bb index 1b9231bc12..d40dc6e4d0 100644 --- a/meta/recipes-kernel/trace-cmd/trace-cmd_1.2.bb +++ b/meta/recipes-kernel/trace-cmd/trace-cmd_1.2.bb | |||
| @@ -4,14 +4,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | |||
| 4 | file://trace-cmd.c;beginline=6;endline=8;md5=2c22c965a649ddd7973d7913c5634a5e" | 4 | file://trace-cmd.c;beginline=6;endline=8;md5=2c22c965a649ddd7973d7913c5634a5e" |
| 5 | 5 | ||
| 6 | SRCREV = "7055ffd37beeb44714e86a4abc703f7e175a0db5" | 6 | SRCREV = "7055ffd37beeb44714e86a4abc703f7e175a0db5" |
| 7 | PR = "r0" | 7 | PR = "r1" |
| 8 | PV = "1.2+git${SRCPV}" | 8 | PV = "1.2+git${SRCPV}" |
| 9 | 9 | ||
| 10 | inherit pkgconfig | 10 | inherit pkgconfig |
| 11 | 11 | ||
| 12 | SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;protocol=git \ | 12 | SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;protocol=git \ |
| 13 | file://addldflags.patch \ | 13 | file://addldflags.patch \ |
| 14 | file://make-docs-optional.patch" | 14 | file://make-docs-optional.patch \ |
| 15 | file://trace-cmd/blktrace-api-compatibility.patch" | ||
| 15 | S = "${WORKDIR}/git" | 16 | S = "${WORKDIR}/git" |
| 16 | 17 | ||
| 17 | EXTRA_OEMAKE = "'prefix=${prefix}'" | 18 | EXTRA_OEMAKE = "'prefix=${prefix}'" |
