From bb9fcf80dd56bafd0514de7dcf3aec4689e2279c Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 5 Jun 2007 12:01:47 +0000 Subject: c3110x: add patch and magic to get a working umac.ko for the nokia 800 * you need to provide your own umac.ko to avoid licensing troubles --- packages/c3110x/cx3110x_1.1.bb | 48 ++++++++++++++--------- packages/c3110x/files/.mtn2git_empty | 0 packages/c3110x/files/umac_binary.patch | 69 +++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 18 deletions(-) create mode 100644 packages/c3110x/files/.mtn2git_empty create mode 100644 packages/c3110x/files/umac_binary.patch (limited to 'packages/c3110x') diff --git a/packages/c3110x/cx3110x_1.1.bb b/packages/c3110x/cx3110x_1.1.bb index b3a9ce87e3..15cf51427d 100644 --- a/packages/c3110x/cx3110x_1.1.bb +++ b/packages/c3110x/cx3110x_1.1.bb @@ -1,18 +1,30 @@ -DESCRIPTION = "cx3110x wifi support as found in the Nokia 770/800" -SECTION = "kernel/modules" -LICENSE = "GPL" -PR = "r0" - -export KERNEL_SRC_DIR = ${STAGING_KERNEL_DIR} -export LDFLAGS = "" - -SRC_URI = "https://garage.maemo.org/frs/download.php/939/cx3110x-1.1.tar.gz" - -S = "${WORKDIR}/cx3110x-${PV}" - -inherit module - -do_compile() { - oe_runmake modules -} - +DESCRIPTION = "cx3110x wifi support as found in the Nokia 770/800" +SECTION = "kernel/modules" +LICENSE = "GPL" +PR = "r4" + +COMPATIBLE_MACHINE = "(nokia770|nokia800)" + +export KERNEL_SRC_DIR = ${STAGING_KERNEL_DIR} +export LDFLAGS = "" + +SRC_URI = "https://garage.maemo.org/frs/download.php/939/cx3110x-1.1.tar.gz \ + file://umac_binary.patch;patch=1 \ + http://use.the.umac.ko.from.your.own.nokia800/umac.ko" + +S = "${WORKDIR}/cx3110x-${PV}" + +inherit module + +do_compile() { + cp ${WORKDIR}/umac.ko ${S}/src/binary_umac.o + ${OBJCOPY} ${S}/src/binary_umac.o -R __ksymtab + ${OBJCOPY} ${S}/src/binary_umac.o -R __ksymtab_strings + ${OBJCOPY} ${S}/src/binary_umac.o -R .gnu.linkonce.this_module + ${OBJCOPY} ${S}/src/binary_umac.o -R .modinfo + ${OBJCOPY} ${S}/src/binary_umac.o -R .init.text + ${OBJCOPY} ${S}/src/binary_umac.o -R .exit.text + + oe_runmake modules +} + diff --git a/packages/c3110x/files/.mtn2git_empty b/packages/c3110x/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/c3110x/files/umac_binary.patch b/packages/c3110x/files/umac_binary.patch new file mode 100644 index 0000000000..bffe69bca5 --- /dev/null +++ b/packages/c3110x/files/umac_binary.patch @@ -0,0 +1,69 @@ + src/Makefile.k26 | 4 ++-- + src/dummy_umac.c | 38 ++------------------------------------ + 2 files changed, 4 insertions(+), 38 deletions(-) + +Index: cx3110x-1.1/src/Makefile.k26 +=================================================================== +--- cx3110x-1.1.orig/src/Makefile.k26 2007-05-25 17:51:15.000000000 +0100 ++++ cx3110x-1.1/src/Makefile.k26 2007-05-25 22:44:36.000000000 +0100 +@@ -8,8 +8,8 @@ cx3110x-objs = $(SM_OBJECTS) $(SM_UMAC_O + #MTUM module + cx3110x_mt-objs = $(SM_OBJECTS) $(SM_MTUM_OBJECTS) + +-umac-objs = dummy_umac.o +-mtum-objs = dummy_umac.o ++umac-objs = dummy_umac.o binary_umac.o ++mtum-objs = dummy_umac.o binary_umac.o + + obj-$(CONFIG_CX3110X_STA) += cx3110x.o umac.o + obj-$(CONFIG_CX3110X_PROD) += cx3110x_mt.o mtum.o +Index: cx3110x-1.1/src/dummy_umac.c +=================================================================== +--- cx3110x-1.1.orig/src/dummy_umac.c 2007-05-25 17:51:15.000000000 +0100 ++++ cx3110x-1.1/src/dummy_umac.c 2007-05-25 22:50:59.000000000 +0100 +@@ -15,43 +15,9 @@ + */ + #include + #include "softmac2.h" ++#include "sm_drv.h" + +-SM_API int32_t SM_FDECL prism_softmac_parse_bra(const uint8_t* bra, +- struct s_sm_initdata *data) { return 0; } +- +-SM_API int32_t SM_FDECL prism_softmac_describe(struct s_sm_descr *descr, +- struct s_sm_initdata *data) { return 0; } +- +-SM_API int32_t SM_FDECL prism_softmac_create(uint32_t *context, +- struct s_sm_setup *setup, +- struct s_pda *pda, +- struct s_sm_initdata *data) { return 0; } +- +-SM_API int32_t SM_FDECL prism_softmac_destroy(uint32_t *context) { return 0; } +- +-SM_API int32_t SM_FDECL prism_softmac_conf( uint32_t *context, struct s_sm_conf *conf ){ return 0; } +-SM_API int32_t SM_FDECL prism_softmac_trap( uint32_t *context, struct s_sm_conf *conf ){ return 0; } +- +-SM_API int32_t SM_FDECL prism_softmac_frame_tx(uint32_t *context, struct s_sm_frame *frame){ return 0; } +-SM_API int32_t SM_FDECL prism_softmac_frame_tx_done(uint32_t *context, struct s_sm_frame **frame){ return 0; } +-SM_API int32_t SM_FDECL prism_softmac_frame_rx(uint32_t *context, struct s_sm_frame **frame){ return 0; } +-SM_API int32_t SM_FDECL prism_softmac_service(uint32_t *context) { return 0; } +- +-SM_API int32_t SM_FDECL prism_interconnect_message_query(uint32_t *context, +- uint32_t mask, +- struct s_ic_msg **msg){ return 0; } +-SM_API int32_t SM_FDECL prism_interconnect_message_handle(uint32_t *context, struct s_ic_msg *msg){ return 0; } +-SM_API int32_t SM_FDECL prism_interconnect_trigger(uint32_t *context){ return 0;} +- +-void prism_driver_free(uint32_t *context, void *buffer){} +-void prism_driver_frame_free(uint32_t *context, struct s_sm_frame *frame){} +- +-int sm_net_device; +-void sm_drv_get_device(void) {} +-void frame_skb_alloc(void) {} +-void frame_skb_free(void) {} +-void frame_to_skb(void) {} +-void skb_to_frame(void) {} ++extern int sm_net_device; + + EXPORT_SYMBOL(prism_driver_free); + EXPORT_SYMBOL(prism_driver_frame_free); -- cgit 1.2.3-korg