[packages/kernel-net-wl] add support for 3.10 kernel

glen glen at pld-linux.org
Sun Sep 29 21:21:09 CEST 2013


commit 283219f09b729f5d234abdbdd7f91f5f5a879ced
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Sun Sep 29 22:20:17 2013 +0300

    add support for 3.10 kernel
    
    patch from openmamba
    http://www.openmamba.org/pub/openmamba/milestone2-kernel-next/patches/broadcom-sta-6.30.223.141-kernel-3.10.patch

 broadcom-sta-6.30.223.141-kernel-3.10.patch | 102 ++++++++++++++++++++++++++++
 kernel-net-wl.spec                          |   2 +
 2 files changed, 104 insertions(+)
---
diff --git a/kernel-net-wl.spec b/kernel-net-wl.spec
index 91aecfb..b97d605 100644
--- a/kernel-net-wl.spec
+++ b/kernel-net-wl.spec
@@ -17,6 +17,7 @@ Source1:	http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-%{fi
 # Source1-md5:	039f33d2a3ff2890e42717092d1eb0c4
 Source2:	http://www.broadcom.com/docs/linux_sta/README.txt
 # Source2-md5:	8a6e8708a5e00ab6d841cde51d70eb1b
+Patch0:		broadcom-sta-6.30.223.141-kernel-3.10.patch
 URL:		http://www.broadcom.com/support/802.11/linux_sta.php
 %{?with_dist_kernel:BuildRequires:	kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
 BuildRequires:	rpmbuild(macros) >= 1.379
@@ -46,6 +47,7 @@ with Broadcom based hardware.
 %define src 0
 %endif
 %setup -c -T -q -n %{pname}-%{version} -b%{src}
+%patch0 -p2
 
 cat > Makefile << EOF
 obj-m	+= wl.o
diff --git a/broadcom-sta-6.30.223.141-kernel-3.10.patch b/broadcom-sta-6.30.223.141-kernel-3.10.patch
new file mode 100644
index 0000000..c575f28
--- /dev/null
+++ b/broadcom-sta-6.30.223.141-kernel-3.10.patch
@@ -0,0 +1,102 @@
+diff -Naur bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c
+--- bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c	2013-04-23 12:31:31.011588881 +0200
++++ bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c	2013-05-20 18:27:18.830187333 +0200
+@@ -3229,7 +3229,12 @@
+ wl_tkip_printstats(wl_info_t *wl, bool group_key)
+ {
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++	struct seq_file sfile;
++	struct seq_file *debug_buf = &sfile;	
++#else
+ 	char debug_buf[512];
++#endif
+ 	int idx;
+ 	if (wl->tkipmodops) {
+ 		if (group_key) {
+@@ -3242,7 +3247,11 @@
+ 			wl->tkipmodops->print_stats(debug_buf, wl->tkip_ucast_data);
+ 		else
+ 			return;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++		printk("%s: TKIP stats from module: %s\n", debug_buf->buf, group_key?"Bcast":"Ucast");
++#else
+ 		printk("%s: TKIP stats from module: %s\n", debug_buf, group_key?"Bcast":"Ucast");
++#endif
+ 	}
+ #endif 
+ }
+@@ -3401,17 +3410,24 @@
+ 	return 0;
+ }
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ static int
+ wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
++#else
++static ssize_t 
++wl_proc_read (struct file *filp, char __user *buffer, size_t length, loff_t *data)
++#endif
+ {
+ 	wl_info_t * wl = (wl_info_t *)data;
+ 	int bcmerror, to_user;
+ 	int len;
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ 	if (offset > 0) {
+ 		*eof = 1;
+ 		return 0;
+ 	}
++#endif
+ 
+ 	if (!length) {
+ 		WL_ERROR(("%s: Not enough return buf space\n", __FUNCTION__));
+@@ -3424,8 +3440,13 @@
+ 	return len;
+ }
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ static int
+ wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *data)
++#else
++static ssize_t 
++wl_proc_write (struct file *filp, const char __user *buff, size_t length, loff_t *data)
++#endif
+ {
+ 	wl_info_t * wl = (wl_info_t *)data;
+ 	int from_user = 0;
+@@ -3455,19 +3476,34 @@
+ 	return length;
+ }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++static const struct file_operations wl_fops = {
++     .owner	= THIS_MODULE,
++     .read	= wl_proc_read,
++     .write	= wl_proc_write,
++};
++#endif
++
+ static int
+ wl_reg_proc_entry(wl_info_t *wl)
+ {
+ 	char tmp[32];
+ 	sprintf(tmp, "%s%d", HYBRID_PROC, wl->pub->unit);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ 	if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) {
+ 		WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp));
++#else
++	if ((wl->proc_entry = proc_create(tmp, 0644, NULL, &wl_fops)) == NULL) {
++		WL_ERROR(("%s: proc_create %s failed\n", __FUNCTION__, tmp));
++#endif
+ 		ASSERT(0);
+ 		return -1;
+ 	}
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ 	wl->proc_entry->read_proc = wl_proc_read;
+ 	wl->proc_entry->write_proc = wl_proc_write;
+ 	wl->proc_entry->data = wl;
++#endif
+ 	return 0;
+ }
+ #ifdef WLOFFLD
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kernel-net-wl.git/commitdiff/283219f09b729f5d234abdbdd7f91f5f5a879ced



More information about the pld-cvs-commit mailing list