[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