blob: 2d9a25ad6ea6a54a6eecf7d1d840466258d038a6 (
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
|
DESCRIPTION = "Codec Engine for TI ARM/DSP processors - cmemk module"
DEPENDS = "virtual/kernel perl-native"
RDEPENDS = "update-modules"
inherit module
require ti-paths.inc
export DSPLINK="${S}/cetools/packages/dsplink"
PARALLEL_MAKE = ""
SRC_URI += "file://cmemk-class-device-27.diff"
do_compile_append() {
echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
# Build the cmem kernel module
# We unset CFLAGS because kernel modules need different ones, this is basically a verbatim copy of kernel.bbclass and module-base.bbclass
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
# This sadly breaks doing -c compile more than once, but I don't have a better solution
if [ $(echo ${KERNEL_VERSION} | cut -c5,6) -gt 26 ] ; then
patch -p0 < ${WORKDIR}/cmemk-class-device-27.diff
fi
oe_runmake clean
oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
KERNEL_SRC=${STAGING_KERNEL_DIR} \
KERNEL_VERSION=${KERNEL_VERSION} \
CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
AR="${KERNEL_AR}"
}
do_install() {
install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
cp ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
}
INHIBIT_PACKAGE_STRIP = "1"
FILES_ti-cmemk-module = "${sysconfdir} /lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko"
pkg_postinst_ti-cmemk-module () {
if [ -n "$D" ]; then
exit 1
fi
depmod -a
update-modules || true
}
pkg_postrm_ti-cmemk-module () {
update-modules || true
}
PACKAGE_ARCH = "${MACHINE_ARCH}"
|