aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-07-15 17:12:58 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-15 17:12:58 -0400
commit1e09481365ce248dbb4eb06dad70129bb5807037 (patch)
treec0cff5bef95c8b5e7486f144718ade9a06c284dc /scripts
parent3e2f69fdd1b00166e7d589bce56b2d36a9e74374 (diff)
parentb9d2252c1e44fa83a4e65fdc9eb93db6297c55af (diff)
Merge branch 'linus' into core/softlockup
Conflicts: kernel/softlockup.c Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile.fwinst45
-rw-r--r--scripts/Makefile.lib3
-rw-r--r--scripts/mod/file2alias.c12
3 files changed, 59 insertions, 1 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 @@
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
8INSTALL := install
9src := $(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
15include scripts/Kbuild.include
16include $(srctree)/$(obj)/Makefile
17
18include scripts/Makefile.host
19
20mod-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.
24ifndef CONFIG_FIRMWARE_IN_KERNEL
25mod-fw += $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-y))
26endif
27
28installed-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-all))
29installed-fw-dirs := $(sort $(dir $(installed-fw))) $(INSTALL_FW_PATH)/.
30
31quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@)
32 cmd_install = $(INSTALL) -m0644 $< $@
33
34$(installed-fw-dirs):
35 $(call cmd,mkdir)
36
37$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(INSTALL_FW_PATH)/$$(dir %)/
38 $(call cmd,install)
39
40.PHONY: __fw_install __fw_modinst FORCE
41
42__fw_install: $(installed-fw)
43__fw_modinst: $(mod-fw)
44
45FORCE:
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)))"
96modname_flags = $(if $(filter 1,$(words $(modname))),\ 96modname_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) 99orig_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" */
308static 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" */
308static int do_serio_entry(const char *filename, 316static 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",