ixp4xx-csr: deconfigure ixp400.ko in 2.0
authorJohn Bowler <jbowler@nslu2-linux.org>
Sun, 20 Nov 2005 02:48:23 +0000 (02:48 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Sun, 20 Nov 2005 02:48:23 +0000 (02:48 +0000)
  - this removes stuff from ixp400.ko which is not used by the ixp4oo-eth
  - driver, making the module significantly smaller.

packages/ixp425-eth/ixp400-eth_1.4.bb
packages/ixp4xx/ixp4xx-csr-2.0/Makefile.patch
packages/ixp4xx/ixp4xx-csr_2.0.bb

index 477f324..94024e9 100644 (file)
@@ -10,7 +10,7 @@ SRC_URI += "file://2.6.13.patch;patch=1"
 SRC_URI += "file://2.6.14.patch;patch=1"
 SRC_URI += "file://ixp400_pollcontroller.patch;patch=1"
 SRC_URI += "file://2.6.14-mm.patch;patch=1"
-PR = "r6"
+PR = "r7"
 
 DEPENDS = "ixp4xx-csr"
 RDEPENDS = "ixp4xx-csr"
index 585320c..c5a907e 100644 (file)
@@ -1,26 +1,6 @@
 diff -Naur ixp400_xscale_sw.orig/Makefile ixp400_xscale_sw/Makefile
 --- ixp400_xscale_sw/.pc/Makefile.patch/Makefile       2005-04-17 20:54:58.000000000 -0700
 +++ ixp400_xscale_sw/Makefile  2005-10-01 18:15:08.422924549 -0700
-@@ -104,8 +104,8 @@
- vxbe_COMPONENTS := $(BI_ENDIAN_COMPONENTS) perfProfAcc dmaAcc
- vxle_COMPONENTS := $(BI_ENDIAN_COMPONENTS) perfProfAcc
- vxsim_COMPONENTS := $(BI_ENDIAN_COMPONENTS) dmaAcc
--linuxbe_COMPONENTS := $(BI_ENDIAN_COMPONENTS) perfProfAcc dmaAcc oslinux
--linuxle_COMPONENTS := $(BI_ENDIAN_COMPONENTS) perfProfAcc oslinux
-+linuxbe_COMPONENTS := $(BI_ENDIAN_COMPONENTS) dmaAcc oslinux
-+linuxle_COMPONENTS := $(BI_ENDIAN_COMPONENTS) oslinux
- #The lists below contain the set of components available for each target platform
- # specific to the ixp46X device
-@@ -132,7 +132,7 @@
- # Codelet components
- # Codeletes listed in BI_ENDIAN_CODELETS_COMPONENTS must work for both
- # big and little endian OSs.
--BI_ENDIAN_CODELETS_COMPONENTS := hssAcc ethAcc perfProfAcc atm
-+BI_ENDIAN_CODELETS_COMPONENTS := hssAcc ethAcc atm
- #Codelet components only applicable to ixp46x
- ixp46X_BI_ENDIAN_CODELETS_COMPONENTS := timeSyncAcc parityENAcc
 @@ -312,9 +312,9 @@
  else
  # linux compiler flags 
index a7a786c..88c8482 100644 (file)
@@ -27,7 +27,7 @@ SRC_URI += "file://2.6.14.patch;patch=1"
 SRC_URI += "file://le.patch;patch=1"
 DEPENDS = "ixp-osal"
 S = "${WORKDIR}/ixp400_xscale_sw"
-PR = "r5"
+PR = "r6"
 
 COMPATIBLE_HOST = "^arm.*-linux.*"
 
@@ -45,6 +45,12 @@ OSAL_PATH = "lib/ixp425/linux/${IX_TARGET}"
 # This is a somewhat arbitrary choice:
 OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
 
+# COMPONENTS: do not build all the components, this just creates a
+# ridiculously large module which duplicates functionality in the
+# available Linux drivers.
+COMPONENTS = "qmgr npeMh npeDl ethAcc ethDB ethMii featureCtrl osServices oslinux"
+CODELETS_COMPONENTS = ""
+
 # NOTE: IX_INCLUDE_MICROCODE causes the microcode to be included in
 # the ixp4xx-csr module, this *requires* the IPL_ixp400NpeLibrary-2_0.zip
 # to be added to the SRC_URI - see above.
@@ -53,6 +59,8 @@ EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
                'AR=${AR}' \
                'IX_XSCALE_SW=${S}' \
                'IX_TARGET=${IX_TARGET}' \
+               '${IX_TARGET}_COMPONENTS=${COMPONENTS}' \
+               '${IX_TARGET}_CODELETS_COMPONENTS=${CODELETS_COMPONENTS}' \
                'IX_DEVICE=ixp42X' \
                'IX_MPHY=1' \
                'IX_MPHYSINGLEPORT=1' \
@@ -75,6 +83,8 @@ do_stage () {
        install -m 0644 src/include/*.h ${STAGING_INCDIR}/linux/ixp4xx-csr/
 }
 
+PACKAGES = "${PN}"
+
 do_install () {
        install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/ixp400
        install -m 0644 lib/${IX_TARGET}/ixp400.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/ixp400/