# rt2xx
ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX),y)
-# rt3090.bin is a symlink to rt2860.bin
-# rt3070.bin is a symlink to rt2870.bin
-LINUX_FIRMWARE_FILES += rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin
+define LINUX_FIRMWARE_INSTALL_RALINK_RT2XX_SYMLINKS
+ ln -sf rt2860.bin \
+ $(TARGET_DIR)/lib/firmware/rt3090.bin
+ ln -sf rt2870.bin \
+ $(TARGET_DIR)/lib/firmware/rt3070.bin
+endef
+LINUX_FIRMWARE_FILES += rt2860.bin rt2870.bin rt3071.bin
LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
endif
# sd8688
ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688),y)
-LINUX_FIRMWARE_FILES += libertas/sd8688.bin libertas/sd8688_helper.bin
-# The two files above are but symlinks to those two ones:
+define LINUX_FIRMWARE_INSTALL_LIBERTAS_SD8688_SYMLINKS
+ mkdir -p $(TARGET_DIR)/lib/firmware/libertas
+ ln -sf ../mrvl/sd8688.bin \
+ $(TARGET_DIR)/lib/firmware/libertas/sd8688.bin
+ ln -sf ../mrvl/sd8688_helper.bin \
+ $(TARGET_DIR)/lib/firmware/libertas/sd8688_helper.bin
+endef
LINUX_FIRMWARE_FILES += mrvl/sd8688.bin mrvl/sd8688_helper.bin
LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
endif
# wl127x
ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y)
-# wl1271-nvs.bin is a symlink to wl127x-nvs.bin
+define LINUX_FIRMWARE_INSTALL_TI_WL127X_SYMLINKS
+ ln -sf wl127x-nvs.bin \
+ $(TARGET_DIR)/lib/firmware/ti-connectivity/wl1271-nvs.bin
+endef
LINUX_FIRMWARE_FILES += \
ti-connectivity/wl1271-fw-2.bin \
ti-connectivity/wl1271-fw-ap.bin \
ti-connectivity/wl1271-fw.bin \
- ti-connectivity/wl1271-nvs.bin \
ti-connectivity/wl127x-fw-3.bin \
ti-connectivity/wl127x-fw-plt-3.bin \
ti-connectivity/wl127x-nvs.bin \
# wl128x
ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X),y)
-# wl1271-nvs.bin and wl12xx-nvs.bin are symlinks to wl127x-nvs.bin
+define LINUX_FIRMWARE_INSTALL_TI_WL128X_SYMLINKS
+ ln -sf wl127x-nvs.bin \
+ $(TARGET_DIR)/lib/firmware/ti-connectivity/wl1271-nvs.bin
+ ln -sf wl127x-nvs.bin \
+ $(TARGET_DIR)/lib/firmware/ti-connectivity/wl12xx-nvs.bin
+endef
LINUX_FIRMWARE_FILES += \
ti-connectivity/wl128x-fw-3.bin \
ti-connectivity/wl128x-fw-ap.bin \
ti-connectivity/wl128x-fw-plt-3.bin \
ti-connectivity/wl128x-fw.bin \
- ti-connectivity/wl1271-nvs.bin \
ti-connectivity/wl128x-nvs.bin \
- ti-connectivity/wl12xx-nvs.bin \
ti-connectivity/wl127x-nvs.bin \
ti-connectivity/wl128x-fw-4-mr.bin \
ti-connectivity/wl128x-fw-4-plt.bin \
# wl18xx
ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX),y)
-# wl1271-nvs.bin is a symlink to wl127x-nvs.bin
+define LINUX_FIRMWARE_INSTALL_TI_WL18XX_SYMLINKS
+ ln -sf wl127x-nvs.bin \
+ $(TARGET_DIR)/lib/firmware/ti-connectivity/wl1271-nvs.bin
+endef
LINUX_FIRMWARE_FILES += \
ti-connectivity/wl18xx-fw.bin \
ti-connectivity/wl18xx-fw-2.bin \
ti-connectivity/wl18xx-fw-3.bin \
ti-connectivity/wl18xx-fw-4.bin \
- ti-connectivity/wl1271-nvs.bin \
ti-connectivity/wl127x-nvs.bin \
ti-connectivity/TIInit_7.2.31.bts
LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
endif
ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_DH895XCC),y)
-# qat_mmp.bin is a symlink to qat_895xcc_mmp.bin
-LINUX_FIRMWARE_FILES += qat_895xcc.bin qat_895xcc_mmp.bin qat_mmp.bin
+define LINUX_FIRMWARE_INSTALL_QAT_DH895XCC_SYMLINKS
+ ln -sf qat_895xcc_mmp.bin \
+ $(TARGET_DIR)/lib/firmware/qat_mmp.bin
+endef
+LINUX_FIRMWARE_FILES += qat_895xcc.bin qat_895xcc_mmp.bin
LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware
endif
endef
endif
+define LINUX_FIRMWARE_INSTALL_SYMLINKS
+ $(LINUX_FIRMWARE_INSTALL_RALINK_RT2XX_SYMLINKS)
+ $(LINUX_FIRMWARE_INSTALL_LIBERTAS_SD8688_SYMLINKS)
+ $(LINUX_FIRMWARE_INSTALL_TI_WL127X_SYMLINKS)
+ $(LINUX_FIRMWARE_INSTALL_TI_WL128X_SYMLINKS)
+ $(LINUX_FIRMWARE_INSTALL_TI_WL18XX_SYMLINKS)
+ $(LINUX_FIRMWARE_INSTALL_QAT_DH895XCC_SYMLINKS)
+endef
+
ifneq ($(LINUX_FIRMWARE_FILES)$(LINUX_FIRMWARE_DIRS),)
# Most firmware files are under a proprietary license, so no need to
mkdir -p $(TARGET_DIR)/lib/firmware
$(LINUX_FIRMWARE_INSTALL_FILES)
$(LINUX_FIRMWARE_INSTALL_DIRS)
+ $(LINUX_FIRMWARE_INSTALL_SYMLINKS)
endef
$(eval $(generic-package))