blob: 46eec8f86a27836ad8d3135c65401110224b0141 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
DESCRIPTION = "Kernel module of PowerVR GPU"
LICENSE = "GPLv2 & MIT"
LIC_FILES_CHKSUM = " \
file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e \
file://MIT-COPYING;md5=8c2810fa6bfdc5ae5c15a0c1ade34054 \
"
inherit module
require include/checksum_control.inc
PN = "kernel-module-gles"
PR = "r0"
COMPATIBLE_MACHINE = "(r8a7795|r8a7796|r8a77965|r8a77990)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SRC_URI_r8a7795 = 'file://GSX_KM_H3.tar.bz2'
SRC_URI_r8a7796 = 'file://GSX_KM_M3.tar.bz2'
SRC_URI_r8a77965 = 'file://GSX_KM_M3N.tar.bz2'
SRC_URI_r8a77990 = 'file://GSX_KM_E3.tar.bz2'
S = "${WORKDIR}/rogue_km"
# W/A fix build errors with GCC 8.1
SRC_URI_append = " file://0001-Silence-warnings-being-treated-as-errors.patch"
KBUILD_DIR_r8a7795 = "${S}/build/linux/r8a7795_linux"
KBUILD_DIR_r8a7796 = "${S}/build/linux/r8a7796_linux"
KBUILD_DIR_r8a77965 = "${S}/build/linux/r8a77965_linux"
KBUILD_DIR_r8a77990 = "${S}/build/linux/r8a7799_linux"
KBUILD_OUTDIR_r8a7795 = "binary_r8a7795_linux_release/target_aarch64/kbuild/"
KBUILD_OUTDIR_r8a7796 = "binary_r8a7796_linux_release/target_aarch64/kbuild/"
KBUILD_OUTDIR_r8a77965 = "binary_r8a77965_linux_release/target_aarch64/kbuild/"
KBUILD_OUTDIR_r8a77990 = "binary_r8a7799_linux_release/target_aarch64/kbuild/"
B = "${KBUILD_DIR}"
EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR}"
EXTRA_OEMAKE += "CROSS_COMPILE=${CROSS_COMPILE}"
# Build GFX kernel module without suffix
KERNEL_MODULE_PACKAGE_SUFFIX = ""
module_do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
cd ${KBUILD_DIR}
oe_runmake
}
module_do_install() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
install -d ${D}/lib/modules/${KERNEL_VERSION}
cd ${KBUILD_DIR}
oe_runmake DISCIMAGE="${D}" install
}
# Ship the module symbol file to kernel build dir
SYSROOT_PREPROCESS_FUNCS = "module_sysroot_symbol"
module_sysroot_symbol() {
install -m 644 ${S}/${KBUILD_OUTDIR}/Module.symvers ${STAGING_KERNEL_BUILDDIR}/GLES.symvers
}
# Clean up the module symbol file
CLEANFUNCS = "module_clean_symbol"
module_clean_symbol() {
rm -f ${STAGING_KERNEL_BUILDDIR}/GLES.symvers
}
FILES_${PN} = " \
/lib/modules/${KERNEL_VERSION}/extra/pvrsrvkm.ko \
${sysconfdir}/modules-load.d \
"
RPROVIDES_${PN} += "kernel-module-pvrsrvkm kernel-module-dc-linuxfb"
# Auto load pvrsrvkm
KERNEL_MODULE_AUTOLOAD_append = " pvrsrvkm"
|