broadcom-wl: - fix compilation against eglibc and glibc (#7521) - unbind device from b43 ssb bridge on boot (#7529)
SVN-Revision: 22007
This commit is contained in:
parent
d6d8014cfd
commit
28e4d39009
3 changed files with 61 additions and 1 deletions
|
@ -126,7 +126,9 @@ define Build/Compile
|
|||
$(PKG_BUILD_DIR)/nas_exe.o \
|
||||
$(PKG_BUILD_DIR)/shared/libshared.a
|
||||
|
||||
$(TARGET_CC) -o $(PKG_BUILD_DIR)/wl $(PKG_BUILD_DIR)/wl_exe.o
|
||||
$(TARGET_CC) -o $(PKG_BUILD_DIR)/wl \
|
||||
$(PKG_BUILD_DIR)/wl_exe.o \
|
||||
$(PKG_BUILD_DIR)/shared/libshared.a
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
|
@ -140,6 +142,11 @@ define Package/wlc/install
|
|||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/wlc $(1)/sbin/
|
||||
endef
|
||||
|
||||
define Package/wlc/postinst
|
||||
#!/bin/sh
|
||||
[ -n "$${IPKG_INSTROOT}" ] || /etc/init.d/wlunbind enable || true
|
||||
endef
|
||||
|
||||
define Package/wl/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/wl $(1)/usr/sbin/
|
||||
|
|
23
package/broadcom-wl/files/etc/init.d/wlunbind
Executable file
23
package/broadcom-wl/files/etc/init.d/wlunbind
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2010 OpenWrt.org
|
||||
|
||||
START=09
|
||||
|
||||
boot() {
|
||||
local sysfs=/sys/bus/pci/drivers/b43-pci-bridge
|
||||
if [ -d "$sysfs" ]; then
|
||||
local lnk
|
||||
for lnk in $sysfs/*; do
|
||||
[ -h "$lnk" ] || continue
|
||||
case "${lnk##*/}" in
|
||||
*:*:*.*)
|
||||
logger "Unbinding WL PCI device ${lnk##*/} from B43 SSB bridge"
|
||||
echo -n "${lnk##*/}" > "$sysfs/unbind"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
start() { :; }
|
||||
stop() { :; }
|
30
package/broadcom-wl/patches/002-ctype.patch
Normal file
30
package/broadcom-wl/patches/002-ctype.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
--- a/shared/Makefile
|
||||
+++ b/shared/Makefile
|
||||
@@ -19,7 +19,7 @@ LDFLAGS += -L.
|
||||
AR=ar
|
||||
RANLIB=ranlib
|
||||
|
||||
-OBJS := shutils.o wl.o wl_linux.o linux_timer.o
|
||||
+OBJS := shutils.o wl.o wl_linux.o linux_timer.o ctype.o
|
||||
all: libshared.a
|
||||
|
||||
clean:
|
||||
--- /dev/null
|
||||
+++ b/shared/ctype.c
|
||||
@@ -0,0 +1,16 @@
|
||||
+#include <features.h>
|
||||
+
|
||||
+#ifndef __UCLIBC__
|
||||
+extern void **__ctype_b_loc();
|
||||
+extern void **__ctype_tolower_loc();
|
||||
+
|
||||
+void *__ctype_b;
|
||||
+void *__ctype_tolower;
|
||||
+
|
||||
+static void init(void) __attribute__((constructor));
|
||||
+static void init(void)
|
||||
+{
|
||||
+ __ctype_b = *__ctype_b_loc();
|
||||
+ __ctype_tolower = *__ctype_tolower_loc();
|
||||
+}
|
||||
+#endif
|
Loading…
Reference in a new issue