summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Rossi <nathan.rossi@xilinx.com>2013-07-15 19:02:47 +1000
committerNathan Rossi <nathan.rossi@xilinx.com>2013-07-15 19:02:47 +1000
commite6200271eec4cade86de5fde3ebc57b027fe46b7 (patch)
treeda38fc5e6323a2703de4cbe8e50b50f73c3a7a15
parenta31d7a669470e4f230957a8b95e212e56914158e (diff)
downloadmeta-xilinx-e6200271eec4cade86de5fde3ebc57b027fe46b7.tar.gz
linux-xlnx: Split MACHINE_* handler into separate include
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
-rw-r--r--recipes-kernel/linux/linux-machine-config.inc28
-rw-r--r--recipes-kernel/linux/linux-xlnx.inc31
2 files changed, 29 insertions, 30 deletions
diff --git a/recipes-kernel/linux/linux-machine-config.inc b/recipes-kernel/linux/linux-machine-config.inc
new file mode 100644
index 00000000..83fb1004
--- /dev/null
+++ b/recipes-kernel/linux/linux-machine-config.inc
@@ -0,0 +1,28 @@
1
2# Scan all files in MACHINE_DEVICETREE and MACHINE_KCONFIG and populate SRC_URI,
3# FILESEXTRAPATHS and KERNEL_DEVICETREE.
4python __anonymous () {
5 workdir = d.getVar("WORKDIR", True)
6 machine_devicetree = d.getVar("MACHINE_DEVICETREE", True) or ''
7 machine_kconfigs = d.getVar("MACHINE_KCONFIG", True) or ''
8 extrapaths = set()
9 sources = set()
10 if machine_devicetree:
11 files=set()
12 for path in machine_devicetree.split():
13 sources.add("file://" + os.path.basename(path))
14 extrapaths.add(os.path.dirname(path))
15 if os.path.splitext(os.path.basename(path))[1] == '.dts':
16 files.add(os.path.join(workdir, os.path.basename(path)))
17 d.setVar("KERNEL_DEVICETREE", ' '.join(files))
18 if machine_kconfigs:
19 for path in machine_kconfigs.split():
20 files.add(os.path.join(workdir, os.path.basename(path)))
21 sources.add("file://" + os.path.basename(path))
22 extrapaths.add(os.path.dirname(path))
23
24 if len(extrapaths) != 0:
25 d.setVar("FILESEXTRAPATHS_append", ":".join(extrapaths) + ":")
26 if len(sources) != 0:
27 d.setVar("SRC_URI_append", " %s " % " ".join(sources))
28}
diff --git a/recipes-kernel/linux/linux-xlnx.inc b/recipes-kernel/linux/linux-xlnx.inc
index dcad563b..9eb869d8 100644
--- a/recipes-kernel/linux/linux-xlnx.inc
+++ b/recipes-kernel/linux/linux-xlnx.inc
@@ -3,6 +3,7 @@ inherit kernel
3# This version extension should match CONFIG_LOCALVERSION in defconfig 3# This version extension should match CONFIG_LOCALVERSION in defconfig
4LINUX_VERSION_EXTENSION ?= "-xilinx" 4LINUX_VERSION_EXTENSION ?= "-xilinx"
5 5
6require linux-machine-config.inc
6require recipes-kernel/linux/linux-yocto.inc 7require recipes-kernel/linux/linux-yocto.inc
7 8
8# MicroBlaze is a uImage target, but its not called 'uImage' 9# MicroBlaze is a uImage target, but its not called 'uImage'
@@ -18,37 +19,7 @@ PV = "${LINUX_VERSION}${LINUX_VERSION_EXTENSION}+git${SRCREV}"
18# Override COMPATIBLE_MACHINE to include your machine in a bbappend file. 19# Override COMPATIBLE_MACHINE to include your machine in a bbappend file.
19COMPATIBLE_MACHINE = "qemumicroblaze|qemuzynq|microblaze|zynq" 20COMPATIBLE_MACHINE = "qemumicroblaze|qemuzynq|microblaze|zynq"
20 21
21# Device Tree and Kernel Configuration
22
23# Common Device Tree Includes 22# Common Device Tree Includes
24# (put them in ${WORKDIR} to avoid using dtc with include paths) 23# (put them in ${WORKDIR} to avoid using dtc with include paths)
25FILESEXTRAPATHS_append := "${XILINX_LAYERDIR}/conf/machine/boards/common:" 24FILESEXTRAPATHS_append := "${XILINX_LAYERDIR}/conf/machine/boards/common:"
26SRC_URI_append += "file://zynq-7-base.dtsi" 25SRC_URI_append += "file://zynq-7-base.dtsi"
27
28# Scan all files in MACHINE_DEVICETREE and MACHINE_KCONFIG and populate SRC_URI,
29# FILESEXTRAPATHS and KERNEL_DEVICETREE.
30python __anonymous () {
31 workdir = d.getVar("WORKDIR", True)
32 machine_devicetree = d.getVar("MACHINE_DEVICETREE", True) or ''
33 machine_kconfigs = d.getVar("MACHINE_KCONFIG", True) or ''
34 extrapaths = set()
35 sources = set()
36 if machine_devicetree:
37 files=set()
38 for path in machine_devicetree.split():
39 sources.add("file://" + os.path.basename(path))
40 extrapaths.add(os.path.dirname(path))
41 if os.path.splitext(os.path.basename(path))[1] == '.dts':
42 files.add(os.path.join(workdir, os.path.basename(path)))
43 d.setVar("KERNEL_DEVICETREE", ' '.join(files))
44 if machine_kconfigs:
45 for path in machine_kconfigs.split():
46 files.add(os.path.join(workdir, os.path.basename(path)))
47 sources.add("file://" + os.path.basename(path))
48 extrapaths.add(os.path.dirname(path))
49
50 if len(extrapaths) != 0:
51 d.setVar("FILESEXTRAPATHS_append", ":".join(extrapaths) + ":")
52 if len(sources) != 0:
53 d.setVar("SRC_URI_append", " %s " % " ".join(sources))
54}