@@ -651,34 +651,24 @@ static void do_pnp_device_entry(void *symval, unsigned long size,
651651}
652652
653653/* looks like: "pnp:dD" for every device of the card */
654- static void do_pnp_card_entries (void * symval , unsigned long size ,
655- struct module * mod )
654+ static void do_pnp_card_entry (struct module * mod , void * symval )
656655{
657- const unsigned long id_size = SIZE_pnp_card_device_id ;
658- const unsigned int count = (size / id_size )- 1 ;
659- unsigned int i ;
660-
661- device_id_check (mod -> name , "pnp" , size , id_size , symval );
662-
663- for (i = 0 ; i < count ; i ++ ) {
664- unsigned int j ;
665- DEF_FIELD_ADDR (symval + i * id_size , pnp_card_device_id , devs );
656+ DEF_FIELD_ADDR (symval , pnp_card_device_id , devs );
666657
667- for (j = 0 ; j < PNP_MAX_DEVICES ; j ++ ) {
668- const char * id = (char * )(* devs )[j ].id ;
669- char acpi_id [PNP_ID_LEN ];
658+ for (unsigned int i = 0 ; i < PNP_MAX_DEVICES ; i ++ ) {
659+ const char * id = (char * )(* devs )[i ].id ;
660+ char acpi_id [PNP_ID_LEN ];
670661
671- if (!id [0 ])
672- break ;
662+ if (!id [0 ])
663+ break ;
673664
674- /* add an individual alias for every device entry */
675- module_alias_printf (mod , false, "pnp:d%s*" , id );
665+ /* fix broken pnp bus lowercasing */
666+ for (unsigned int j = 0 ; j < sizeof (acpi_id ); j ++ )
667+ acpi_id [j ] = toupper (id [j ]);
676668
677- /* fix broken pnp bus lowercasing */
678- for (int k = 0 ; k < sizeof (acpi_id ); k ++ )
679- acpi_id [k ] = toupper (id [k ]);
680- module_alias_printf (mod , false, "acpi*:%s:*" , acpi_id );
681- }
669+ /* add an individual alias for every device entry */
670+ module_alias_printf (mod , false, "pnp:d%s*" , id );
671+ module_alias_printf (mod , false, "acpi*:%s:*" , acpi_id );
682672 }
683673}
684674
@@ -1541,6 +1531,7 @@ static const struct devtable devtable[] = {
15411531 {"cdx" , SIZE_cdx_device_id , do_cdx_entry },
15421532 {"vchiq" , SIZE_vchiq_device_id , do_vchiq_entry },
15431533 {"coreboot" , SIZE_coreboot_device_id , do_coreboot_entry },
1534+ {"pnp_card" , SIZE_pnp_card_device_id , do_pnp_card_entry },
15441535};
15451536
15461537/* Create MODULE_ALIAS() statements.
@@ -1591,8 +1582,6 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
15911582 do_of_table (symval , sym -> st_size , mod );
15921583 else if (sym_is (name , namelen , "pnp" ))
15931584 do_pnp_device_entry (symval , sym -> st_size , mod );
1594- else if (sym_is (name , namelen , "pnp_card" ))
1595- do_pnp_card_entries (symval , sym -> st_size , mod );
15961585 else {
15971586 int i ;
15981587
0 commit comments