diff options
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 d4dc222a74f..491b8b1b6ab 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,  	for (i = 0; i < count; i++) {  		const char *id = (char *)devs[i].id; +		char acpi_id[sizeof(devs[0].id)]; +		int j;  		buf_printf(&mod->dev_table_buf,  			   "MODULE_ALIAS(\"pnp:d%s*\");\n", id); + +		/* fix broken pnp bus lowercasing */ +		for (j = 0; j < sizeof(acpi_id); j++) +			acpi_id[j] = toupper(id[j]);  		buf_printf(&mod->dev_table_buf, -			   "MODULE_ALIAS(\"acpi*:%s:*\");\n", id); +			   "MODULE_ALIAS(\"acpi*:%s:*\");\n", acpi_id);  	}  } @@ -416,10 +422,17 @@ static void do_pnp_card_entries(void *symval, unsigned long size,  			/* add an individual alias for every device entry */  			if (!dup) { +				char acpi_id[sizeof(card->devs[0].id)]; +				int k; +  				buf_printf(&mod->dev_table_buf,  					   "MODULE_ALIAS(\"pnp:d%s*\");\n", id); + +				/* fix broken pnp bus lowercasing */ +				for (k = 0; k < sizeof(acpi_id); k++) +					acpi_id[k] = toupper(id[k]);  				buf_printf(&mod->dev_table_buf, -					   "MODULE_ALIAS(\"acpi*:%s:*\");\n", id); +					   "MODULE_ALIAS(\"acpi*:%s:*\");\n", acpi_id);  			}  		}  	} | 
