summaryrefslogtreecommitdiff
path: root/recipes-bsp/multitech/mts-io.inc
blob: 484124e3424c48361bd0528fc485e1a530ef481a (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
DESCRIPTION = "mts-io controller and sysfs wrapper"
HOMEPAGE = "http://www.multitech.net/"
SECTION = "base"
PRIORITY = "optional"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://io-module/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                    file://io-tool/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
"
DEPENDS = "virtual/kernel"
INC_PR = "r5"

SRCREV = "v${PV}"

SRC_URI = " \
    file://mts-io.init \
    git://git.multitech.net/mts-io.git;protocol=git \
    file://led-a_heartbeat_trigger \
"
S = "${WORKDIR}/git"

inherit module-base
inherit update-rc.d

# add this since we aren't using module.bbclass
addtask make_scripts after do_patch before do_compile
do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
do_make_scripts[deptask] = "do_populate_sysroot"

EXTRA_OEMAKE = " -C ${STAGING_KERNEL_DIR} \
                KBUILD_VERBOSE=1 \
                M=${S}/io-module \
                modules \
                "

do_compile () {
    unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
    oe_runmake
}

PACKAGES = "${PN}"

FILES_${PN} = "${base_libdir}/modules/${KERNEL_VERSION}/extra/mts_io.ko"
FILES_${PN} += "${sysconfdir}/init.d/mts-io"
FILES_${PN} += "${libdir}/mts-io-sysfs*"
FILES_${PN} += "${sbindir}/mts-io-sysfs"
FILES_${PN} += "${sysconfdir}/init.d/led-a_heartbeat_trigger"
FILES_${PN} += "${sysconfdir}/rc5.d/S99led-a_heartbeat_trigger"

INITSCRIPT_NAME = "mts-io"
INITSCRIPT_PARAMS = "start 39 S ."

PARALLEL_MAKE = ""

fakeroot do_install () {
    install -m 0755 -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra
    # use cp instead of install so the driver doesn't get stripped
    cp io-module/mts_io.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra
    cp io-module/mts_io.h ${STAGING_KERNEL_DIR}/include/linux/
    cp io-module/mts_io.h ${STAGING_INCDIR}/linux/
    if [ -f io-module/mts_eeprom.h ]; then
        cp io-module/mts_eeprom.h ${STAGING_KERNEL_DIR}/include/linux/
        cp io-module/mts_eeprom.h ${STAGING_INCDIR}/linux/
    fi

    install -d ${D}${sysconfdir}/init.d
    install -m 0755 ${WORKDIR}/mts-io.init ${D}${sysconfdir}/init.d/mts-io

    install -d ${D}/${sysconfdir}/rc5.d
    install -m 0755 ${WORKDIR}/led-a_heartbeat_trigger ${D}/${sysconfdir}/init.d/
    ln -sf ${sysconfdir}/init.d/led-a_heartbeat_trigger ${D}/${sysconfdir}/rc5.d/S99led-a_heartbeat_trigger

    install -m 0755 -d ${D}${sbindir}
    install -d ${D}${libdir}/mts-io-sysfs
    install -m 0755 io-tool/mts-io-sysfs-inc.sh ${D}${libdir}/mts-io-sysfs
    install -m 0755 io-tool/mts-io-sysfs ${D}${sbindir}/mts-io-sysfs
}