summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2016-09-28 16:44:45 +0300
committerSamuli Piippo <samuli.piippo@qt.io>2016-10-06 05:57:49 +0000
commitcfebf8586735f4db9c9573c1af9eb1553132c0e8 (patch)
tree34951b02cfd35498ed524ed8b286ccd25a63d909
parent173cf50e88d53f9cf81c0ac5f2f186834ca3b81f (diff)
downloadmeta-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.conf3
-rw-r--r--conf/distro/include/tegra-t18x.conf2
-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.patch124
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend6
-rw-r--r--meta-vib4-extras/recipes/glibc/glibc_2.22.bbappend15
-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.bbappend6
-rw-r--r--meta-vib4-extras/recipes/weston/weston-nv.bbappend32
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
23include conf/distro/include/tegra.inc 23include conf/distro/include/tegra.inc
24 24
25OLDEST_KERNEL_aarch64 = "3.18"
26
25TARGET_CFLAGS += " -DWIN_INTERFACE_CUSTOM" 27TARGET_CFLAGS += " -DWIN_INTERFACE_CUSTOM"
26DISTRO_FEATURES_DEFAULT += "wayland" 28DISTRO_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
9S = "${WORKDIR}/vibrante-oss-src/kernel" 9S = "${WORKDIR}/vibrante-oss-src/kernel"
10
11FILESEXTRAPATHS_prepend := "${THISDIR}/../linux/linux-nvidia:"
12SRC_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 @@
1From 57254b6ebce4ceca02d9c8b615f6059c56c19238 Mon Sep 17 00:00:00 2001
2From: Jan Schmidt <list.btrfs@jan-o-sch.net>
3Date: Mon, 6 May 2013 19:14:17 +0000
4Subject: [PATCH] Btrfs: add ioctl to wait for qgroup rescan completion
5
6btrfs_qgroup_wait_for_completion waits until the currently running qgroup
7operation completes. It returns immediately when no rescan process is in
8progress. This is useful to automate things around the rescan process (e.g.
9testing).
10
11Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
12Signed-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
20diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
21index 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,
40diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
41index 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:
70diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
71index 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+}
113diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h
114index 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
43do_unpack_append() {
44 rm -rf ${STAGING_KERNEL_DIR}
45 ln -s ${S} ${STAGING_KERNEL_DIR}
46}
47
42do_compile_prepend () { 48do_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:
6EXTRA_OECONF_append_class-target = " \
7 --enable-kernel=3.18 \
8"
9
10# Search $PWD/eglibc-2.18 for additional patches
11FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
12
13# Placeholder for patches
14SRC_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
30do_unpack_append() {
31 rm -rf ${STAGING_KERNEL_DIR}
32 ln -s ${S} ${STAGING_KERNEL_DIR}
33}
34
31do_kernel_defconfig_prepend () { 35do_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
30do_install_prepend() {
31 mv ${WORKDIR}/prebuilt/* ${WORKDIR}/
32}