blob: ae2de89b2117b4eca7b83a3de0796d9024e80a71 (
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
|
# This is the Intel GPL IXP4XX ethernet driver (Linux) plus patches
# to make it work on 2.6 kernels.
#
LICENSE = "GPL"
MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
SRC_URI = "ftp://aiedownload.intel.com/df-support/8500/eng/GPL_ixp400LinuxEthernetDriverPatch-1_4.zip"
SRC_URI += "file://ixp400-le-be.patch;patch=1"
SRC_URI += "file://makefile.patch;patch=1"
SRC_URI += "file://2.6.13.patch;patch=1"
SRC_URI += "file://2.6.14.patch;patch=1"
PR = "r4"
DEPENDS = "ixp4xx-csr"
RDEPENDS = "ixp4xx-csr"
S = "${WORKDIR}"
COMPATIBLE_HOST = "^arm.*-linux.*"
PROVIDES = "virtual/ixp-eth"
inherit module
# Add the architecture compiler flags to KERNEL_CC and KERNEL_LD as
# required. Notice that this has to be done for each separately built
# module as well!
KERNEL_CC += "${TARGET_CC_KERNEL_ARCH}"
KERNEL_LD += "${TARGET_LD_KERNEL_ARCH}"
# This is a somewhat arbitrary choice:
OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
IX_TARGET = "linux${NSLU2_ARCH_TYPE}e"
EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
'LD=${KERNEL_LD}' \
'PWD=${S}' \
'IX_TARGET=${IX_TARGET}' \
'IXP4XX_CSR_DIR=${STAGING_INCDIR}/linux/ixp4xx-csr' \
'OSAL_DIR=${OSAL_DIR}' \
'IX_CFLAGS=-DIX_UTOPIAMODE=0 -DIX_MPHYSINGLEPORT=1 -DCONFIG_IXP400_ETH_NPEB_ONLY=1' \
'LINUX_SRC=${STAGING_KERNEL_DIR}' \
'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
"
do_compile () {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake
}
do_install () {
install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
install -m 0644 ixp400_eth.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/
}
|