diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-22 16:13:47 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-22 16:13:47 -0400 |
commit | 53baaaa9682c230410a057263d1ce2922f43ddc4 (patch) | |
tree | f5cced5622130f780d76953b284a631c3d226488 /scripts/mod | |
parent | f10140fbe5f97ecfeda986a12d0f1bad75642779 (diff) | |
parent | 3f9787046ea37a26170dc4439efa21f8d23a9978 (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: (79 commits)
arm: bus_id -> dev_name() and dev_set_name() conversions
sparc64: fix up bus_id changes in sparc core code
3c59x: handle pci_name() being const
MTD: handle pci_name() being const
HP iLO driver
sysdev: Convert the x86 mce tolerant sysdev attribute to generic attribute
sysdev: Add utility functions for simple int/ulong variable sysdev attributes
sysdev: Pass the attribute to the low level sysdev show/store function
driver core: Suppress sysfs warnings for device_rename().
kobject: Transmit return value of call_usermodehelper() to caller
sysfs-rules.txt: reword API stability statement
debugfs: Implement debugfs_remove_recursive()
HOWTO: change email addresses of James in HOWTO
always enable FW_LOADER unless EMBEDDED=y
uio-howto.tmpl: use unique output names
uio-howto.tmpl: use standard copyright/legal markings
sysfs: don't call notify_change
sysdev: fix debugging statements in registration code.
kobject: should use kobject_put() in kset-example
kobject: reorder kobject to save space on 64 bit builds
...
Diffstat (limited to 'scripts/mod')
-rw-r--r-- | scripts/mod/file2alias.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 37d5c363fbcd..1fcaf3284a6a 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c | |||
@@ -340,11 +340,18 @@ static int do_acpi_entry(const char *filename, | |||
340 | } | 340 | } |
341 | 341 | ||
342 | /* looks like: "pnp:dD" */ | 342 | /* looks like: "pnp:dD" */ |
343 | static int do_pnp_entry(const char *filename, | 343 | static void do_pnp_device_entry(void *symval, unsigned long size, |
344 | struct pnp_device_id *id, char *alias) | 344 | struct module *mod) |
345 | { | 345 | { |
346 | sprintf(alias, "pnp:d%s*", id->id); | 346 | const unsigned long id_size = sizeof(struct pnp_device_id); |
347 | return 1; | 347 | const struct pnp_device_id *id = symval; |
348 | |||
349 | device_id_check(mod->name, "pnp", size, id_size, symval); | ||
350 | |||
351 | buf_printf(&mod->dev_table_buf, | ||
352 | "MODULE_ALIAS(\"pnp:d%s*\");\n", id->id); | ||
353 | buf_printf(&mod->dev_table_buf, | ||
354 | "MODULE_ALIAS(\"acpi*:%s:*\");\n", id->id); | ||
348 | } | 355 | } |
349 | 356 | ||
350 | /* looks like: "pnp:dD" for every device of the card */ | 357 | /* looks like: "pnp:dD" for every device of the card */ |
@@ -388,9 +395,12 @@ static void do_pnp_card_entries(void *symval, unsigned long size, | |||
388 | } | 395 | } |
389 | 396 | ||
390 | /* add an individual alias for every device entry */ | 397 | /* add an individual alias for every device entry */ |
391 | if (!dup) | 398 | if (!dup) { |
392 | buf_printf(&mod->dev_table_buf, | 399 | buf_printf(&mod->dev_table_buf, |
393 | "MODULE_ALIAS(\"pnp:d%s*\");\n", id); | 400 | "MODULE_ALIAS(\"pnp:d%s*\");\n", id); |
401 | buf_printf(&mod->dev_table_buf, | ||
402 | "MODULE_ALIAS(\"acpi*:%s:*\");\n", id); | ||
403 | } | ||
394 | } | 404 | } |
395 | } | 405 | } |
396 | } | 406 | } |
@@ -701,9 +711,7 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, | |||
701 | sizeof(struct acpi_device_id), "acpi", | 711 | sizeof(struct acpi_device_id), "acpi", |
702 | do_acpi_entry, mod); | 712 | do_acpi_entry, mod); |
703 | else if (sym_is(symname, "__mod_pnp_device_table")) | 713 | else if (sym_is(symname, "__mod_pnp_device_table")) |
704 | do_table(symval, sym->st_size, | 714 | do_pnp_device_entry(symval, sym->st_size, mod); |
705 | sizeof(struct pnp_device_id), "pnp", | ||
706 | do_pnp_entry, mod); | ||
707 | else if (sym_is(symname, "__mod_pnp_card_device_table")) | 715 | else if (sym_is(symname, "__mod_pnp_card_device_table")) |
708 | do_pnp_card_entries(symval, sym->st_size, mod); | 716 | do_pnp_card_entries(symval, sym->st_size, mod); |
709 | else if (sym_is(symname, "__mod_pcmcia_device_table")) | 717 | else if (sym_is(symname, "__mod_pcmcia_device_table")) |