summaryrefslogtreecommitdiff
path: root/packages/ixp425-eth/ixp400-eth_1.5.bb
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2005-11-21 07:23:02 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-11-21 07:23:02 +0000
commit59dda76b85bec1d4666d1d688c35cdf230586c4a (patch)
treed2f6a7dec93e06d0c53febc8a22e1932632e951d /packages/ixp425-eth/ixp400-eth_1.5.bb
parent7a245f350a82e342742b549543471f0c5855c48f (diff)
ixp400-eth: release for ixp4xx release 2.1: 1.5
Diffstat (limited to 'packages/ixp425-eth/ixp400-eth_1.5.bb')
-rw-r--r--packages/ixp425-eth/ixp400-eth_1.5.bb82
1 files changed, 82 insertions, 0 deletions
diff --git a/packages/ixp425-eth/ixp400-eth_1.5.bb b/packages/ixp425-eth/ixp400-eth_1.5.bb
new file mode 100644
index 0000000000..9564210917
--- /dev/null
+++ b/packages/ixp425-eth/ixp400-eth_1.5.bb
@@ -0,0 +1,82 @@
+# This is the Intel GPL IXP4XX ethernet driver (Linux) plus patches
+# to make it work on 2.6 kernels.
+#
+MAINTAINER = "NSLU2 Linux <nslu2-linux@yahoogroups.com>"
+HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
+LICENSE = "GPL"
+
+SRC_URI = "ftp://aiedownload.intel.com/df-support/9519/eng/GPL_ixp400LinuxEthernetDriverPatch-1_5.zip"
+SRC_URI += "file://Makefile.patch;patch=1"
+SRC_URI += "file://2.6.14.patch;patch=1"
+SRC_URI += "file://2.6.15.patch;patch=1"
+SRC_URI += "file://device-name.patch;patch=1"
+SRC_URI += "file://poll-controller.patch;patch=1"
+SRC_URI += "file://le.patch;patch=1"
+SRC_URI += "file://debug.patch;patch=1"
+
+PR = "r0"
+
+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${ARCH_BYTE_SEX}"
+IX_ENSURE = ""
+#IX_ENSURE = "-DIX_OSAL_ENSURE_ON=1"
+# The following controls the name of the ethernet devices which get
+# registered, the default (if this is empty) is ixp0, ixp1, otherwise
+# it is eth0, eth1
+DEVICE_NAME = "-DIX_DEVICE_NAME_ETH=1"
+
+IXP4XX_CSR_SYMVERS = "${STAGING_KERNEL_DIR}/ixp400-csr.symvers"
+
+EXTRA_OEMAKE = "'PWD=${S}' \
+ 'IX_TARGET=${IX_TARGET}' \
+ 'IXP4XX_CSR_DIR=${STAGING_INCDIR}/linux/ixp4xx-csr' \
+ 'IXP4XX_CSR_SYMVERS=${IXP4XX_CSR_SYMVERS}' \
+ 'OSAL_DIR=${OSAL_DIR}' \
+ 'IX_CFLAGS=-DIX_UTOPIAMODE=0 -DIX_MPHYSINGLEPORT=1 -DCONFIG_IXP400_ETH_NPEB_ONLY=1 ${IX_ENSURE} ${DEVICE_NAME} -DIX_COMPONENT_NAME=-1' \
+ 'LINUX_SRC=${STAGING_KERNEL_DIR}' \
+ 'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
+ "
+
+# This is to check for unresolved symbol errors and ensure the build
+# fails, an error here probably means too much as been deconfigured
+# out of ixp4xx-csr.
+KCONFIG_FILE = "${STAGING_KERNEL_DIR}/config-${KERNEL_VERSION}"
+do_compile_append () {
+ . '${KCONFIG_FILE}'
+ echo "MODPOST: checking that all symbols are resolved"
+ if '${STAGING_KERNEL_DIR}/scripts/mod/modpost' \
+ ${CONFIG_MODVERSIONS:+-m} \
+ ${CONFIG_MODULE_SRCVERSION_ALL:+-a} \
+ -i '${STAGING_KERNEL_DIR}/ixp400-csr.symvers' \
+ ixp400_eth.o >&2 | egrep .
+ then
+ echo "MODPOST errors - see above"
+ return 1
+ else
+ return 0
+ fi
+}
+
+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/
+}