diff options
| author | Ingo Molnar <mingo@elte.hu> | 2008-07-18 13:31:12 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-07-18 13:31:12 -0400 |
| commit | 3e370b29d35fb01bfb92c2814d6f79bf6a2cb970 (patch) | |
| tree | 3b8fb467d60bfe6a34686f4abdc3a60050ba40a4 /scripts | |
| parent | 88d1dce3a74367291f65a757fbdcaf17f042f30c (diff) | |
| parent | 5b664cb235e97afbf34db9c4d77f08ebd725335e (diff) | |
Merge branch 'linus' into x86/pci-ioapic-boot-irq-quirks
Conflicts:
drivers/pci/quirks.c
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/Makefile.fwinst | 66 | ||||
| -rw-r--r-- | scripts/Makefile.lib | 3 | ||||
| -rw-r--r-- | scripts/mod/file2alias.c | 12 |
3 files changed, 80 insertions, 1 deletions
diff --git a/scripts/Makefile.fwinst b/scripts/Makefile.fwinst new file mode 100644 index 000000000000..c972c0f54ce0 --- /dev/null +++ b/scripts/Makefile.fwinst | |||
| @@ -0,0 +1,66 @@ | |||
| 1 | # ========================================================================== | ||
| 2 | # Installing firmware | ||
| 3 | # | ||
| 4 | # We don't include the .config, so all firmware files are in $(fw-shipped-) | ||
| 5 | # rather than in $(fw-shipped-y) or $(fw-shipped-n). | ||
| 6 | # ========================================================================== | ||
| 7 | |||
| 8 | INSTALL := install | ||
| 9 | src := $(obj) | ||
| 10 | |||
| 11 | # For modules_install installing firmware, we want to see .config | ||
| 12 | # But for firmware_install, we don't care, but don't want to require it. | ||
| 13 | -include $(objtree)/.config | ||
| 14 | |||
| 15 | include scripts/Kbuild.include | ||
| 16 | include $(srctree)/$(obj)/Makefile | ||
| 17 | |||
| 18 | include scripts/Makefile.host | ||
| 19 | |||
| 20 | mod-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-m)) | ||
| 21 | |||
| 22 | # If CONFIG_FIRMWARE_IN_KERNEL isn't set, then install the | ||
| 23 | # firmware for in-kernel drivers too. | ||
| 24 | ifndef CONFIG_FIRMWARE_IN_KERNEL | ||
| 25 | mod-fw += $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-y)) | ||
| 26 | endif | ||
| 27 | |||
| 28 | installed-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-all)) | ||
| 29 | installed-fw-dirs := $(sort $(dir $(installed-fw))) $(INSTALL_FW_PATH)/. | ||
| 30 | |||
| 31 | # Workaround for make < 3.81, where .SECONDEXPANSION doesn't work. | ||
| 32 | PHONY += $(INSTALL_FW_PATH)/$$(%) install-all-dirs | ||
| 33 | $(INSTALL_FW_PATH)/$$(%): install-all-dirs | ||
| 34 | @true | ||
| 35 | install-all-dirs: $(installed-fw-dirs) | ||
| 36 | @true | ||
| 37 | |||
| 38 | quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@) | ||
| 39 | cmd_install = $(INSTALL) -m0644 $< $@ | ||
| 40 | |||
| 41 | $(installed-fw-dirs): | ||
| 42 | $(call cmd,mkdir) | ||
| 43 | |||
| 44 | $(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(INSTALL_FW_PATH)/$$(dir %) | ||
| 45 | $(call cmd,install) | ||
| 46 | |||
| 47 | PHONY += __fw_install __fw_modinst FORCE | ||
| 48 | |||
| 49 | .PHONY: $(PHONY) | ||
| 50 | |||
| 51 | __fw_install: $(installed-fw) | ||
| 52 | __fw_modinst: $(mod-fw) | ||
| 53 | |||
| 54 | FORCE: | ||
| 55 | |||
| 56 | # Read all saved command lines and dependencies for the $(targets) we | ||
| 57 | # may be building using $(if_changed{,_dep}). As an optimization, we | ||
| 58 | # don't need to read them if the target does not exist; we will rebuild | ||
| 59 | # anyway in that case. | ||
| 60 | |||
| 61 | targets := $(wildcard $(sort $(targets))) | ||
| 62 | cmd_files := $(wildcard $(foreach f,$(targets),$(dir $(f)).$(notdir $(f)).cmd)) | ||
| 63 | |||
| 64 | ifneq ($(cmd_files),) | ||
| 65 | include $(cmd_files) | ||
| 66 | endif | ||
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 8e440233c27d..ea48b82a3707 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib | |||
| @@ -96,7 +96,8 @@ basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(basetarget)))" | |||
| 96 | modname_flags = $(if $(filter 1,$(words $(modname))),\ | 96 | modname_flags = $(if $(filter 1,$(words $(modname))),\ |
| 97 | -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))") | 97 | -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))") |
| 98 | 98 | ||
| 99 | _c_flags = $(KBUILD_CFLAGS) $(ccflags-y) $(CFLAGS_$(basetarget).o) | 99 | orig_c_flags = $(KBUILD_CFLAGS) $(ccflags-y) $(CFLAGS_$(basetarget).o) |
| 100 | _c_flags = $(filter-out $(CFLAGS_REMOVE_$(basetarget).o), $(orig_c_flags)) | ||
| 100 | _a_flags = $(KBUILD_AFLAGS) $(asflags-y) $(AFLAGS_$(basetarget).o) | 101 | _a_flags = $(KBUILD_AFLAGS) $(asflags-y) $(AFLAGS_$(basetarget).o) |
| 101 | _cpp_flags = $(KBUILD_CPPFLAGS) $(cppflags-y) $(CPPFLAGS_$(@F)) | 102 | _cpp_flags = $(KBUILD_CPPFLAGS) $(cppflags-y) $(CPPFLAGS_$(@F)) |
| 102 | 103 | ||
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index cea4a790e1e9..37d5c363fbcd 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c | |||
| @@ -304,6 +304,14 @@ static int do_ap_entry(const char *filename, | |||
| 304 | return 1; | 304 | return 1; |
| 305 | } | 305 | } |
| 306 | 306 | ||
| 307 | /* looks like: "css:tN" */ | ||
| 308 | static int do_css_entry(const char *filename, | ||
| 309 | struct css_device_id *id, char *alias) | ||
| 310 | { | ||
| 311 | sprintf(alias, "css:t%01X", id->type); | ||
| 312 | return 1; | ||
| 313 | } | ||
| 314 | |||
| 307 | /* Looks like: "serio:tyNprNidNexN" */ | 315 | /* Looks like: "serio:tyNprNidNexN" */ |
| 308 | static int do_serio_entry(const char *filename, | 316 | static int do_serio_entry(const char *filename, |
| 309 | struct serio_device_id *id, char *alias) | 317 | struct serio_device_id *id, char *alias) |
| @@ -680,6 +688,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, | |||
| 680 | do_table(symval, sym->st_size, | 688 | do_table(symval, sym->st_size, |
| 681 | sizeof(struct ap_device_id), "ap", | 689 | sizeof(struct ap_device_id), "ap", |
| 682 | do_ap_entry, mod); | 690 | do_ap_entry, mod); |
| 691 | else if (sym_is(symname, "__mod_css_device_table")) | ||
| 692 | do_table(symval, sym->st_size, | ||
| 693 | sizeof(struct css_device_id), "css", | ||
| 694 | do_css_entry, mod); | ||
| 683 | else if (sym_is(symname, "__mod_serio_device_table")) | 695 | else if (sym_is(symname, "__mod_serio_device_table")) |
| 684 | do_table(symval, sym->st_size, | 696 | do_table(symval, sym->st_size, |
| 685 | sizeof(struct serio_device_id), "serio", | 697 | sizeof(struct serio_device_id), "serio", |
