From 0a3088cb4b21458dff1b5c1837ce635ec4154b5a Mon Sep 17 00:00:00 2001 From: "Joseph C. Lehner" Date: Sun, 19 Feb 2017 13:13:15 +0100 Subject: [PATCH] mt76: split kmod package This patch splits `kmod-mt76` into three separate packages: `kmod-mt76-core`, `kmod-mt76x2` and `kmod-mt7603`. By making `kmod-mt76` a metapackage containing these new packages, the previous behaviour of including all drivers and firmware is left unchanged, unless explicitly unselected in `DEVICE_PACKAGES`. This splitting is especially beneficial for devices with small flash chips, since the `kmod-mt76` package currently requires ~160K on squashfs (after compression). Signed-off-by: Joseph C. Lehner Signed-off-by: Felix Fietkau [cleanup] --- package/kernel/mt76/Makefile | 62 ++++++++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile index 5e7761093c..3d11cb5e83 100644 --- a/package/kernel/mt76/Makefile +++ b/package/kernel/mt76/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mt76 -PKG_RELEASE=1 +PKG_RELEASE=2 PKG_LICENSE:=GPLv2 PKG_LICENSE_FILES:= @@ -20,17 +20,44 @@ STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backpor include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk -define KernelPackage/mt76 +define KernelPackage/mt76-default SUBMENU:=Wireless Drivers - TITLE:=MediaTek MT76x2/MT7603 wireless driver DEPENDS:= \ +kmod-mac80211 @PCI_SUPPORT @!LINUX_3_18 \ +@DRIVER_11AC_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT +endef + +define KernelPackage/mt76 + SUBMENU:=Wireless Drivers + TITLE:=MediaTek MT76x2/MT7603 wireless driver (metapackage) + DEPENDS:= \ + +kmod-mt76-core +kmod-mt76x2 +kmod-mt7603 +endef + +define KernelPackage/mt76-core + $(KernelPackage/mt76-default) + TITLE:=MediaTek MT76xx wireless driver + FILES:=\ + $(PKG_BUILD_DIR)/mt76.ko + AUTOLOAD:=$(call AutoLoad,50,mac80211 mt76) +endef + +define KernelPackage/mt76x2 + $(KernelPackage/mt76-default) + TITLE:=MediaTek MT76x2 wireless driver + DEPENDS+=+kmod-mt76-core + FILES:=\ + $(PKG_BUILD_DIR)/mt76x2e.ko + AUTOLOAD:=$(call AutoLoad,51,mt76x2e) +endef + +define KernelPackage/mt7603 + $(KernelPackage/mt76-default) + TITLE:=MediaTek MT7603 wireless driver + DEPENDS+=+kmod-mt76-core FILES:=\ - $(PKG_BUILD_DIR)/mt76.ko \ - $(PKG_BUILD_DIR)/mt76x2e.ko \ $(PKG_BUILD_DIR)/mt7603e.ko - AUTOLOAD:=$(call AutoLoad,50,mac80211 mt76 mt76x2e mt7603e) + AUTOLOAD:=$(call AutoLoad,51,mt7603e) endef NOSTDINC_FLAGS = \ @@ -55,18 +82,27 @@ define Build/Compile modules endef -define KernelPackage/mt76/install +define KernelPackage/mt76x2/install $(INSTALL_DIR) $(1)/lib/firmware cp \ - $(if $(CONFIG_TARGET_ramips_mt7628) || $(CONFIG_TARGET_ramips_mt7688), \ - $(PKG_BUILD_DIR)/firmware/mt7628_e1.bin \ - $(PKG_BUILD_DIR)/firmware/mt7628_e2.bin \ - ) \ - $(PKG_BUILD_DIR)/firmware/mt7603_e1.bin \ - $(PKG_BUILD_DIR)/firmware/mt7603_e2.bin \ $(PKG_BUILD_DIR)/firmware/mt7662_rom_patch.bin \ $(PKG_BUILD_DIR)/firmware/mt7662.bin \ $(1)/lib/firmware endef +define KernelPackage/mt7603/install + $(INSTALL_DIR) $(1)/lib/firmware + cp $(if $(CONFIG_TARGET_ramips_mt7628)$(CONFIG_TARGET_ramips_mt7688), \ + $(PKG_BUILD_DIR)/firmware/mt7628_e1.bin \ + $(PKG_BUILD_DIR)/firmware/mt7628_e2.bin \ + ,\ + $(PKG_BUILD_DIR)/firmware/mt7603_e1.bin \ + $(PKG_BUILD_DIR)/firmware/mt7603_e2.bin \ + ) \ + $(1)/lib/firmware +endef + +$(eval $(call KernelPackage,mt76-core)) +$(eval $(call KernelPackage,mt76x2)) +$(eval $(call KernelPackage,mt7603)) $(eval $(call KernelPackage,mt76))