core/linux-peach to 3.8.11-2

This commit is contained in:
Kevin Mihelich 2015-07-16 00:30:50 +00:00
parent ed977a525d
commit 960955033e
6 changed files with 20 additions and 175 deletions

View file

@ -1,97 +0,0 @@
From 5d04fa7b5a52b9cd90d6968c078e5aac2d4d0a6c Mon Sep 17 00:00:00 2001
From: Sasha Levin <sasha.levin@oracle.com>
Date: Mon, 13 Oct 2014 15:51:05 -0700
Subject: [PATCH 1/5] kernel: add support for gcc 5
We're missing include/linux/compiler-gcc5.h which is required now
because gcc branched off to v5 in trunk.
Just copy the relevant bits out of include/linux/compiler-gcc4.h,
no new code is added as of now.
This fixes a build error when using gcc 5.
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
include/linux/compiler-gcc5.h | 66 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
create mode 100644 include/linux/compiler-gcc5.h
diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h
new file mode 100644
index 0000000..cdd1cc2
--- /dev/null
+++ b/include/linux/compiler-gcc5.h
@@ -0,0 +1,66 @@
+#ifndef __LINUX_COMPILER_H
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
+#endif
+
+#define __used __attribute__((__used__))
+#define __must_check __attribute__((warn_unused_result))
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
+
+/* Mark functions as cold. gcc will assume any path leading to a call
+ to them will be unlikely. This means a lot of manual unlikely()s
+ are unnecessary now for any paths leading to the usual suspects
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
+ older compilers]
+
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
+ in the preprocessor, but we can live with this because they're unreleased.
+ Maketime probing would be overkill here.
+
+ gcc also has a __attribute__((__hot__)) to move hot functions into
+ a special section, but I don't see any sense in this right now in
+ the kernel context */
+#define __cold __attribute__((__cold__))
+
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
+
+#ifndef __CHECKER__
+# define __compiletime_warning(message) __attribute__((warning(message)))
+# define __compiletime_error(message) __attribute__((error(message)))
+#endif /* __CHECKER__ */
+
+/*
+ * Mark a position in code as unreachable. This can be used to
+ * suppress control flow warnings after asm blocks that transfer
+ * control elsewhere.
+ *
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
+ * this in the preprocessor, but we can live with this because they're
+ * unreleased. Really, we need to have autoconf for the kernel.
+ */
+#define unreachable() __builtin_unreachable()
+
+/* Mark a function definition as prohibited from being cloned. */
+#define __noclone __attribute__((__noclone__))
+
+/*
+ * Tell the optimizer that something else uses this function or variable.
+ */
+#define __visible __attribute__((externally_visible))
+
+/*
+ * GCC 'asm goto' miscompiles certain code sequences:
+ *
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
+ *
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
+ * Fixed in GCC 4.8.2 and later versions.
+ *
+ * (asm goto is automatically volatile - the naming reflects this.)
+ */
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
+
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
+#define __HAVE_BUILTIN_BSWAP32__
+#define __HAVE_BUILTIN_BSWAP64__
+#define __HAVE_BUILTIN_BSWAP16__
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
--
2.4.4

View file

@ -1,7 +1,7 @@
From c1f02c13645456e064cb21fd413ea6ea24d9c1a1 Mon Sep 17 00:00:00 2001
From 648705896f1b7621b0acba6ca760e553a548ca59 Mon Sep 17 00:00:00 2001
From: Bing Zhao <bzhao@marvell.com>
Date: Mon, 19 Aug 2013 16:10:21 -0700
Subject: [PATCH 3/5] mwifiex: do not create AP and P2P interfaces upon driver
Subject: [PATCH 1/3] mwifiex: do not create AP and P2P interfaces upon driver
loading
Bug 60747 - 1286:2044 [Microsoft Surface Pro]
@ -61,5 +61,5 @@ index 459773b..7fcc7b4 100644
mwifiex_drv_get_driver_version(adapter, fmt, sizeof(fmt) - 1);
--
2.4.4
2.4.5

View file

@ -1,52 +0,0 @@
From fde1e73dcc14f05c9598151434aa0bfa5d24a075 Mon Sep 17 00:00:00 2001
From: Behan Webster <behanw@converseincode.com>
Date: Wed, 24 Sep 2014 01:06:46 +0100
Subject: [PATCH 2/5] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
With compilers which follow the C99 standard (like modern versions of gcc and
clang), "extern inline" does the wrong thing (emits code for an externally
linkable version of the inline function). In this case using static inline
and removing the NULL version of return_address in return_address.c does
the right thing.
Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
arch/arm/include/asm/ftrace.h | 2 +-
arch/arm/kernel/return_address.c | 5 -----
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
index f89515a..2bb8cac 100644
--- a/arch/arm/include/asm/ftrace.h
+++ b/arch/arm/include/asm/ftrace.h
@@ -45,7 +45,7 @@ void *return_address(unsigned int);
#else
-extern inline void *return_address(unsigned int level)
+static inline void *return_address(unsigned int level)
{
return NULL;
}
diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
index 981087a..824d55c 100644
--- a/arch/arm/kernel/return_address.c
+++ b/arch/arm/kernel/return_address.c
@@ -62,11 +62,6 @@ void *return_address(unsigned int level)
#warning "TODO: return_address should use unwind tables"
#endif
-void *return_address(unsigned int level)
-{
- return NULL;
-}
-
#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
EXPORT_SYMBOL_GPL(return_address);
--
2.4.4

