diff options
author | Paul Mackerras <paulus@samba.org> | 2008-09-10 11:36:13 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-09-10 11:36:13 +1000 |
commit | 7e392f8c29ee045c6a29d50193d2fb10712eceb0 (patch) | |
tree | c84097fe644c50c82f087ab7fa2d75167b8c0e16 /scripts/mod/file2alias.c | |
parent | 7713fef06517d216f96ee7c8ad750e72bc08d38f (diff) | |
parent | 93811d94f7e9bcfeed7d6ba75ea5d9c80a70ab95 (diff) |
Merge branch 'linux-2.6'
Diffstat (limited to 'scripts/mod/file2alias.c')
-rw-r--r-- | scripts/mod/file2alias.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 4fa1f3ad251..4c9890ec252 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -344,14 +344,20 @@ static void do_pnp_device_entry(void *symval, unsigned long size, struct module *mod) { const unsigned long id_size = sizeof(struct pnp_device_id); - const struct pnp_device_id *id = symval; + const unsigned int count = (size / id_size)-1; + const struct pnp_device_id *devs = symval; + unsigned int i; device_id_check(mod->name, "pnp", size, id_size, symval); - buf_printf(&mod->dev_table_buf, - "MODULE_ALIAS(\"pnp:d%s*\");\n", id->id); - buf_printf(&mod->dev_table_buf, - "MODULE_ALIAS(\"acpi*:%s:*\");\n", id->id); + for (i = 0; i < count; i++) { + const char *id = (char *)devs[i].id; + + buf_printf(&mod->dev_table_buf, + "MODULE_ALIAS(\"pnp:d%s*\");\n", id); + buf_printf(&mod->dev_table_buf, + "MODULE_ALIAS(\"acpi*:%s:*\");\n", id); + } } /* looks like: "pnp:dD" for every device of the card */ |