summaryrefslogtreecommitdiffstats
path: root/meta-vib3-extras/recipes/linux
diff options
context:
space:
mode:
Diffstat (limited to 'meta-vib3-extras/recipes/linux')
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch52
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia/0001-Change-extern-inline-to-static-inline.patch133
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compile_error_in_tegra_drivers.patch20
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compiler_error_in_tegra12_lock.patch11
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend65
5 files changed, 281 insertions, 0 deletions
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch b/meta-vib3-extras/recipes/linux/linux-nvidia/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
new file mode 100644
index 0000000..ee61a74
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux/linux-nvidia/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
@@ -0,0 +1,52 @@
1From ef372125fd64fc181869be4cf528488f9e8b46c2 Mon Sep 17 00:00:00 2001
2From: Behan Webster <behanw@converseincode.com>
3Date: Wed, 24 Sep 2014 01:06:46 +0100
4Subject: [PATCH] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
5
6With compilers which follow the C99 standard (like modern versions of gcc and
7clang), "extern inline" does the wrong thing (emits code for an externally
8linkable version of the inline function). In this case using static inline
9and removing the NULL version of return_address in return_address.c does
10the right thing.
11
12Signed-off-by: Behan Webster <behanw@converseincode.com>
13Reviewed-by: Mark Charlebois <charlebm@gmail.com>
14Acked-by: Steven Rostedt <rostedt@goodmis.org>
15Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16---
17 arch/arm/include/asm/ftrace.h | 2 +-
18 arch/arm/kernel/return_address.c | 5 -----
19 2 files changed, 1 insertion(+), 6 deletions(-)
20
21diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
22index f89515a..2bb8cac 100644
23--- a/arch/arm/include/asm/ftrace.h
24+++ b/arch/arm/include/asm/ftrace.h
25@@ -45,7 +45,7 @@ void *return_address(unsigned int);
26
27 #else
28
29-extern inline void *return_address(unsigned int level)
30+static inline void *return_address(unsigned int level)
31 {
32 return NULL;
33 }
34diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
35index fafedd8..f6aa84d 100644
36--- a/arch/arm/kernel/return_address.c
37+++ b/arch/arm/kernel/return_address.c
38@@ -63,11 +63,6 @@ void *return_address(unsigned int level)
39 #warning "TODO: return_address should use unwind tables"
40 #endif
41
42-void *return_address(unsigned int level)
43-{
44- return NULL;
45-}
46-
47 #endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
48
49 EXPORT_SYMBOL_GPL(return_address);
50--
511.9.1
52
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia/0001-Change-extern-inline-to-static-inline.patch b/meta-vib3-extras/recipes/linux/linux-nvidia/0001-Change-extern-inline-to-static-inline.patch
new file mode 100644
index 0000000..66f031f
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux/linux-nvidia/0001-Change-extern-inline-to-static-inline.patch
@@ -0,0 +1,133 @@
1From 0873625fb43dda5a54919b7414f235cdfdd98ddc Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@theqtcompany.com>
3Date: Wed, 13 Apr 2016 15:42:49 +0300
4Subject: [PATCH] Change "extern inline" to "static inline"
5
6With compilers which follow the C99 standard (like modern versions of gcc and
7clang), "extern inline" does the wrong thing (emits code for an externally
8linkable version of the inline function). "static inline" is the correct choice
9instead.
10---
11 drivers/staging/rtl8192u/ieee80211/ieee80211.h | 10 +++++-----
12 drivers/staging/rtl8712/ieee80211.h | 4 ++--
13 lib/mpi/mpi-inline.h | 2 +-
14 lib/mpi/mpi-internal.h | 16 ++++++++--------
15 4 files changed, 16 insertions(+), 16 deletions(-)
16
17diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
18index 502bfdb..1c8d026 100644
19--- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h
20+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
21@@ -2254,7 +2254,7 @@ static inline void *ieee80211_priv(struct net_device *dev)
22 return ((struct ieee80211_device *)netdev_priv(dev))->priv;
23 }
24
25-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
26+static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
27 {
28 /* Single white space is for Linksys APs */
29 if (essid_len == 1 && essid[0] == ' ')
30@@ -2270,7 +2270,7 @@ extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
31 return 1;
32 }
33
34-extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
35+static inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
36 {
37 /*
38 * It is possible for both access points and our device to support
39@@ -2296,7 +2296,7 @@ extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mod
40 return 0;
41 }
42
43-extern inline int ieee80211_get_hdrlen(u16 fc)
44+static inline int ieee80211_get_hdrlen(u16 fc)
45 {
46 int hdrlen = IEEE80211_3ADDR_LEN;
47
48@@ -2582,12 +2582,12 @@ void ieee80211_softmac_scan_syncro(struct ieee80211_device *ieee);
49
50 extern const long ieee80211_wlan_frequencies[];
51
52-extern inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
53+static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
54 {
55 ieee->scans++;
56 }
57
58-extern inline int ieee80211_get_scans(struct ieee80211_device *ieee)
59+static inline int ieee80211_get_scans(struct ieee80211_device *ieee)
60 {
61 return ieee->scans;
62 }
63diff --git a/drivers/staging/rtl8712/ieee80211.h b/drivers/staging/rtl8712/ieee80211.h
64index 21515c3..7518061 100644
65--- a/drivers/staging/rtl8712/ieee80211.h
66+++ b/drivers/staging/rtl8712/ieee80211.h
67@@ -734,7 +734,7 @@ enum ieee80211_state {
68 #define IEEE_G (1<<2)
69 #define IEEE_MODE_MASK (IEEE_A|IEEE_B|IEEE_G)
70
71-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
72+static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
73 {
74 /* Single white space is for Linksys APs */
75 if (essid_len == 1 && essid[0] == ' ')
76@@ -748,7 +748,7 @@ extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
77 return 1;
78 }
79
80-extern inline int ieee80211_get_hdrlen(u16 fc)
81+static inline int ieee80211_get_hdrlen(u16 fc)
82 {
83 int hdrlen = 24;
84
85diff --git a/lib/mpi/mpi-inline.h b/lib/mpi/mpi-inline.h
86index e2b3985..c245ea3 100644
87--- a/lib/mpi/mpi-inline.h
88+++ b/lib/mpi/mpi-inline.h
89@@ -30,7 +30,7 @@
90 #define G10_MPI_INLINE_H
91
92 #ifndef G10_MPI_INLINE_DECL
93-#define G10_MPI_INLINE_DECL extern inline
94+#define G10_MPI_INLINE_DECL static inline
95 #endif
96
97 G10_MPI_INLINE_DECL mpi_limb_t
98diff --git a/lib/mpi/mpi-internal.h b/lib/mpi/mpi-internal.h
99index 77adcf6..4566d11 100644
100--- a/lib/mpi/mpi-internal.h
101+++ b/lib/mpi/mpi-internal.h
102@@ -172,20 +172,20 @@ void mpi_rshift_limbs(MPI a, unsigned int count);
103 int mpi_lshift_limbs(MPI a, unsigned int count);
104
105 /*-- mpihelp-add.c --*/
106-mpi_limb_t mpihelp_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
107- mpi_size_t s1_size, mpi_limb_t s2_limb);
108+//mpi_limb_t mpihelp_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
109+// mpi_size_t s1_size, mpi_limb_t s2_limb);
110 mpi_limb_t mpihelp_add_n(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
111 mpi_ptr_t s2_ptr, mpi_size_t size);
112-mpi_limb_t mpihelp_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
113- mpi_ptr_t s2_ptr, mpi_size_t s2_size);
114+//mpi_limb_t mpihelp_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
115+// mpi_ptr_t s2_ptr, mpi_size_t s2_size);
116
117 /*-- mpihelp-sub.c --*/
118-mpi_limb_t mpihelp_sub_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
119- mpi_size_t s1_size, mpi_limb_t s2_limb);
120+//mpi_limb_t mpihelp_sub_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
121+// mpi_size_t s1_size, mpi_limb_t s2_limb);
122 mpi_limb_t mpihelp_sub_n(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
123 mpi_ptr_t s2_ptr, mpi_size_t size);
124-mpi_limb_t mpihelp_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
125- mpi_ptr_t s2_ptr, mpi_size_t s2_size);
126+//mpi_limb_t mpihelp_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
127+// mpi_ptr_t s2_ptr, mpi_size_t s2_size);
128
129 /*-- mpihelp-cmp.c --*/
130 int mpihelp_cmp(mpi_ptr_t op1_ptr, mpi_ptr_t op2_ptr, mpi_size_t size);
131--
1321.9.1
133
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compile_error_in_tegra_drivers.patch b/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compile_error_in_tegra_drivers.patch
new file mode 100644
index 0000000..8bbc38b
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compile_error_in_tegra_drivers.patch
@@ -0,0 +1,20 @@
1--- a/drivers/platform/tegra/tegra_cl_dvfs.c 2016-04-19 13:05:46.897056724 +0300
2+++ b/drivers/platform/tegra/tegra_cl_dvfs.c 2016-04-19 12:55:28.053751626 +0300
3@@ -1021,7 +1021,7 @@
4
5 static void cl_dvfs_calibrate(struct tegra_cl_dvfs *cld)
6 {
7- u32 val, data;
8+ u32 val=0, data=0;
9 ktime_t now;
10 unsigned long rate;
11 unsigned long step = RATE_STEP(cld);
12@@ -3303,7 +3303,7 @@
13
14 static int monitor_get(void *data, u64 *val)
15 {
16- u32 v, s;
17+ u32 v=0, s=0;
18 unsigned long flags;
19 struct clk *c = (struct clk *)data;
20 struct tegra_cl_dvfs *cld = ((struct clk *)data)->u.dfll.cl_dvfs;
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compiler_error_in_tegra12_lock.patch b/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compiler_error_in_tegra12_lock.patch
new file mode 100644
index 0000000..fc8fe9f
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compiler_error_in_tegra12_lock.patch
@@ -0,0 +1,11 @@
1--- a/drivers/platform/tegra/tegra12_clocks.c 2016-04-19 13:51:34.912235128 +0300
2+++ b/drivers/platform/tegra/tegra12_clocks.c 2016-04-19 13:51:55.739478254 +0300
3@@ -1331,7 +1331,7 @@
4 */
5 static void tegra12_cpu_clk_init(struct clk *c)
6 {
7- c->state = (!is_lp_cluster() == (c->u.cpu.mode == MODE_G))? ON : OFF;
8+ c->state = ((!is_lp_cluster()) == (c->u.cpu.mode == MODE_G))? ON : OFF;
9 }
10
11 static int tegra12_cpu_clk_enable(struct clk *c)
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend b/meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend
new file mode 100644
index 0000000..e59898d
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend
@@ -0,0 +1,65 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30FILESEXTRAPATHS_prepend := "__default:${THISDIR}/${PN}:"
31
32DEPENDS_remove = "external-tegra-toolchain"
33do_kernel_defconfig[depends] = "kern-tools-native:do_populate_sysroot"
34
35SRC_URI += "\
36 file://0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch \
37 file://0001-Change-extern-inline-to-static-inline.patch \
38 file://Fix_compile_error_in_tegra_drivers.patch \
39 file://Fix_compiler_error_in_tegra12_lock.patch \
40 "
41
42do_compile_prepend () {
43 # Cross compiling exports
44 export ARCH=${TARGET_ARCH}
45 export CROSS_COMPILE=${CROSS_COMPILE}
46
47 echo "CONFIG_FHANDLE=y" >> ${B}/.config
48 make olddefconfig
49}
50
51do_install_append() {
52 s=$(readlink -m "${S}")
53 kernsrc="${STAGING_KERNEL_DIR}"
54
55 if [ "${s}" != "${kernsrc}" ]; then
56 mkdir -p "${kernsrc}"
57 rm -rf "${kernsrc}"
58 mv "${S}" "${STAGING_KERNEL_DIR}"
59 ln -sf "${kernsrc}" "${s}"
60 fi
61}
62
63python do_patch () {
64 bb.build.exec_func('patch_do_patch', d)
65}