summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-07-14 16:54:07 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-14 16:54:07 -0700
commit5a86102248592e178a9023359ccf7f0e489d8e35 (patch)
tree9e5fdb9aafca687fa412f7c034f2cfbb834b8567 /scripts
parent85082fd7cbe3173198aac0eb5e85ab1edcc6352c (diff)
parent751851af7aae9b8bd5a60b3897209081fbc18b2b (diff)
Merge branch 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6
* 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6: (64 commits) firmware: convert sb16_csp driver to use firmware loader exclusively dsp56k: use request_firmware edgeport-ti: use request_firmware() edgeport: use request_firmware() vicam: use request_firmware() dabusb: use request_firmware() cpia2: use request_firmware() ip2: use request_firmware() firmware: convert Ambassador ATM driver to request_firmware() whiteheat: use request_firmware() ti_usb_3410_5052: use request_firmware() emi62: use request_firmware() emi26: use request_firmware() keyspan_pda: use request_firmware() keyspan: use request_firmware() ttusb-budget: use request_firmware() kaweth: use request_firmware() smctr: use request_firmware() firmware: convert ymfpci driver to use firmware loader exclusively firmware: convert maestro3 driver to use firmware loader exclusively ... Fix up trivial conflicts with BKL removal in drivers/char/dsp56k.c and drivers/char/ip2/ip2main.c manually.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile.fwinst45
1 files changed, 45 insertions, 0 deletions
diff --git a/scripts/Makefile.fwinst b/scripts/Makefile.fwinst
new file mode 100644
index 000000000000..3d2f4609578f
--- /dev/null
+++ b/scripts/Makefile.fwinst
@@ -0,0 +1,45 @@
+# ==========================================================================
+# Installing firmware
+#
+# We don't include the .config, so all firmware files are in $(fw-shipped-)
+# rather than in $(fw-shipped-y) or $(fw-shipped-n).
+# ==========================================================================
+
+INSTALL := install
+src := $(obj)
+
+# For modules_install installing firmware, we want to see .config
+# But for firmware_install, we don't care, but don't want to require it.
+-include $(objtree)/.config
+
+include scripts/Kbuild.include
+include $(srctree)/$(obj)/Makefile
+
+include scripts/Makefile.host
+
+mod-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-m))
+
+# If CONFIG_FIRMWARE_IN_KERNEL isn't set, then install the
+# firmware for in-kernel drivers too.
+ifndef CONFIG_FIRMWARE_IN_KERNEL
+mod-fw += $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-y))
+endif
+
+installed-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-all))
+installed-fw-dirs := $(sort $(dir $(installed-fw))) $(INSTALL_FW_PATH)/.
+
+quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@)
+ cmd_install = $(INSTALL) -m0644 $< $@
+
+$(installed-fw-dirs):
+ $(call cmd,mkdir)
+
+$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(INSTALL_FW_PATH)/$$(dir %)/
+ $(call cmd,install)
+
+.PHONY: __fw_install __fw_modinst FORCE
+
+__fw_install: $(installed-fw)
+__fw_modinst: $(mod-fw)
+
+FORCE: