From be4896c302aff240686aa37c8717cfa1b2b348a4 Mon Sep 17 00:00:00 2001 From: Aloisio Almeida Jr Date: Thu, 23 Oct 2008 18:03:06 -0300 Subject: [PATCH] cx3110x: Rearranging completely the cx3110x driver build 1. Different package names to each kernel. Now we can provide packages to more than one kernel at the same repository. 2. Creating inc file. 3. Including init.d script to configure the right module. 4. Adapting task-mamona to these changes Signed-off-by: Rodrigo Vivi --- conf/distro/mamona.conf | 1 - .../770_performance_improvements.patch | 0 .../create_sysfs_link_for_wlan0.patch | 0 packages/mamona/cx3110x-770he-0.8.1/cx3110x | 36 +++++++++++++++ .../cx3110x.patch | 0 .../defconfig | 0 .../fix_cross_makefile.patch | 0 .../fix_mem_allign.patch | 0 .../fix_mem_corruption.patch | 0 .../fix_ssid_data_length.patch | 0 .../series | 0 packages/mamona/cx3110x-770he_0.8.1.bb | 29 ++++++++++++ .../create_sysfs_link_for_wlan0.patch | 0 .../mamona/cx3110x-chinooke-2.0.15/cx3110x | 36 +++++++++++++++ .../cx3110x.patch | 0 .../fix_old_include.patch | 0 packages/mamona/cx3110x-chinooke_2.0.15.bb | 25 +++++++++++ packages/mamona/cx3110x.inc | 29 ++++++++++++ packages/mamona/cx3110x_0.8.1.bb | 44 ------------------- packages/mamona/cx3110x_2.0.15.bb | 42 ------------------ packages/tasks/task-mamona.bb | 4 +- 21 files changed, 157 insertions(+), 89 deletions(-) rename packages/mamona/{cx3110x-0.8.1 => cx3110x-770he-0.8.1}/770_performance_improvements.patch (100%) rename packages/mamona/{cx3110x-0.8.1 => cx3110x-770he-0.8.1}/create_sysfs_link_for_wlan0.patch (100%) create mode 100755 packages/mamona/cx3110x-770he-0.8.1/cx3110x rename packages/mamona/{cx3110x-0.8.1 => cx3110x-770he-0.8.1}/cx3110x.patch (100%) rename packages/mamona/{cx3110x-0.8.1 => cx3110x-770he-0.8.1}/defconfig (100%) rename packages/mamona/{cx3110x-0.8.1 => cx3110x-770he-0.8.1}/fix_cross_makefile.patch (100%) rename packages/mamona/{cx3110x-0.8.1 => cx3110x-770he-0.8.1}/fix_mem_allign.patch (100%) rename packages/mamona/{cx3110x-0.8.1 => cx3110x-770he-0.8.1}/fix_mem_corruption.patch (100%) rename packages/mamona/{cx3110x-0.8.1 => cx3110x-770he-0.8.1}/fix_ssid_data_length.patch (100%) rename packages/mamona/{cx3110x-0.8.1 => cx3110x-770he-0.8.1}/series (100%) create mode 100644 packages/mamona/cx3110x-770he_0.8.1.bb rename packages/mamona/{cx3110x-2.0.15 => cx3110x-chinooke-2.0.15}/create_sysfs_link_for_wlan0.patch (100%) create mode 100755 packages/mamona/cx3110x-chinooke-2.0.15/cx3110x rename packages/mamona/{cx3110x-2.0.15 => cx3110x-chinooke-2.0.15}/cx3110x.patch (100%) rename packages/mamona/{cx3110x-2.0.15 => cx3110x-chinooke-2.0.15}/fix_old_include.patch (100%) create mode 100644 packages/mamona/cx3110x-chinooke_2.0.15.bb create mode 100644 packages/mamona/cx3110x.inc delete mode 100644 packages/mamona/cx3110x_0.8.1.bb delete mode 100644 packages/mamona/cx3110x_2.0.15.bb diff --git a/conf/distro/mamona.conf b/conf/distro/mamona.conf index 3df0cd4343..83e102663c 100644 --- a/conf/distro/mamona.conf +++ b/conf/distro/mamona.conf @@ -88,7 +88,6 @@ PREFERRED_VERSION_apt = "0.7.6" PREFERRED_VERSION_gpsd ?= "2.33" PREFERRED_VERSION_hal_nokia770 = "0.5.7" PREFERRED_VERSION_networkmanager ?= "0.6.6" -PREFERRED_VERSION_cx3110x = "0.8.1" # Mplayer PREFERRED_VERSION_mplayer_nokia770 ?= "1.0maemo0" diff --git a/packages/mamona/cx3110x-0.8.1/770_performance_improvements.patch b/packages/mamona/cx3110x-770he-0.8.1/770_performance_improvements.patch similarity index 100% rename from packages/mamona/cx3110x-0.8.1/770_performance_improvements.patch rename to packages/mamona/cx3110x-770he-0.8.1/770_performance_improvements.patch diff --git a/packages/mamona/cx3110x-0.8.1/create_sysfs_link_for_wlan0.patch b/packages/mamona/cx3110x-770he-0.8.1/create_sysfs_link_for_wlan0.patch similarity index 100% rename from packages/mamona/cx3110x-0.8.1/create_sysfs_link_for_wlan0.patch rename to packages/mamona/cx3110x-770he-0.8.1/create_sysfs_link_for_wlan0.patch diff --git a/packages/mamona/cx3110x-770he-0.8.1/cx3110x b/packages/mamona/cx3110x-770he-0.8.1/cx3110x new file mode 100755 index 0000000000..93e59afa55 --- /dev/null +++ b/packages/mamona/cx3110x-770he-0.8.1/cx3110x @@ -0,0 +1,36 @@ +#!/bin/sh + +MODULE="/lib/modules/`uname -r`/cx3110x.ko" + +swap_module () { + if [ -e $MODULE ]; then + # Removing builtin driver + rmmod cx3110x + # Inserting the new one + insmod $MODULE + # Getting up the interface to make the firmware being loaded (stupid, i know) + ifconfig wlan0 up + else + echo "OOPS: $MODULE not found, the switch is not possible" 1>&2 + fi +} + +case "$1" in + start) + swap_module + ;; + stop) + ifconfig $IFACE down + rmmod cx3110x + ;; + force-reload | restart) + swap_module + ;; + *) + echo "Usage: /etc/init.d/cx3110x {start|stop|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 + diff --git a/packages/mamona/cx3110x-0.8.1/cx3110x.patch b/packages/mamona/cx3110x-770he-0.8.1/cx3110x.patch similarity index 100% rename from packages/mamona/cx3110x-0.8.1/cx3110x.patch rename to packages/mamona/cx3110x-770he-0.8.1/cx3110x.patch diff --git a/packages/mamona/cx3110x-0.8.1/defconfig b/packages/mamona/cx3110x-770he-0.8.1/defconfig similarity index 100% rename from packages/mamona/cx3110x-0.8.1/defconfig rename to packages/mamona/cx3110x-770he-0.8.1/defconfig diff --git a/packages/mamona/cx3110x-0.8.1/fix_cross_makefile.patch b/packages/mamona/cx3110x-770he-0.8.1/fix_cross_makefile.patch similarity index 100% rename from packages/mamona/cx3110x-0.8.1/fix_cross_makefile.patch rename to packages/mamona/cx3110x-770he-0.8.1/fix_cross_makefile.patch diff --git a/packages/mamona/cx3110x-0.8.1/fix_mem_allign.patch b/packages/mamona/cx3110x-770he-0.8.1/fix_mem_allign.patch similarity index 100% rename from packages/mamona/cx3110x-0.8.1/fix_mem_allign.patch rename to packages/mamona/cx3110x-770he-0.8.1/fix_mem_allign.patch diff --git a/packages/mamona/cx3110x-0.8.1/fix_mem_corruption.patch b/packages/mamona/cx3110x-770he-0.8.1/fix_mem_corruption.patch similarity index 100% rename from packages/mamona/cx3110x-0.8.1/fix_mem_corruption.patch rename to packages/mamona/cx3110x-770he-0.8.1/fix_mem_corruption.patch diff --git a/packages/mamona/cx3110x-0.8.1/fix_ssid_data_length.patch b/packages/mamona/cx3110x-770he-0.8.1/fix_ssid_data_length.patch similarity index 100% rename from packages/mamona/cx3110x-0.8.1/fix_ssid_data_length.patch rename to packages/mamona/cx3110x-770he-0.8.1/fix_ssid_data_length.patch diff --git a/packages/mamona/cx3110x-0.8.1/series b/packages/mamona/cx3110x-770he-0.8.1/series similarity index 100% rename from packages/mamona/cx3110x-0.8.1/series rename to packages/mamona/cx3110x-770he-0.8.1/series diff --git a/packages/mamona/cx3110x-770he_0.8.1.bb b/packages/mamona/cx3110x-770he_0.8.1.bb new file mode 100644 index 0000000000..2cee32b9cc --- /dev/null +++ b/packages/mamona/cx3110x-770he_0.8.1.bb @@ -0,0 +1,29 @@ +PR = "r0" + +KERVER = "2.6.16" + +COMPATIBLE_MACHINE = "(nokia770)" + +S = "${WORKDIR}/cx3110x-0.8.1" +SKERNEL = "${WORKDIR}/kernel-source-${KERVER}" + +# The following require must be after S{S}, ${SKERNEL}, ${KERVER} +require cx3110x.inc + +SRC_URI += "https://garage.maemo.org/frs/download.php/2443/cx3110x-0.8.1.tar.gz \ + http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2005q3-2-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 \ + http://dev.openbossa.org/mamona/sources/kernel-source-${KERVER}.tar.gz \ + file://defconfig \ + file://fix_mem_corruption.patch;patch=1 \ + file://fix_mem_allign.patch;patch=1 \ + file://cx3110x.patch;patch=1 \ + file://fix_cross_makefile.patch;patch=1 \ + file://fix_ssid_data_length.patch;patch=1 \ + file://770_performance_improvements.patch;patch=1 \ + file://create_sysfs_link_for_wlan0.patch;patch=1 \ +" + +do_compile() { + cp ${WORKDIR}/defconfig ${SKERNEL}/.config + KERNEL_SRC_DIR=${SKERNEL} PATH=${WORKDIR}/bin/:$PATH CROSS_COMPILE=arm-none-eabi- make modules +} diff --git a/packages/mamona/cx3110x-2.0.15/create_sysfs_link_for_wlan0.patch b/packages/mamona/cx3110x-chinooke-2.0.15/create_sysfs_link_for_wlan0.patch similarity index 100% rename from packages/mamona/cx3110x-2.0.15/create_sysfs_link_for_wlan0.patch rename to packages/mamona/cx3110x-chinooke-2.0.15/create_sysfs_link_for_wlan0.patch diff --git a/packages/mamona/cx3110x-chinooke-2.0.15/cx3110x b/packages/mamona/cx3110x-chinooke-2.0.15/cx3110x new file mode 100755 index 0000000000..93e59afa55 --- /dev/null +++ b/packages/mamona/cx3110x-chinooke-2.0.15/cx3110x @@ -0,0 +1,36 @@ +#!/bin/sh + +MODULE="/lib/modules/`uname -r`/cx3110x.ko" + +swap_module () { + if [ -e $MODULE ]; then + # Removing builtin driver + rmmod cx3110x + # Inserting the new one + insmod $MODULE + # Getting up the interface to make the firmware being loaded (stupid, i know) + ifconfig wlan0 up + else + echo "OOPS: $MODULE not found, the switch is not possible" 1>&2 + fi +} + +case "$1" in + start) + swap_module + ;; + stop) + ifconfig $IFACE down + rmmod cx3110x + ;; + force-reload | restart) + swap_module + ;; + *) + echo "Usage: /etc/init.d/cx3110x {start|stop|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 + diff --git a/packages/mamona/cx3110x-2.0.15/cx3110x.patch b/packages/mamona/cx3110x-chinooke-2.0.15/cx3110x.patch similarity index 100% rename from packages/mamona/cx3110x-2.0.15/cx3110x.patch rename to packages/mamona/cx3110x-chinooke-2.0.15/cx3110x.patch diff --git a/packages/mamona/cx3110x-2.0.15/fix_old_include.patch b/packages/mamona/cx3110x-chinooke-2.0.15/fix_old_include.patch similarity index 100% rename from packages/mamona/cx3110x-2.0.15/fix_old_include.patch rename to packages/mamona/cx3110x-chinooke-2.0.15/fix_old_include.patch diff --git a/packages/mamona/cx3110x-chinooke_2.0.15.bb b/packages/mamona/cx3110x-chinooke_2.0.15.bb new file mode 100644 index 0000000000..17bb1f4412 --- /dev/null +++ b/packages/mamona/cx3110x-chinooke_2.0.15.bb @@ -0,0 +1,25 @@ +PR = "r0" + +KERVER = "2.6.21" + +COMPATIBLE_MACHINE = "(nokia800|nokia810)" + +S = "${WORKDIR}/cx3110x-module-src-2.0.15" +SKERNEL = "${WORKDIR}/kernel-source-diablo-${KERVER}/kernel-source" + +# The following require must be after S{S}, ${SKERNEL}, ${KERVER} +require cx3110x.inc + +SRC_URI += "\ + http://repository.maemo.org/pool/maemo4.1/free/c/cx3110x-module-src/cx3110x-module-src_2.0.15-1.tar.gz \ + http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2005q3-2-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 \ + http://repository.maemo.org/pool/maemo4.1/free/k/kernel-source-diablo/kernel-source-diablo_2.6.21-200823maemo6.tar.gz \ + file://cx3110x.patch;patch=1 \ + file://create_sysfs_link_for_wlan0.patch;patch=1 \ + file://fix_old_include.patch;patch=1 \ +" + +do_compile() { + PATH=${WORKDIR}/bin/:$PATH make -C ${SKERNEL} CROSS_COMPILE=arm-none-eabi- nokia_2420_defconfig prepare scripts + KERNEL_SRC_DIR=${SKERNEL} PATH=${WORKDIR}/bin/:$PATH CROSS_COMPILE=arm-none-eabi- make modules +} diff --git a/packages/mamona/cx3110x.inc b/packages/mamona/cx3110x.inc new file mode 100644 index 0000000000..0dea679d29 --- /dev/null +++ b/packages/mamona/cx3110x.inc @@ -0,0 +1,29 @@ +DESCRIPTION = "cx3110x wifi support to Nokia IT" +SECTION = "kernel/modules" +LICENSE = "GPL" + +INITSCRIPT_NAME = "cx3110x" +INITSCRIPT_PARAMS = "defaults 10" +SRC_URI += "file://cx3110x" +inherit update-rc.d + +PACKAGES = "${PN}" + +FILES_${PN} += "/lib/modules" + +LDFLAGS="" +BUILD_LDFLAGS="" +CFLAGS="" +BUILD_CFLAGS="" +TARGET_LDFLAGS="" + +do_configure() { +} + +do_install() { + UNAME_R=`grep "Linux kernel version:" ${SKERNEL}/.config | sed 's/.*: //'` + install -d ${D}/lib/modules/${UNAME_R} + install -m 0644 ${S}/src/cx3110x.ko ${D}/lib/modules/${UNAME_R} + install -d ${D}/${sysconfdir}/init.d + install -m 755 ${WORKDIR}/${INITSCRIPT_NAME} ${D}/${sysconfdir}/init.d +} diff --git a/packages/mamona/cx3110x_0.8.1.bb b/packages/mamona/cx3110x_0.8.1.bb deleted file mode 100644 index 2dbdc985f1..0000000000 --- a/packages/mamona/cx3110x_0.8.1.bb +++ /dev/null @@ -1,44 +0,0 @@ -DESCRIPTION = "cx3110x wifi support as found in the Nokia 770" -SECTION = "kernel/modules" -LICENSE = "GPL" -PR = "r0" - -PACKAGES = "${PN}" - -FILES_${PN} += "/lib/modules/cx3110x.ko" - -COMPATIBLE_MACHINE = "(nokia770)" - -SRC_URI = "https://garage.maemo.org/frs/download.php/2443/cx3110x-0.8.1.tar.gz \ - http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2005q3-2-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 \ - http://dev.openbossa.org/mamona/sources/kernel-source-2.6.16.tar.gz \ - file://defconfig \ - file://fix_mem_corruption.patch;patch=1 \ - file://fix_mem_allign.patch;patch=1 \ - file://cx3110x.patch;patch=1 \ - file://fix_cross_makefile.patch;patch=1 \ - file://fix_ssid_data_length.patch;patch=1 \ - file://770_performance_improvements.patch;patch=1 \ - file://create_sysfs_link_for_wlan0.patch;patch=1 \ -" -# add service file - -LDFLAGS="" -BUILD_LDFLAGS="" -CFLAGS="" -BUILD_CFLAGS="" -TARGET_LDFLAGS="" - -do_configure() { -} - -do_compile() { - export KERNEL_SRC_DIR=${WORKDIR}/kernel-source-2.6.16 - cp ${WORKDIR}/defconfig ${KERNEL_SRC_DIR}/.config - KERNEL_SRC_DIR=${WORKDIR}/kernel-source-2.6.16 PATH=${WORKDIR}/bin/:$PATH CROSS_COMPILE=arm-none-eabi- make modules -} - -do_install() { - install -d ${D}/lib/modules/ - install -m 0644 ${S}/src/cx3110x.ko ${D}/lib/modules/ -} diff --git a/packages/mamona/cx3110x_2.0.15.bb b/packages/mamona/cx3110x_2.0.15.bb deleted file mode 100644 index fcc4ce2cbc..0000000000 --- a/packages/mamona/cx3110x_2.0.15.bb +++ /dev/null @@ -1,42 +0,0 @@ -DESCRIPTION = "cx3110x wifi support as found in the Nokia 800/810" -SECTION = "kernel/modules" -LICENSE = "GPL" -PR = "r0" - -PACKAGES = "${PN}" - -FILES_${PN} += "/lib/modules/cx3110x.ko" - -COMPATIBLE_MACHINE = "(nokia800|nokia810)" - -S = "${WORKDIR}/cx3110x-module-src-${PV}" - -SRC_URI = " \ - http://repository.maemo.org/pool/maemo4.1/free/c/cx3110x-module-src/cx3110x-module-src_2.0.15-1.tar.gz \ - http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2005q3-2-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 \ - http://repository.maemo.org/pool/maemo4.1/free/k/kernel-source-diablo/kernel-source-diablo_2.6.21-200823maemo6.tar.gz \ - file://cx3110x.patch;patch=1 \ - file://create_sysfs_link_for_wlan0.patch;patch=1 \ - file://fix_old_include.patch;patch=1 \ -" -# add service file - -LDFLAGS="" -BUILD_LDFLAGS="" -CFLAGS="" -BUILD_CFLAGS="" -TARGET_LDFLAGS="" - -do_configure() { -} - -do_compile() { - export KERNEL_SRC_DIR=${WORKDIR}/kernel-source-diablo-2.6.21/kernel-source/ - PATH=${WORKDIR}/bin/:$PATH make -C ${KERNEL_SRC_DIR} CROSS_COMPILE=arm-none-eabi- nokia_2420_defconfig prepare scripts - KERNEL_SRC_DIR=${WORKDIR}/kernel-source-diablo-2.6.21/kernel-source/ PATH=${WORKDIR}/bin/:$PATH CROSS_COMPILE=arm-none-eabi- make modules -} - -do_install() { - install -d ${D}/lib/modules/ - install -m 0644 ${S}/src/cx3110x.ko ${D}/lib/modules/ -} diff --git a/packages/tasks/task-mamona.bb b/packages/tasks/task-mamona.bb index c12ce9e4cb..fd4e12a9da 100644 --- a/packages/tasks/task-mamona.bb +++ b/packages/tasks/task-mamona.bb @@ -54,14 +54,14 @@ RDEPENDS = "\ " RDEPENDS_append_nokia770 = " \ - cx3110x \ + cx3110x-770he \ libasound-module-ctl-dsp-ctl \ libasound-module-pcm-alsa-dsp \ mamona-sound-n770 \ " RDEPENDS_append_nokia800 = " \ - cx3110x \ + cx3110x-chinooke \ libasound-module-ctl-dsp-ctl \ libasound-module-pcm-alsa-dsp \ mamona-sound-n800 \ -- 2.39.5