aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/mod/file2alias.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-03-26 14:17:04 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-03-26 14:17:04 -0400
commit0c93ea4064a209cdc36de8a9a3003d43d08f46f7 (patch)
treeff19952407c523a1349ef56c05993416dd28437e /scripts/mod/file2alias.c
parentbc2fd381d8f9dbeb181f82286cdca1567e3d0def (diff)
parente6e66b02e11563abdb7f69dcb7a2efbd8d577e77 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (61 commits) Dynamic debug: fix pr_fmt() build error Dynamic debug: allow simple quoting of words dynamic debug: update docs dynamic debug: combine dprintk and dynamic printk sysfs: fix some bin_vm_ops errors kobject: don't block for each kobject_uevent sysfs: only allow one scheduled removal callback per kobj Driver core: Fix device_move() vs. dpm list ordering, v2 Driver core: some cleanup on drivers/base/sys.c Driver core: implement uevent suppress in kobject vcs: hook sysfs devices into object lifetime instead of "binding" driver core: fix passing platform_data driver core: move platform_data into platform_device sysfs: don't block indefinitely for unmapped files. driver core: move knode_bus into private structure driver core: move knode_driver into private structure driver core: move klist_children into private structure driver core: create a private portion of struct device driver core: remove polling for driver_probe_done(v5) sysfs: reference sysfs_dirent from sysfs inodes ... Fixed conflicts in drivers/sh/maple/maple.c manually
Diffstat (limited to 'scripts/mod/file2alias.c')
-rw-r--r--scripts/mod/file2alias.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index 4eea60b1693e..a3344285ccf4 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -710,6 +710,14 @@ static int do_dmi_entry(const char *filename, struct dmi_system_id *id,
710 strcat(alias, ":"); 710 strcat(alias, ":");
711 return 1; 711 return 1;
712} 712}
713
714static int do_platform_entry(const char *filename,
715 struct platform_device_id *id, char *alias)
716{
717 sprintf(alias, PLATFORM_MODULE_PREFIX "%s", id->name);
718 return 1;
719}
720
713/* Ignore any prefix, eg. some architectures prepend _ */ 721/* Ignore any prefix, eg. some architectures prepend _ */
714static inline int sym_is(const char *symbol, const char *name) 722static inline int sym_is(const char *symbol, const char *name)
715{ 723{
@@ -849,6 +857,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
849 do_table(symval, sym->st_size, 857 do_table(symval, sym->st_size,
850 sizeof(struct dmi_system_id), "dmi", 858 sizeof(struct dmi_system_id), "dmi",
851 do_dmi_entry, mod); 859 do_dmi_entry, mod);
860 else if (sym_is(symname, "__mod_platform_device_table"))
861 do_table(symval, sym->st_size,
862 sizeof(struct platform_device_id), "platform",
863 do_platform_entry, mod);
852 free(zeros); 864 free(zeros);
853} 865}
854 866