View file

@ -1,7 +1,7 @@
From baf9ac12d612d8938102d096084cad596a42afa2 Mon Sep 17 00:00:00 2001
From e2718694570246a927b162e221af08f8a4704d9d Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Thu, 25 Jun 2015 20:35:06 -0600
Subject: [PATCH 4/5] use chromiumos mwifiex drivers
Subject: [PATCH 2/3] use chromiumos mwifiex drivers
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
---
@ -26,5 +26,5 @@ index 57eeb89..455cc32 100644
#define BLOCK_MODE 1
--
2.4.4
2.4.5

View file

@ -1,7 +1,7 @@
From e20243ddeb8a9e6a956b2233d13691356e728a9d Mon Sep 17 00:00:00 2001
From 26961bc70921e3da135acddf9ee06be1d4c8976b Mon Sep 17 00:00:00 2001
From: "S.J.R. van Schaik" <stephan@synkhronix.com>
Date: Thu, 19 Jun 2014 17:08:06 +0100
Subject: [PATCH 5/5] exynos DRM: have exynos_drm_fbdev_update() set smem_start
Subject: [PATCH 3/3] exynos DRM: have exynos_drm_fbdev_update() set smem_start
and smem_len.
---
@ -22,5 +22,5 @@ index 02fd32d..6ea4a35 100644
return 0;
}
--
2.4.4
2.4.5

View file

@ -7,8 +7,8 @@ pkgbase=linux-peach
_kernelname=${pkgbase#linux}
_desc="Exynos Chromebooks (Peach, Snow, Spring)"
pkgver=3.8.11
pkgrel=1
_commit=b719299d59e0ed0ead4ce8667f21cb00ea954ca5
pkgrel=2
_commit=75dd2035f13c18744f6085d9f86a15172b95ea81
arch=('armv7h')
url="https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.8"
license=('GPL2')
@ -16,11 +16,9 @@ makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' '
options=('!strip')
source=("https://chromium.googlesource.com/chromiumos/third_party/kernel/+archive/${_commit}.tar.gz"
http://archlinuxarm.org/builder/src/sd{8787,8797,8897}_uapsta_cros.bin
'0001-kernel-add-support-for-gcc-5.patch'
'0002-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch'
'0003-mwifiex-do-not-create-AP-and-P2P-interfaces-upon-dri.patch'
'0004-use-chromiumos-mwifiex-drivers.patch'
'0005-exynos-DRM-have-exynos_drm_fbdev_update-set-smem_sta.patch'
'0001-mwifiex-do-not-create-AP-and-P2P-interfaces-upon-dri.patch'
'0002-use-chromiumos-mwifiex-drivers.patch'
'0003-exynos-DRM-have-exynos_drm_fbdev_update-set-smem_sta.patch'
'config'
'kernel.its'
'kernel.keyblock'
@ -30,11 +28,9 @@ md5sums=('SKIP'
'bda543cb5943eac34e16d12911f3ee99'
'dc6da2272ffb8ea63f10bc4457cc3f70'
'5d74feddd86b9c1e6cd23704795cc7d7'
'3e25a575dcd98170f3e06e1cc2579c1e'
'b7e82ebd11ccf52882f6954f4e275df7'
'751e16c71e75c755e31e9e2e50469d7d'
'6cfc74e57ee5551ecbf81f2e4f5ffda1'
'903e7971321fb7688f5eedc029117edc'
'8d44534965bda4a009e03d11bbb03d2f'
'bdcaf5ecc962cfdd6a732be8fbb96e0a'
'f7f9c336e574efae3aeb32562e8752ef'
'7e1d18307858818b9d85cd841a6da6b9'
'9791091c8e4158297533df988d1a47da'
'61c5ff73c136ed07a7aadbf58db3d96a'
@ -42,11 +38,9 @@ md5sums=('SKIP'
'caac3e4ace66a81a3e0a3e7348e99098')
prepare() {
git apply 0001-kernel-add-support-for-gcc-5.patch
git apply 0002-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
git apply 0003-mwifiex-do-not-create-AP-and-P2P-interfaces-upon-dri.patch
git apply 0004-use-chromiumos-mwifiex-drivers.patch
git apply 0005-exynos-DRM-have-exynos_drm_fbdev_update-set-smem_sta.patch
git apply 0001-mwifiex-do-not-create-AP-and-P2P-interfaces-upon-dri.patch
git apply 0002-use-chromiumos-mwifiex-drivers.patch
git apply 0003-exynos-DRM-have-exynos_drm_fbdev_update-set-smem_sta.patch
cp config .config