[oe-commits] org.oe.dev c3110x: add patch and magic to get a working umac.ko for the nokia 800

koen commit openembedded-commits at lists.openembedded.org
Tue Jun 5 12:06:57 UTC 2007


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

Author: koen at openembedded.org
Branch: org.openembedded.dev
Revision: 225d874e6be0018719b0a6222b1dd91f19048aad
ViewMTN: http://monotone.openembedded.org/revision.psp?id=225d874e6be0018719b0a6222b1dd91f19048aad
Files:
1
packages/c3110x/files
packages/c3110x/files/umac_binary.patch
packages/c3110x/cx3110x_1.1.bb
Diffs:

#
# mt diff -rab9e6b0142c7b6be53097f6ffd2c79f8c97fa79f -r225d874e6be0018719b0a6222b1dd91f19048aad
#
# 
# 
# add_dir "packages/c3110x/files"
# 
# add_file "packages/c3110x/files/umac_binary.patch"
#  content [d753b30d10b2aaa31d3ca72209594ae1eafcadad]
# 
# patch "packages/c3110x/cx3110x_1.1.bb"
#  from [3d0ce9880e020231b0d4c895af91db4d3fee389c]
#    to [e450918114547b95dbcb7a2e4ee7b71154d95fcc]
# 
============================================================
--- packages/c3110x/files/umac_binary.patch	d753b30d10b2aaa31d3ca72209594ae1eafcadad
+++ packages/c3110x/files/umac_binary.patch	d753b30d10b2aaa31d3ca72209594ae1eafcadad
@@ -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 <linux/module.h>
+ #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);
============================================================
--- packages/c3110x/cx3110x_1.1.bb	3d0ce9880e020231b0d4c895af91db4d3fee389c
+++ packages/c3110x/cx3110x_1.1.bb	e450918114547b95dbcb7a2e4ee7b71154d95fcc
@@ -1,18 +1,30 @@ LICENSE = "GPL"
 DESCRIPTION = "cx3110x wifi support as found in the Nokia 770/800"
 SECTION = "kernel/modules"
 LICENSE = "GPL"
-PR = "r0"
+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"
+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 
 }
 






More information about the Openembedded-commits mailing list