diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2009-01-07 21:06:42 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-01-20 23:52:08 -0500 |
commit | 72638f598ec9f05a43fcb22dc1dd8dc34c43acc1 (patch) | |
tree | d5db25827dea6b18354fa2acfad95b3a01d7e8b6 /scripts/mod/file2alias.c | |
parent | 7143f7a1a3603002e4ef3719fa92e8dd6e607099 (diff) |
PNP: fix broken pnp lowercasing for acpi module aliases
Based on a patch from Brian, who identified the issue.
Signed-off-by: Bryan Kadzban <bryan@kadzban.is-a-geek.net>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'scripts/mod/file2alias.c')
-rw-r--r-- | scripts/mod/file2alias.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index d4dc222a74f3..491b8b1b6abf 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c | |||
@@ -366,11 +366,17 @@ static void do_pnp_device_entry(void *symval, unsigned long size, | |||
366 | 366 | ||
367 | for (i = 0; i < count; i++) { | 367 | for (i = 0; i < count; i++) { |
368 | const char *id = (char *)devs[i].id; | 368 | const char *id = (char *)devs[i].id; |
369 | char acpi_id[sizeof(devs[0].id)]; | ||
370 | int j; | ||
369 | 371 | ||
370 | buf_printf(&mod->dev_table_buf, | 372 | buf_printf(&mod->dev_table_buf, |
371 | "MODULE_ALIAS(\"pnp:d%s*\");\n", id); | 373 | "MODULE_ALIAS(\"pnp:d%s*\");\n", id); |
374 | |||
375 | /* fix broken pnp bus lowercasing */ | ||
376 | for (j = 0; j < sizeof(acpi_id); j++) | ||
377 | acpi_id[j] = toupper(id[j]); | ||
372 | buf_printf(&mod->dev_table_buf, | 378 | buf_printf(&mod->dev_table_buf, |
373 | "MODULE_ALIAS(\"acpi*:%s:*\");\n", id); | 379 | "MODULE_ALIAS(\"acpi*:%s:*\");\n", acpi_id); |
374 | } | 380 | } |
375 | } | 381 | } |
376 | 382 | ||
@@ -416,10 +422,17 @@ static void do_pnp_card_entries(void *symval, unsigned long size, | |||
416 | 422 | ||
417 | /* add an individual alias for every device entry */ | 423 | /* add an individual alias for every device entry */ |
418 | if (!dup) { | 424 | if (!dup) { |
425 | char acpi_id[sizeof(card->devs[0].id)]; | ||
426 | int k; | ||
427 | |||
419 | buf_printf(&mod->dev_table_buf, | 428 | buf_printf(&mod->dev_table_buf, |
420 | "MODULE_ALIAS(\"pnp:d%s*\");\n", id); | 429 | "MODULE_ALIAS(\"pnp:d%s*\");\n", id); |
430 | |||
431 | /* fix broken pnp bus lowercasing */ | ||
432 | for (k = 0; k < sizeof(acpi_id); k++) | ||
433 | acpi_id[k] = toupper(id[k]); | ||
421 | buf_printf(&mod->dev_table_buf, | 434 | buf_printf(&mod->dev_table_buf, |
422 | "MODULE_ALIAS(\"acpi*:%s:*\");\n", id); | 435 | "MODULE_ALIAS(\"acpi*:%s:*\");\n", acpi_id); |
423 | } | 436 | } |
424 | } | 437 | } |
425 | } | 438 | } |