diff options
Diffstat (limited to 'recipes/c3110x')
-rw-r--r-- | recipes/c3110x/cx3110x_1.1.bb | 30 | ||||
-rw-r--r-- | recipes/c3110x/files/umac_binary.patch | 69 |
2 files changed, 99 insertions, 0 deletions
diff --git a/recipes/c3110x/cx3110x_1.1.bb b/recipes/c3110x/cx3110x_1.1.bb new file mode 100644 index 0000000000..15cf51427d --- /dev/null +++ b/recipes/c3110x/cx3110x_1.1.bb @@ -0,0 +1,30 @@ +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/recipes/c3110x/files/umac_binary.patch b/recipes/c3110x/files/umac_binary.patch new file mode 100644 index 0000000000..bffe69bca5 --- /dev/null +++ b/recipes/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 <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);
|