From abade416d152b1c48cc711b0d994e9cdd279da4e Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 26 Dec 2009 23:15:16 +0000 Subject: [PATCH] b43 and b43legacy: squash firmware Only G and L-PHY are supportted by b43 driver Add squash firmware for b43legacy SVN-Revision: 18947 --- package/mac80211/Config.in.b43 | 7 ++---- package/mac80211/Config.in.b43legacy | 24 +++++++++++++++++++ package/mac80211/Makefile | 7 ++++++ .../mac80211/files/host_bin/b43-fwsquash.py | 4 ++++ 4 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 package/mac80211/Config.in.b43legacy diff --git a/package/mac80211/Config.in.b43 b/package/mac80211/Config.in.b43 index 04576a81aa..e1f4d37d72 100644 --- a/package/mac80211/Config.in.b43 +++ b/package/mac80211/Config.in.b43 @@ -47,10 +47,7 @@ config B43_FW_SQUASH from the final rootfs image. This can reduce the rootfs size by up to 200k. - Do _NOT_ use this option, if you don't know the core revision - and/or PHY type of your wireless chip. - - If unsure, say N. + If unsure, say Y. config B43_FW_SQUASH_COREREVS string "Core revisions to include" @@ -66,7 +63,7 @@ config B43_FW_SQUASH_COREREVS config B43_FW_SQUASH_PHYTYPES string "PHY types to include" depends on PACKAGE_kmod-b43 && B43_FW_SQUASH - default "A,AG,G,LP" + default "G,LP" help This is a comma seperated list of PHY types: A => A-PHY diff --git a/package/mac80211/Config.in.b43legacy b/package/mac80211/Config.in.b43legacy new file mode 100644 index 0000000000..2e2f06e5ae --- /dev/null +++ b/package/mac80211/Config.in.b43legacy @@ -0,0 +1,24 @@ +# B43 configuration + +config B43LEGACY_FW_SQUASH + bool "Remove unnecessary firmware files" + depends on PACKAGE_kmod-b43legacy + default y + help + This options allows you to remove unnecessary b43legacy firmware files + from the final rootfs image. This can reduce the rootfs size by + up to 50k. + + If unsure, say Y. + +config B43LEGACY_FW_SQUASH_COREREVS + string "Core revisions to include" + depends on PACKAGE_kmod-b43legacy && B43LEGACY_FW_SQUASH + default "1,2,3,4" + help + This is a comma seperated list of core revision numbers. + Example (keep files for rev4 only): + 4 + Example (keep files for rev2 and rev4): + 2,4 + diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile index 4cef285942..d500ed9b2e 100644 --- a/package/mac80211/Makefile +++ b/package/mac80211/Makefile @@ -489,6 +489,10 @@ $(call KernelPackage/b43-common) AUTOLOAD:=$(call AutoLoad,30,b43legacy) endef +define KernelPackage/b43legacy/config + source "$(SOURCE)/Config.in.b43legacy" +endef + define KernelPackage/b43legacy/description Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new endef @@ -712,6 +716,9 @@ define KernelPackage/b43legacy/install $(INSTALL_DIR) $(1)/lib/firmware/ b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE) +ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),) + b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy" +endif endef $(eval $(call KernelPackage,ath5k)) diff --git a/package/mac80211/files/host_bin/b43-fwsquash.py b/package/mac80211/files/host_bin/b43-fwsquash.py index 088ed48450..34e6ed3c05 100755 --- a/package/mac80211/files/host_bin/b43-fwsquash.py +++ b/package/mac80211/files/host_bin/b43-fwsquash.py @@ -62,17 +62,21 @@ def phytypes_match(types_a, types_b): return False revmapping = { + "ucode2.fw" : (2,), + "ucode4.fw" : (4,), "ucode5.fw" : (5,6,7,8,9,10,), "ucode11.fw" : (11,12,), "ucode13.fw" : (13,), "ucode14.fw" : (14,), "ucode15.fw" : (15,), + "pcm4.fw" : (1,2,3,4,), "pcm5.fw" : (5,6,7,8,9,10,), } initvalmapping = { "a0g1initvals5.fw" : ( (5,6,7,8,9,10,), ("AG",), ), "a0g0initvals5.fw" : ( (5,6,7,8,9,10,), ("A", "AG",), ), + "b0g0initvals2.fw" : ( (2,4,), ("G",), ), "b0g0initvals5.fw" : ( (5,6,7,8,9,10,), ("G",), ), "b0g0initvals13.fw" : ( (13,), ("G",), ), "n0initvals11.fw" : ( (11,12,), ("N",), ),