diff options
Diffstat (limited to 'classes/linux-raspberrypi-base.bbclass')
-rw-r--r-- | classes/linux-raspberrypi-base.bbclass | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/classes/linux-raspberrypi-base.bbclass b/classes/linux-raspberrypi-base.bbclass new file mode 100644 index 0000000..40beef1 --- /dev/null +++ b/classes/linux-raspberrypi-base.bbclass | |||
@@ -0,0 +1,39 @@ | |||
1 | inherit linux-kernel-base | ||
2 | |||
3 | |||
4 | def get_dts(d, ver): | ||
5 | staging_dir = d.getVar("STAGING_KERNEL_BUILDDIR", True) | ||
6 | dts = d.getVar("KERNEL_DEVICETREE", True) | ||
7 | |||
8 | # d.getVar() might return 'None' as a normal string | ||
9 | # leading to 'is None' check isn't enough. | ||
10 | # TODO: Investigate if this is a bug in bitbake | ||
11 | if ver is None or ver == "None": | ||
12 | ''' if 'ver' isn't set try to grab the kernel version | ||
13 | from the kernel staging ''' | ||
14 | ver = get_kernelversion_file(staging_dir) | ||
15 | |||
16 | if ver is not None: | ||
17 | min_ver = ver.split('.', 3) | ||
18 | else: | ||
19 | return dts | ||
20 | |||
21 | # Always turn off device tree support for kernel's < 3.18 | ||
22 | try: | ||
23 | if int(min_ver[0]) <= 3: | ||
24 | if int(min_ver[1]) < 18: | ||
25 | dts = "" | ||
26 | except IndexError: | ||
27 | min_ver = None | ||
28 | |||
29 | return dts | ||
30 | |||
31 | |||
32 | def split_overlays(d, out): | ||
33 | dts = get_dts(d, None) | ||
34 | if out: | ||
35 | overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d) | ||
36 | else: | ||
37 | overlays = oe.utils.str_filter('\S+\-overlay\.dtb$', dts, d) | ||
38 | |||
39 | return overlays | ||