diff options
author | Samuli Piippo <samuli.piippo@qt.io> | 2016-09-28 16:44:45 +0300 |
---|---|---|
committer | Samuli Piippo <samuli.piippo@qt.io> | 2016-10-06 05:57:49 +0000 |
commit | cfebf8586735f4db9c9573c1af9eb1553132c0e8 (patch) | |
tree | 34951b02cfd35498ed524ed8b286ccd25a63d909 | |
parent | 173cf50e88d53f9cf81c0ac5f2f186834ca3b81f (diff) | |
download | meta-boot2qt-cfebf8586735f4db9c9573c1af9eb1553132c0e8.tar.gz |
tegra: update recipes to work with krogoth
Extra patch needed for linux libc headers to get systemd to build.
../git/src/basic/btrfs-util.c:1122:23: error: 'BTRFS_IOC_QUOTA_RESCAN_WAIT'
undeclared (first use in this function)
Change-Id: Ic4706679cef9b9eef7a333c7a7c3985104be6012
Reviewed-by: Risto Avila <risto.avila@qt.io>
-rw-r--r-- | conf/distro/include/nvidia-logan.conf | 3 | ||||
-rw-r--r-- | conf/distro/include/tegra-t18x.conf | 2 | ||||
-rw-r--r-- | meta-vib3-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend (renamed from meta-vib3-extras/recipes/linux-libc-headers/linux-libc-headers_4.1.bbappend) | 5 | ||||
-rw-r--r-- | meta-vib3-extras/recipes/linux/linux-nvidia/0001-Btrfs-add-ioctl-to-wait-for-qgroup-rescan-completion.patch | 124 | ||||
-rw-r--r-- | meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend | 6 | ||||
-rw-r--r-- | meta-vib4-extras/recipes/glibc/glibc_2.22.bbappend | 15 | ||||
-rw-r--r-- | meta-vib4-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend (renamed from meta-vib4-extras/recipes/linux-libc-headers/linux-libc-headers_4.1.bbappend) | 0 | ||||
-rw-r--r-- | meta-vib4-extras/recipes/linux/linux-nvidia.bbappend | 6 | ||||
-rw-r--r-- | meta-vib4-extras/recipes/weston/weston-nv.bbappend | 32 |
9 files changed, 176 insertions, 17 deletions
diff --git a/conf/distro/include/nvidia-logan.conf b/conf/distro/include/nvidia-logan.conf index 23c84c6..0dc1d84 100644 --- a/conf/distro/include/nvidia-logan.conf +++ b/conf/distro/include/nvidia-logan.conf | |||
@@ -60,6 +60,7 @@ BBMASK += "\ | |||
60 | meta-vib3/recipes-core/systemd \ | 60 | meta-vib3/recipes-core/systemd \ |
61 | meta-vib3/recipes-connectivity \ | 61 | meta-vib3/recipes-connectivity \ |
62 | meta-vib3/recipes-multimedia/pulseaudio \ | 62 | meta-vib3/recipes-multimedia/pulseaudio \ |
63 | meta-vib3/recipes-core/meta/external-tegra-toolchain.bb \ | 63 | meta-vib3/recipes-core/meta \ |
64 | meta-vib3/recipes-core/packagegroups \ | 64 | meta-vib3/recipes-core/packagegroups \ |
65 | meta-vib3/recipes-devtools/gcc \ | ||
65 | " | 66 | " |
diff --git a/conf/distro/include/tegra-t18x.conf b/conf/distro/include/tegra-t18x.conf index 189c4c9..515eb8d 100644 --- a/conf/distro/include/tegra-t18x.conf +++ b/conf/distro/include/tegra-t18x.conf | |||
@@ -22,6 +22,8 @@ | |||
22 | 22 | ||
23 | include conf/distro/include/tegra.inc | 23 | include conf/distro/include/tegra.inc |
24 | 24 | ||
25 | OLDEST_KERNEL_aarch64 = "3.18" | ||
26 | |||
25 | TARGET_CFLAGS += " -DWIN_INTERFACE_CUSTOM" | 27 | TARGET_CFLAGS += " -DWIN_INTERFACE_CUSTOM" |
26 | DISTRO_FEATURES_DEFAULT += "wayland" | 28 | DISTRO_FEATURES_DEFAULT += "wayland" |
27 | 29 | ||
diff --git a/meta-vib3-extras/recipes/linux-libc-headers/linux-libc-headers_4.1.bbappend b/meta-vib3-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend index 3ff042b..661e595 100644 --- a/meta-vib3-extras/recipes/linux-libc-headers/linux-libc-headers_4.1.bbappend +++ b/meta-vib3-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend | |||
@@ -7,3 +7,8 @@ SRC_URI = "file://${KERN_DIR}/linux.tar.bz2" | |||
7 | # Extracting linux.tar.bz2 creates directories | 7 | # Extracting linux.tar.bz2 creates directories |
8 | # <top>/vibrante-oss-src/kernel | 8 | # <top>/vibrante-oss-src/kernel |
9 | S = "${WORKDIR}/vibrante-oss-src/kernel" | 9 | S = "${WORKDIR}/vibrante-oss-src/kernel" |
10 | |||
11 | FILESEXTRAPATHS_prepend := "${THISDIR}/../linux/linux-nvidia:" | ||
12 | SRC_URI += "\ | ||
13 | file://0001-Btrfs-add-ioctl-to-wait-for-qgroup-rescan-completion.patch \ | ||
14 | " | ||
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia/0001-Btrfs-add-ioctl-to-wait-for-qgroup-rescan-completion.patch b/meta-vib3-extras/recipes/linux/linux-nvidia/0001-Btrfs-add-ioctl-to-wait-for-qgroup-rescan-completion.patch new file mode 100644 index 0000000..b495d39 --- /dev/null +++ b/meta-vib3-extras/recipes/linux/linux-nvidia/0001-Btrfs-add-ioctl-to-wait-for-qgroup-rescan-completion.patch | |||
@@ -0,0 +1,124 @@ | |||
1 | From 57254b6ebce4ceca02d9c8b615f6059c56c19238 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jan Schmidt <list.btrfs@jan-o-sch.net> | ||
3 | Date: Mon, 6 May 2013 19:14:17 +0000 | ||
4 | Subject: [PATCH] Btrfs: add ioctl to wait for qgroup rescan completion | ||
5 | |||
6 | btrfs_qgroup_wait_for_completion waits until the currently running qgroup | ||
7 | operation completes. It returns immediately when no rescan process is in | ||
8 | progress. This is useful to automate things around the rescan process (e.g. | ||
9 | testing). | ||
10 | |||
11 | Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net> | ||
12 | Signed-off-by: Josef Bacik <jbacik@fusionio.com> | ||
13 | --- | ||
14 | fs/btrfs/ctree.h | 2 ++ | ||
15 | fs/btrfs/ioctl.c | 12 ++++++++++++ | ||
16 | fs/btrfs/qgroup.c | 21 +++++++++++++++++++++ | ||
17 | include/uapi/linux/btrfs.h | 1 + | ||
18 | 4 files changed, 36 insertions(+) | ||
19 | |||
20 | diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h | ||
21 | index a365400..e36e97b 100644 | ||
22 | --- a/fs/btrfs/ctree.h | ||
23 | +++ b/fs/btrfs/ctree.h | ||
24 | @@ -1613,6 +1613,7 @@ struct btrfs_fs_info { | ||
25 | struct mutex qgroup_rescan_lock; /* protects the progress item */ | ||
26 | struct btrfs_key qgroup_rescan_progress; | ||
27 | struct btrfs_workers qgroup_rescan_workers; | ||
28 | + struct completion qgroup_rescan_completion; | ||
29 | |||
30 | /* filesystem state */ | ||
31 | unsigned long fs_state; | ||
32 | @@ -3820,6 +3821,7 @@ int btrfs_quota_enable(struct btrfs_trans_handle *trans, | ||
33 | int btrfs_quota_disable(struct btrfs_trans_handle *trans, | ||
34 | struct btrfs_fs_info *fs_info); | ||
35 | int btrfs_qgroup_rescan(struct btrfs_fs_info *fs_info); | ||
36 | +int btrfs_qgroup_wait_for_completion(struct btrfs_fs_info *fs_info); | ||
37 | int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans, | ||
38 | struct btrfs_fs_info *fs_info, u64 src, u64 dst); | ||
39 | int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans, | ||
40 | diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c | ||
41 | index 0f81d67..1e0dda1 100644 | ||
42 | --- a/fs/btrfs/ioctl.c | ||
43 | +++ b/fs/btrfs/ioctl.c | ||
44 | @@ -3937,6 +3937,16 @@ static long btrfs_ioctl_quota_rescan_status(struct file *file, void __user *arg) | ||
45 | return ret; | ||
46 | } | ||
47 | |||
48 | +static long btrfs_ioctl_quota_rescan_wait(struct file *file, void __user *arg) | ||
49 | +{ | ||
50 | + struct btrfs_root *root = BTRFS_I(fdentry(file)->d_inode)->root; | ||
51 | + | ||
52 | + if (!capable(CAP_SYS_ADMIN)) | ||
53 | + return -EPERM; | ||
54 | + | ||
55 | + return btrfs_qgroup_wait_for_completion(root->fs_info); | ||
56 | +} | ||
57 | + | ||
58 | static long btrfs_ioctl_set_received_subvol(struct file *file, | ||
59 | void __user *arg) | ||
60 | { | ||
61 | @@ -4179,6 +4189,8 @@ long btrfs_ioctl(struct file *file, unsigned int | ||
62 | return btrfs_ioctl_quota_rescan(file, argp); | ||
63 | case BTRFS_IOC_QUOTA_RESCAN_STATUS: | ||
64 | return btrfs_ioctl_quota_rescan_status(file, argp); | ||
65 | + case BTRFS_IOC_QUOTA_RESCAN_WAIT: | ||
66 | + return btrfs_ioctl_quota_rescan_wait(file, argp); | ||
67 | case BTRFS_IOC_DEV_REPLACE: | ||
68 | return btrfs_ioctl_dev_replace(root, argp); | ||
69 | case BTRFS_IOC_GET_FSLABEL: | ||
70 | diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c | ||
71 | index 7f38cce..d059d86 100644 | ||
72 | --- a/fs/btrfs/qgroup.c | ||
73 | +++ b/fs/btrfs/qgroup.c | ||
74 | @@ -2070,6 +2070,8 @@ out: | ||
75 | } else { | ||
76 | pr_err("btrfs: qgroup scan failed with %d\n", err); | ||
77 | } | ||
78 | + | ||
79 | + complete_all(&fs_info->qgroup_rescan_completion); | ||
80 | } | ||
81 | |||
82 | static void | ||
83 | @@ -2110,6 +2112,7 @@ btrfs_qgroup_rescan(struct btrfs_fs_info *fs_info) | ||
84 | fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_RESCAN; | ||
85 | memset(&fs_info->qgroup_rescan_progress, 0, | ||
86 | sizeof(fs_info->qgroup_rescan_progress)); | ||
87 | + init_completion(&fs_info->qgroup_rescan_completion); | ||
88 | |||
89 | /* clear all current qgroup tracking information */ | ||
90 | for (n = rb_first(&fs_info->qgroup_tree); n; n = rb_next(n)) { | ||
91 | @@ -2126,3 +2129,21 @@ btrfs_qgroup_rescan(struct btrfs_fs_info *fs_info) | ||
92 | |||
93 | return 0; | ||
94 | } | ||
95 | + | ||
96 | +int btrfs_qgroup_wait_for_completion(struct btrfs_fs_info *fs_info) | ||
97 | +{ | ||
98 | + int running; | ||
99 | + int ret = 0; | ||
100 | + | ||
101 | + mutex_lock(&fs_info->qgroup_rescan_lock); | ||
102 | + spin_lock(&fs_info->qgroup_lock); | ||
103 | + running = fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN; | ||
104 | + spin_unlock(&fs_info->qgroup_lock); | ||
105 | + mutex_unlock(&fs_info->qgroup_rescan_lock); | ||
106 | + | ||
107 | + if (running) | ||
108 | + ret = wait_for_completion_interruptible( | ||
109 | + &fs_info->qgroup_rescan_completion); | ||
110 | + | ||
111 | + return ret; | ||
112 | +} | ||
113 | diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h | ||
114 | index 5ef0df5..5b683b5 100644 | ||
115 | --- a/include/uapi/linux/btrfs.h | ||
116 | +++ b/include/uapi/linux/btrfs.h | ||
117 | @@ -530,6 +530,7 @@ struct btrfs_ioctl_send_args { | ||
118 | struct btrfs_ioctl_quota_rescan_args) | ||
119 | #define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \ | ||
120 | struct btrfs_ioctl_quota_rescan_args) | ||
121 | +#define BTRFS_IOC_QUOTA_RESCAN_WAIT _IO(BTRFS_IOCTL_MAGIC, 46) | ||
122 | #define BTRFS_IOC_GET_FSLABEL _IOR(BTRFS_IOCTL_MAGIC, 49, \ | ||
123 | char[BTRFS_LABEL_SIZE]) | ||
124 | #define BTRFS_IOC_SET_FSLABEL _IOW(BTRFS_IOCTL_MAGIC, 50, \ | ||
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend b/meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend index e59898d..ee2d5ba 100644 --- a/meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend +++ b/meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend | |||
@@ -37,8 +37,14 @@ SRC_URI += "\ | |||
37 | file://0001-Change-extern-inline-to-static-inline.patch \ | 37 | file://0001-Change-extern-inline-to-static-inline.patch \ |
38 | file://Fix_compile_error_in_tegra_drivers.patch \ | 38 | file://Fix_compile_error_in_tegra_drivers.patch \ |
39 | file://Fix_compiler_error_in_tegra12_lock.patch \ | 39 | file://Fix_compiler_error_in_tegra12_lock.patch \ |
40 | file://0001-Btrfs-add-ioctl-to-wait-for-qgroup-rescan-completion.patch \ | ||
40 | " | 41 | " |
41 | 42 | ||
43 | do_unpack_append() { | ||
44 | rm -rf ${STAGING_KERNEL_DIR} | ||
45 | ln -s ${S} ${STAGING_KERNEL_DIR} | ||
46 | } | ||
47 | |||
42 | do_compile_prepend () { | 48 | do_compile_prepend () { |
43 | # Cross compiling exports | 49 | # Cross compiling exports |
44 | export ARCH=${TARGET_ARCH} | 50 | export ARCH=${TARGET_ARCH} |
diff --git a/meta-vib4-extras/recipes/glibc/glibc_2.22.bbappend b/meta-vib4-extras/recipes/glibc/glibc_2.22.bbappend deleted file mode 100644 index d7353bc..0000000 --- a/meta-vib4-extras/recipes/glibc/glibc_2.22.bbappend +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | # Append --enable-kernel flag to configure flags | ||
2 | # only for target build case. | ||
3 | # We are setting this to kernel 3.18 to keep glibc | ||
4 | # compatbile across all 3.18 series | ||
5 | # We will not support < 3.18 for V4L: | ||
6 | EXTRA_OECONF_append_class-target = " \ | ||
7 | --enable-kernel=3.18 \ | ||
8 | " | ||
9 | |||
10 | # Search $PWD/eglibc-2.18 for additional patches | ||
11 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" | ||
12 | |||
13 | # Placeholder for patches | ||
14 | SRC_URI_append_class-target = " \ | ||
15 | " | ||
diff --git a/meta-vib4-extras/recipes/linux-libc-headers/linux-libc-headers_4.1.bbappend b/meta-vib4-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend index f2bdba1..f2bdba1 100644 --- a/meta-vib4-extras/recipes/linux-libc-headers/linux-libc-headers_4.1.bbappend +++ b/meta-vib4-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend | |||
diff --git a/meta-vib4-extras/recipes/linux/linux-nvidia.bbappend b/meta-vib4-extras/recipes/linux/linux-nvidia.bbappend index 07c9646..70ee515 100644 --- a/meta-vib4-extras/recipes/linux/linux-nvidia.bbappend +++ b/meta-vib4-extras/recipes/linux/linux-nvidia.bbappend | |||
@@ -1,4 +1,3 @@ | |||
1 | |||
2 | ############################################################################ | 1 | ############################################################################ |
3 | ## | 2 | ## |
4 | ## Copyright (C) 2016 The Qt Company Ltd. | 3 | ## Copyright (C) 2016 The Qt Company Ltd. |
@@ -28,6 +27,11 @@ | |||
28 | ## | 27 | ## |
29 | ############################################################################ | 28 | ############################################################################ |
30 | 29 | ||
30 | do_unpack_append() { | ||
31 | rm -rf ${STAGING_KERNEL_DIR} | ||
32 | ln -s ${S} ${STAGING_KERNEL_DIR} | ||
33 | } | ||
34 | |||
31 | do_kernel_defconfig_prepend () { | 35 | do_kernel_defconfig_prepend () { |
32 | } | 36 | } |
33 | 37 | ||
diff --git a/meta-vib4-extras/recipes/weston/weston-nv.bbappend b/meta-vib4-extras/recipes/weston/weston-nv.bbappend new file mode 100644 index 0000000..31b1ad1 --- /dev/null +++ b/meta-vib4-extras/recipes/weston/weston-nv.bbappend | |||
@@ -0,0 +1,32 @@ | |||
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 | |||
30 | do_install_prepend() { | ||
31 | mv ${WORKDIR}/prebuilt/* ${WORKDIR}/ | ||
32 | } | ||