Section mismatch warnings
Subsystems (3)
Hi Sam ,
I get this warnings with a randconfig ( http://194.231.229.228/git-current/randconfig-auto-36 ) :
...
WARNING: vmlinux.o(.text+0xeaf7): Section mismatch: reference to .init.text:init_gdt (between 'voyager_smp_prepare_boot_cpu' and 'smp_vic_cmn_interrupt')
WARNING: vmlinux.o(.text+0x104e3): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x1050a): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x10510): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x10517): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x1054a): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x1055b): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x10765): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x10778): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x107b6): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x107c9): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x1090e): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x10935): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x10944): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x10951): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x109aa): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x109b4): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x109ba): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x109c1): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING: vmlinux.o(.text+0x109e4): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
...
With the same config I see this warnings as well but I think this is a different problem.
...
arch/i386/mach-voyager/voyager_cat.c: In function 'voyager_cat_init':arch/i386/mach-voyager/voyager_cat.c:685: warning: comparison is always false due to limited range of data type arch/i386/mach-voyager/voyager_cat.c:755: warning: comparison is always false due to limited range of data type
...
Regards,
Gabriel
Quoted 7 lines · Gabriel C
Hi Sam ,
I get this warnings with a randconfig ( http://194.231.229.228/git-current/randconfig-auto-36 ) :
...
I only looked at the Section mismatch warnings.
They are fixed by following patch.
James - I assume you will take this forward?
Sam
[PATCH] i386/voyager: fix section mismatch warnings
Quoted 1 line
WARNING:
vmlinux.o(.text+0xeaf7): Section mismatch: reference to .init.text:init_gdt (between 'voyager_smp_prepare_boot_cpu' and 'smp_vic_cmn_interrupt')
voyager_smp_prepare_boot_cpu is marked __devinit and calls init_gdt. init_gdt is marked __cpuinit
Fix seems to make voyager_smp_prepare_boot_cpu __init since I cannot see that function being used for HOTPLUG. Maybe HOTPLUG_CPU but not HOTPLUG.
Quoted 12 lines
WARNING:
vmlinux.o(.text+0x104e3): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'twofish_enc_blk')WARNING:
vmlinux.o(.text+0x1050a): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x10510): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x10517): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x1054a): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x1055b): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x10765): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x10778): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x107b6): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x107c9): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x1090e): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'twofish_enc_blk')
Quoted 8 lines
WARNING:
vmlinux.o(.text+0x10935): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x10944): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x10951): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x109aa): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x109b4): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x109ba): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x109c1): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'twofish_enc_blk')
WARNING:vmlinux.o(.text+0x109e4): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'twofish_enc_blk')
voyager_cat_init is used only by smp_boot_cpus that is marked __init. So fix is to mark voyager_cat_init as __init
---
arch/i386/mach-voyager/voyager_cat.c +1 -2
@@ -568,8 +568,7 @@ static voyager_module_t *voyager_initial_module;* boot cpu *after* all memory initialisation has been done (so we can * use kmalloc) but before smp initialisation, so we can probe the SMP * configuration and pick up necessary information. */ -void -voyager_cat_init (void ) +void __init voyager_cat_init (void ) {voyager_module_t **modpp = &voyager_initial_module;voyager_asic_t **asicpp;
arch/i386/mach-voyager/voyager_smp.c +1 -1
@@ -1899,7 +1899,7 @@ voyager_smp_prepare_cpus(unsigned int max_cpus)smp_boot_cpus (); } -static void __devinit voyager_smp_prepare_boot_cpu (void ) +static void __init voyager_smp_prepare_boot_cpu (void ) {init_gdt (smp_processor_id ());switch_to_new_gdt ();
Quoted 10 lines · Sam Ravnborg
Quoted 7 lines · Gabriel C
Hi Sam ,
I get this warnings with a randconfig ( http://194.231.229.228/git-current/randconfig-auto-36 ) :
...
I only looked at the Section mismatch warnings.
They are fixed by following patch.
Wow you are fast :)
Yes all warnings are fixed.
Gabriel
Hi Sam ,
me again. I got some more mismatch warnings with a randconfig ( http://194.231.229.228/git-current/randconfig-auto-14 )
...
MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0x8adb): Section mismatch: reference to .init.text:register_cpu (between 'arch_register_cpu' and 'text_poke')
WARNING: vmlinux.o(.text+0xb790c): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented')
WARNING: vmlinux.o(.text+0x12f01e): Section mismatch: reference to .init.text:mlx4_init_one (between 'mlx4_restart_one' and 'mlx4_cleanup_mcg_table')
WARNING: vmlinux.o(.text+0x1dd831): Section mismatch: reference to .init.text:setup_TeleInt (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dd9e7): Section mismatch: reference to .init.text:setup_elsa (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dd9f8): Section mismatch: reference to .init.text:setup_avm_a1 (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dda08): Section mismatch: reference to .init.text:setup_teles0 (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dda18): Section mismatch: reference to .init.text:setup_netjet_u (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dda28): Section mismatch: reference to .init.text:setup_hfcpci (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dda38): Section mismatch: reference to .init.text:setup_saphir (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dda48): Section mismatch: reference to .init.text:setup_avm_pcipnp (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dda58): Section mismatch: reference to .init.text:setup_s0box (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dda68): Section mismatch: reference to .init.text:setup_telespci (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dda78): Section mismatch: reference to .init.text:setup_netjet_s (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1dda88): Section mismatch: reference to .init.text:setup_hfcs (between 'checkcard' and 'hisax_init_pcmcia')
WARNING: vmlinux.o(.text+0x1f4e96): Section mismatch: reference to .init.text:clear_pending_isac_ints (between 'inithscxisac' and 'open_hscxstate')
WARNING: vmlinux.o(.text+0x1f4ea4): Section mismatch: reference to .init.text:initisac (between 'inithscxisac' and 'open_hscxstate')
WARNING: vmlinux.o(.text+0x1fa774): Section mismatch: reference to .init.text:clear_pending_isac_ints (between 'AVM_card_msg' and 'avm_pcipnp_interrupt')
WARNING: vmlinux.o(.text+0x1fa77b): Section mismatch: reference to .init.text:initisac (between 'AVM_card_msg' and 'avm_pcipnp_interrupt')
WARNING: vmlinux.o(.text+0x1fdbbf): Section mismatch: reference to .init.text:clear_pending_isac_ints (between 'TeleInt_card_msg' and 'WriteHFC')
WARNING: vmlinux.o(.text+0x1fdbc6): Section mismatch: reference to .init.text:initisac (between 'TeleInt_card_msg' and 'WriteHFC')
WARNING: vmlinux.o(.text+0x1ff98f): Section mismatch: reference to .init.text:clear_pending_isac_ints (between 'NETjet_S_card_msg' and 'netjet_s_interrupt')
WARNING: vmlinux.o(.text+0x1ff996): Section mismatch: reference to .init.text:initisac (between 'NETjet_S_card_msg' and 'netjet_s_interrupt')
WARNING: vmlinux.o(.text+0x2d6a77): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'alc_build_controls' and 'alc662_auto_set_output_and_unmute')
WARNING: vmlinux.o(.text+0x2d6aa1): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'alc_build_controls' and 'alc662_auto_set_output_and_unmute')
WARNING: vmlinux.o(.text+0x2d6abd): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'alc_build_controls' and 'alc662_auto_set_output_and_unmute')
WARNING: vmlinux.o(.text+0x2d994a): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'alc880_parse_auto_config' and 'alc882_gpio_mute')
WARNING: vmlinux.o(.text+0x2da2fe): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc268' and 'patch_alc662')
WARNING: vmlinux.o(.text+0x2da31c): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc268' and 'patch_alc662')
WARNING: vmlinux.o(.text+0x2da6e8): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc662' and 'alc_mux_enum_info')
WARNING: vmlinux.o(.text+0x2da7b5): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc662' and 'alc_mux_enum_info')
WARNING: vmlinux.o(.text+0x2dae6a): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc880' and 'patch_alc260')
WARNING: vmlinux.o(.text+0x2db036): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc260' and 'patch_alc882')
WARNING: vmlinux.o(.text+0x2db0cc): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc260' and 'patch_alc882')
WARNING: vmlinux.o(.text+0x2db4b0): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc882' and 'patch_alc883')
WARNING: vmlinux.o(.text+0x2db77a): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc883' and 'patch_alc262')
WARNING: vmlinux.o(.text+0x2db8ea): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc262' and 'patch_alc861')
WARNING: vmlinux.o(.text+0x2db9b7): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc262' and 'patch_alc861')
WARNING: vmlinux.o(.text+0x2dbca6): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc861' and 'patch_alc861vd')
WARNING: vmlinux.o(.text+0x2dbd3c): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc861' and 'patch_alc861vd')
WARNING: vmlinux.o(.text+0x2dc0c6): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc861vd' and 'cmi9880_build_pcms')
WARNING: vmlinux.o(.text+0x2dc195): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc861vd' and 'cmi9880_build_pcms')
WARNING: vmlinux.o(.text+0x2dc77d): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING: vmlinux.o(.text+0x2dc796): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING: vmlinux.o(.text+0x2dc7c6): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING: vmlinux.o(.text+0x2dc7e6): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING: vmlinux.o(.text+0x2dc93e): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_cmi9880' and 'cmi_mux_enum_get')
WARNING: vmlinux.o(.text+0x2dcab4): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_cmi9880' and 'cmi_mux_enum_get')
WARNING: vmlinux.o(.text+0x2dd301): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'ad198x_build_controls' and 'ad1988_laptop_unsol_event')
WARNING: vmlinux.o(.text+0x2dd32b): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'ad198x_build_controls' and 'ad1988_laptop_unsol_event')
WARNING: vmlinux.o(.text+0x2dd347): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'ad198x_build_controls' and 'ad1988_laptop_unsol_event')
WARNING: vmlinux.o(.text+0x2ddbad): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1984' and 'patch_ad1882')
WARNING: vmlinux.o(.text+0x2ddcfb): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1882' and 'ad198x_free')
WARNING: vmlinux.o(.text+0x2de7db): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1986a' and 'patch_ad1983')
WARNING: vmlinux.o(.text+0x2deabb): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1981' and 'patch_ad1988')
WARNING: vmlinux.o(.text+0x2debfd): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1988' and 'stac92xx_dmux_enum_get')
WARNING: vmlinux.o(.text+0x2dede6): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_ad1988' and 'stac92xx_dmux_enum_get')
WARNING: vmlinux.o(.text+0x2e00dc): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e0105): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e012f): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e014b): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e06cf): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'stac92xx_parse_auto_config' and 'patch_stac9872')
WARNING: vmlinux.o(.text+0x2e0e79): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac9872' and 'vaio_master_sw_put')
WARNING: vmlinux.o(.text+0x2e11dc): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac9200' and 'patch_stac925x')
WARNING: vmlinux.o(.text+0x2e1251): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_stac9200' and 'patch_stac925x')
WARNING: vmlinux.o(.text+0x2e15bb): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac925x' and 'patch_stac922x')
WARNING: vmlinux.o(.text+0x2e172c): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac922x' and 'patch_stac927x')
WARNING: vmlinux.o(.text+0x2e195f): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac927x' and 'patch_stac9205')
WARNING: vmlinux.o(.text+0x2e1aef): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac9205' and 'si3054_switch_info')
WARNING: vmlinux.o(.text+0x2e2116): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'si3054_build_controls' and 'patch_si3054')
WARNING: vmlinux.o(.text+0x2e2248): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'atihdmi_build_controls' and 'patch_atihdmi')
WARNING: vmlinux.o(.text+0x2e2c51): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'conexant_build_controls' and 'patch_cxt5047')
WARNING: vmlinux.o(.text+0x2e2c7b): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'conexant_build_controls' and 'patch_cxt5047')
WARNING: vmlinux.o(.text+0x2e2c97): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'conexant_build_controls' and 'patch_cxt5047')
WARNING: vmlinux.o(.text+0x2e2d99): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_cxt5047' and 'cxt5047_hp_automic')
WARNING: vmlinux.o(.text+0x2e3329): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_cxt5045' and 'via_build_pcms')
WARNING: vmlinux.o(.text+0x2e3617): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'via_build_controls' and 'via_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e3641): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'via_build_controls' and 'via_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e365d): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'via_build_controls' and 'via_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e3ab3): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'vt1709_parse_auto_config' and 'patch_vt1709_6ch')
WARNING: vmlinux.o(.text+0x2e429d): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_vt1708' and 'patch_vt1709_10ch')
WARNING: vmlinux.o(.data+0xacb10): Section mismatch: reference to .init.text:snd_ad1889_probe (between 'ad1889_pci' and 'ops.20707')
WARNING: vmlinux.o(.text+0x12f014): Section mismatch: reference to .exit.text:mlx4_remove_one (between 'mlx4_restart_one' and 'mlx4_cleanup_mcg_table')
WARNING: vmlinux.o(.init.text+0x29d40): Section mismatch: reference to .exit.text:wbsd_release_resources (between 'wbsd_init' and 'wbsd_probe')
WARNING: vmlinux.o(.init.text+0x29d49): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')
WARNING: vmlinux.o(.init.text+0x29f28): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')
...
Gabriel
Quoted 11 lines · Gabriel C
Hi Sam ,
me again. I got some more mismatch warnings with a randconfig ( http://194.231.229.228/git-current/randconfig-auto-14 )
...
MODPOST vmlinux.o
WARNING:vmlinux.o(.text+0x8adb): Section mismatch: reference to .init.text:register_cpu (between 'arch_register_cpu' and 'text_poke')
WARNING:vmlinux.o(.text+0xb790c): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented')
They need further analysis.
Quoted 13 lines
WARNING:
vmlinux.o(.text+0x12f01e): Section mismatch: reference to .init.text:mlx4_init_one (between 'mlx4_restart_one' and 'mlx4_cleanup_mcg_table')
WARNING:vmlinux.o(.text+0x1dd831): Section mismatch: reference to .init.text:setup_TeleInt (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dd9e7): Section mismatch: reference to .init.text:setup_elsa (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dd9f8): Section mismatch: reference to .init.text:setup_avm_a1 (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dda08): Section mismatch: reference to .init.text:setup_teles0 (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dda18): Section mismatch: reference to .init.text:setup_netjet_u (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dda28): Section mismatch: reference to .init.text:setup_hfcpci (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dda38): Section mismatch: reference to .init.text:setup_saphir (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dda48): Section mismatch: reference to .init.text:setup_avm_pcipnp (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dda58): Section mismatch: reference to .init.text:setup_s0box (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dda68): Section mismatch: reference to .init.text:setup_telespci (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dda78): Section mismatch: reference to .init.text:setup_netjet_s (between 'checkcard' and 'hisax_init_pcmcia')
WARNING:vmlinux.o(.text+0x1dda88): Section mismatch: reference to .init.text:setup_hfcs (between 'checkcard' and 'hisax_init_pcmcia')
Quoted 8 lines
WARNING:
vmlinux.o(.text+0x1f4e96): Section mismatch: reference to .init.text:clear_pending_isac_ints (between 'inithscxisac' and 'open_hscxstate')
WARNING:vmlinux.o(.text+0x1f4ea4): Section mismatch: reference to .init.text:initisac (between 'inithscxisac' and 'open_hscxstate')
WARNING:vmlinux.o(.text+0x1fa774): Section mismatch: reference to .init.text:clear_pending_isac_ints (between 'AVM_card_msg' and 'avm_pcipnp_interrupt')
WARNING:vmlinux.o(.text+0x1fa77b): Section mismatch: reference to .init.text:initisac (between 'AVM_card_msg' and 'avm_pcipnp_interrupt')
WARNING:vmlinux.o(.text+0x1fdbbf): Section mismatch: reference to .init.text:clear_pending_isac_ints (between 'TeleInt_card_msg' and 'WriteHFC')
WARNING:vmlinux.o(.text+0x1fdbc6): Section mismatch: reference to .init.text:initisac (between 'TeleInt_card_msg' and 'WriteHFC')
WARNING:vmlinux.o(.text+0x1ff98f): Section mismatch: reference to .init.text:clear_pending_isac_ints (between 'NETjet_S_card_msg' and 'netjet_s_interrupt')
WARNING:vmlinux.o(.text+0x1ff996): Section mismatch: reference to .init.text:initisac (between 'NETjet_S_card_msg' and 'netjet_s_interrupt')
ISDN stuff can wait until Karsten and Jeff has finished the ongoing transition to the new PCI API.
Quoted 50 lines
WARNING:
vmlinux.o(.text+0x2d6a77): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'alc_build_controls' and 'alc662_auto_set_output_and_unmute')
WARNING:vmlinux.o(.text+0x2d6aa1): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'alc_build_controls' and 'alc662_auto_set_output_and_unmute')
WARNING:vmlinux.o(.text+0x2d6abd): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'alc_build_controls' and 'alc662_auto_set_output_and_unmute')
WARNING:vmlinux.o(.text+0x2d994a): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'alc880_parse_auto_config' and 'alc882_gpio_mute')
WARNING:vmlinux.o(.text+0x2da2fe): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc268' and 'patch_alc662')
WARNING:vmlinux.o(.text+0x2da31c): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc268' and 'patch_alc662')
WARNING:vmlinux.o(.text+0x2da6e8): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc662' and 'alc_mux_enum_info')
WARNING:vmlinux.o(.text+0x2da7b5): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc662' and 'alc_mux_enum_info')
WARNING:vmlinux.o(.text+0x2dae6a): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc880' and 'patch_alc260')
WARNING:vmlinux.o(.text+0x2db036): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc260' and 'patch_alc882')
WARNING:vmlinux.o(.text+0x2db0cc): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc260' and 'patch_alc882')
WARNING:vmlinux.o(.text+0x2db4b0): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc882' and 'patch_alc883')
WARNING:vmlinux.o(.text+0x2db77a): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc883' and 'patch_alc262')
WARNING:vmlinux.o(.text+0x2db8ea): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc262' and 'patch_alc861')
WARNING:vmlinux.o(.text+0x2db9b7): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc262' and 'patch_alc861')
WARNING:vmlinux.o(.text+0x2dbca6): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc861' and 'patch_alc861vd')
WARNING:vmlinux.o(.text+0x2dbd3c): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc861' and 'patch_alc861vd')
WARNING:vmlinux.o(.text+0x2dc0c6): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc861vd' and 'cmi9880_build_pcms')
WARNING:vmlinux.o(.text+0x2dc195): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc861vd' and 'cmi9880_build_pcms')
WARNING:vmlinux.o(.text+0x2dc77d): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING:vmlinux.o(.text+0x2dc796): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING:vmlinux.o(.text+0x2dc7c6): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING:vmlinux.o(.text+0x2dc7e6): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING:vmlinux.o(.text+0x2dc93e): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_cmi9880' and 'cmi_mux_enum_get')
WARNING:vmlinux.o(.text+0x2dcab4): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_cmi9880' and 'cmi_mux_enum_get')
WARNING:vmlinux.o(.text+0x2dd301): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'ad198x_build_controls' and 'ad1988_laptop_unsol_event')
WARNING:vmlinux.o(.text+0x2dd32b): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'ad198x_build_controls' and 'ad1988_laptop_unsol_event')
WARNING:vmlinux.o(.text+0x2dd347): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'ad198x_build_controls' and 'ad1988_laptop_unsol_event')
WARNING:vmlinux.o(.text+0x2ddbad): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1984' and 'patch_ad1882')
WARNING:vmlinux.o(.text+0x2ddcfb): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1882' and 'ad198x_free')
WARNING:vmlinux.o(.text+0x2de7db): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1986a' and 'patch_ad1983')
WARNING:vmlinux.o(.text+0x2deabb): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1981' and 'patch_ad1988')
WARNING:vmlinux.o(.text+0x2debfd): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1988' and 'stac92xx_dmux_enum_get')
WARNING:vmlinux.o(.text+0x2dede6): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_ad1988' and 'stac92xx_dmux_enum_get')
WARNING:vmlinux.o(.text+0x2e00dc): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING:vmlinux.o(.text+0x2e0105): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING:vmlinux.o(.text+0x2e012f): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING:vmlinux.o(.text+0x2e014b): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING:vmlinux.o(.text+0x2e06cf): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'stac92xx_parse_auto_config' and 'patch_stac9872')
WARNING:vmlinux.o(.text+0x2e0e79): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac9872' and 'vaio_master_sw_put')
WARNING:vmlinux.o(.text+0x2e11dc): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac9200' and 'patch_stac925x')
WARNING:vmlinux.o(.text+0x2e1251): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_stac9200' and 'patch_stac925x')
WARNING:vmlinux.o(.text+0x2e15bb): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac925x' and 'patch_stac922x')
WARNING:vmlinux.o(.text+0x2e172c): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac922x' and 'patch_stac927x')
WARNING:vmlinux.o(.text+0x2e195f): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac927x' and 'patch_stac9205')
WARNING:vmlinux.o(.text+0x2e1aef): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac9205' and 'si3054_switch_info')
WARNING:vmlinux.o(.text+0x2e2116): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'si3054_build_controls' and 'patch_si3054')
WARNING:vmlinux.o(.text+0x2e2248): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'atihdmi_build_controls' and 'patch_atihdmi')
WARNING:vmlinux.o(.text+0x2e2c51): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'conexant_build_controls' and 'patch_cxt5047')
WARNING:vmlinux.o(.text+0x2e2c7b): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'conexant_build_controls' and 'patch_cxt5047')
Quoted 8 lines
WARNING:
vmlinux.o(.text+0x2e2c97): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'conexant_build_controls' and 'patch_cxt5047')
WARNING:vmlinux.o(.text+0x2e2d99): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_cxt5047' and 'cxt5047_hp_automic')
WARNING:vmlinux.o(.text+0x2e3329): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_cxt5045' and 'via_build_pcms')
WARNING:vmlinux.o(.text+0x2e3617): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'via_build_controls' and 'via_mux_enum_put')
WARNING:vmlinux.o(.text+0x2e3641): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'via_build_controls' and 'via_mux_enum_put')
WARNING:vmlinux.o(.text+0x2e365d): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'via_build_controls' and 'via_mux_enum_put')
WARNING:vmlinux.o(.text+0x2e3ab3): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'vt1709_parse_auto_config' and 'patch_vt1709_6ch')
WARNING:vmlinux.o(.text+0x2e429d): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_vt1708' and 'patch_vt1709_10ch')
All the hda_preset stuff should be marked __devinit as far as I can see. Care to give that a spin yourself?
Quoted 2 lines
WARNING:
vmlinux.o(.data+0xacb10): Section mismatch: reference to .init.text:snd_ad1889_probe (between 'ad1889_pci' and 'ops.20707')
WARNING:vmlinux.o(.text+0x12f014): Section mismatch: reference to .exit.text:mlx4_remove_one (between 'mlx4_restart_one' and 'mlx4_cleanup_mcg_table')
Did not look at these two yet.
Quoted 3 lines
WARNING:
vmlinux.o(.init.text+0x29d40): Section mismatch: reference to .exit.text:wbsd_release_resources (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29d49): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29f28): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')
When a function is marked __exit and used from an init function then the safe choice is to just remove the __exit marking. Usually this is small functions used only in error situations.
Should be trivial too.
Sorry - no patch this time. Could you try to look at it yorself then I will review.
Sam
Quoted 6 lines · Sam Ravnborg
Quoted 5 lines · Gabriel C
Hi Sam ,
me again. I got some more mismatch warnings with a randconfig ( http://194.231.229.228/git-current/randconfig-auto-14 )
Quoted 7 lines
Quoted 6 lines
...
MODPOST vmlinux.o
WARNING:vmlinux.o(.text+0x8adb): Section mismatch: reference to .init.text:register_cpu (between 'arch_register_cpu' and 'text_poke')
WARNING:vmlinux.o(.text+0xb790c): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented')They need further analysis.
< big snip >
Quoted 2 lines
All the
hda_presetstuff should be marked__devinitas far as I can see. Care to give that a spin yourself?
Yes.
I'm not sure I can do it today but tomorrow for sure.
Quoted 5 lines
Quoted 3 lines
WARNING:
vmlinux.o(.data+0xacb10): Section mismatch: reference to .init.text:snd_ad1889_probe (between 'ad1889_pci' and 'ops.20707')
WARNING:vmlinux.o(.text+0x12f014): Section mismatch: reference to .exit.text:mlx4_remove_one (between 'mlx4_restart_one' and 'mlx4_cleanup_mcg_table')Did not look at these two yet.
Quoted 7 lines
Quoted 3 lines
WARNING:
vmlinux.o(.init.text+0x29d40): Section mismatch: reference to .exit.text:wbsd_release_resources (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29d49): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29f28): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')When a function is marked
__exitand used from an init function then the safe choice is to just remove the__exitmarking. Usually this is small functions used only in error situations.
Should be trivial too.
I'll look at those too
Quoted 2 lines
Sorry - no patch this time. Could you try to look at it yorself then I will review.
Ok I'll try.
Quoted 3 lines
Sam
Gabriel
PATCH 1/1 Fix section mismatch warnings in sound/pci/hda/
This patch fixes the following section mismatch warnings in sound/pci/hda/*
...
WARNING: vmlinux.o(.text+0x2d6a77): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'alc_build_controls' and 'alc662_auto_set_output_and_unmute')
WARNING: vmlinux.o(.text+0x2d6aa1): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'alc_build_controls' and 'alc662_auto_set_output_and_unmute')
WARNING: vmlinux.o(.text+0x2d6abd): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'alc_build_controls' and 'alc662_auto_set_output_and_unmute')
WARNING: vmlinux.o(.text+0x2d994a): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'alc880_parse_auto_config' and 'alc882_gpio_mute')
WARNING: vmlinux.o(.text+0x2da2fe): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc268' and 'patch_alc662')
WARNING: vmlinux.o(.text+0x2da31c): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc268' and 'patch_alc662')
WARNING: vmlinux.o(.text+0x2da6e8): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc662' and 'alc_mux_enum_info')
WARNING: vmlinux.o(.text+0x2da7b5): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc662' and 'alc_mux_enum_info')
WARNING: vmlinux.o(.text+0x2dae6a): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc880' and 'patch_alc260')
WARNING: vmlinux.o(.text+0x2db036): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc260' and 'patch_alc882')
WARNING: vmlinux.o(.text+0x2db0cc): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc260' and 'patch_alc882')
WARNING: vmlinux.o(.text+0x2db4b0): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc882' and 'patch_alc883')
WARNING: vmlinux.o(.text+0x2db77a): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc883' and 'patch_alc262')
WARNING: vmlinux.o(.text+0x2db8ea): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc262' and 'patch_alc861')
WARNING: vmlinux.o(.text+0x2db9b7): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc262' and 'patch_alc861')
WARNING: vmlinux.o(.text+0x2dbca6): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc861' and 'patch_alc861vd')
WARNING: vmlinux.o(.text+0x2dbd3c): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc861' and 'patch_alc861vd')
WARNING: vmlinux.o(.text+0x2dc0c6): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_alc861vd' and 'cmi9880_build_pcms')
WARNING: vmlinux.o(.text+0x2dc195): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_alc861vd' and 'cmi9880_build_pcms')
WARNING: vmlinux.o(.text+0x2dc77d): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING: vmlinux.o(.text+0x2dc796): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING: vmlinux.o(.text+0x2dc7c6): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING: vmlinux.o(.text+0x2dc7e6): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'cmi9880_build_controls' and 'cmi_ch_mode_put')
WARNING: vmlinux.o(.text+0x2dc93e): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_cmi9880' and 'cmi_mux_enum_get')
WARNING: vmlinux.o(.text+0x2dcab4): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_cmi9880' and 'cmi_mux_enum_get')
WARNING: vmlinux.o(.text+0x2dd301): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'ad198x_build_controls' and 'ad1988_laptop_unsol_event')
WARNING: vmlinux.o(.text+0x2dd32b): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'ad198x_build_controls' and 'ad1988_laptop_unsol_event')
WARNING: vmlinux.o(.text+0x2dd347): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'ad198x_build_controls' and 'ad1988_laptop_unsol_event')
WARNING: vmlinux.o(.text+0x2ddbad): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1984' and 'patch_ad1882')
WARNING: vmlinux.o(.text+0x2ddcfb): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1882' and 'ad198x_free')
WARNING: vmlinux.o(.text+0x2de7db): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1986a' and 'patch_ad1983')
WARNING: vmlinux.o(.text+0x2deabb): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1981' and 'patch_ad1988')
WARNING: vmlinux.o(.text+0x2debfd): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_ad1988' and 'stac92xx_dmux_enum_get')
WARNING: vmlinux.o(.text+0x2dede6): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_ad1988' and 'stac92xx_dmux_enum_get')
WARNING: vmlinux.o(.text+0x2e00dc): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e0105): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e012f): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e014b): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'stac92xx_build_controls' and 'stac92xx_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e06cf): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'stac92xx_parse_auto_config' and 'patch_stac9872')
WARNING: vmlinux.o(.text+0x2e0e79): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac9872' and 'vaio_master_sw_put')
WARNING: vmlinux.o(.text+0x2e11dc): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac9200' and 'patch_stac925x')
WARNING: vmlinux.o(.text+0x2e1251): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_stac9200' and 'patch_stac925x')
WARNING: vmlinux.o(.text+0x2e15bb): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac925x' and 'patch_stac922x')
WARNING: vmlinux.o(.text+0x2e172c): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac922x' and 'patch_stac927x')
WARNING: vmlinux.o(.text+0x2e195f): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac927x' and 'patch_stac9205')
WARNING: vmlinux.o(.text+0x2e1aef): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_stac9205' and 'si3054_switch_info')
WARNING: vmlinux.o(.text+0x2e2116): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'si3054_build_controls' and 'patch_si3054')
WARNING: vmlinux.o(.text+0x2e2248): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'atihdmi_build_controls' and 'patch_atihdmi')
WARNING: vmlinux.o(.text+0x2e2c51): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'conexant_build_controls' and 'patch_cxt5047')
WARNING: vmlinux.o(.text+0x2e2c7b): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'conexant_build_controls' and 'patch_cxt5047')
WARNING: vmlinux.o(.text+0x2e2c97): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'conexant_build_controls' and 'patch_cxt5047')
WARNING: vmlinux.o(.text+0x2e2d99): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_cxt5047' and 'cxt5047_hp_automic')
WARNING: vmlinux.o(.text+0x2e3329): Section mismatch: reference to .init.text:snd_hda_check_board_config (between 'patch_cxt5045' and 'via_build_pcms')
WARNING: vmlinux.o(.text+0x2e3617): Section mismatch: reference to .init.text:snd_hda_add_new_ctls (between 'via_build_controls' and 'via_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e3641): Section mismatch: reference to .init.text:snd_hda_create_spdif_in_ctls (between 'via_build_controls' and 'via_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e365d): Section mismatch: reference to .init.text:snd_hda_create_spdif_out_ctls (between 'via_build_controls' and 'via_mux_enum_put')
WARNING: vmlinux.o(.text+0x2e3ab3): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'vt1709_parse_auto_config' and 'patch_vt1709_6ch')
WARNING: vmlinux.o(.text+0x2e429d): Section mismatch: reference to .init.text:snd_hda_parse_pin_def_config (between 'patch_vt1708' and 'patch_vt1709_10ch')
...
---
Sam , please review.
sound/pci/hda/hda_patch.h | 2 +- sound/pci/hda/patch_analog.c | 14 +++++++------- sound/pci/hda/patch_atihdmi.c | 2 +- sound/pci/hda/patch_cmedia.c | 6 +++--- sound/pci/hda/patch_conexant.c | 10 +++++----- sound/pci/hda/patch_realtek.c | 24 ++++++++++++------------ sound/pci/hda/patch_si3054.c | 2 +- sound/pci/hda/patch_sigmatel.c | 22 +++++++++++----------- sound/pci/hda/patch_via.c | 12 ++++++------ 9 files changed, 47 insertions(+), 47 deletions(-)
sound/pci/hda/hda_patch.h +1 -1
@@ -19,7 +19,7 @@ extern struct hda_codec_preset snd_hda_preset_conexant[];/* VIA codecs */ extern struct hda_codec_preset snd_hda_preset_via[]; -static const struct hda_codec_preset *hda_preset_tables[] = { +static const struct hda_codec_preset *hda_preset_tables[]__devinitdata = { snd_hda_preset_realtek, snd_hda_preset_cmedia, snd_hda_preset_analog,
sound/pci/hda/patch_analog.c +7 -7
@@ -120,7 +120,7 @@ static int ad198x_init(struct hda_codec *codec)return 0 ; } -static int ad198x_build_controls (struct hda_codec *codec) +static int __devinit ad198x_build_controls (struct hda_codec *codec) {struct ad198x_spec *spec = codec->spec;unsigned int i;
@@ -855,7 +855,7 @@ static struct snd_pci_quirk ad1986a_cfg_tbl[] = { {} }; -static int patch_ad1986a (struct hda_codec *codec) +static int __devinit patch_ad1986a (struct hda_codec *codec) {struct ad198x_spec *spec;int board_config;
@@ -1465,7 +1465,7 @@ static struct snd_pci_quirk ad1981_cfg_tbl[] = { {} }; -static int patch_ad1981 (struct hda_codec *codec) +static int __devinit patch_ad1981 (struct hda_codec *codec) {struct ad198x_spec *spec;int board_config;
@@ -2654,7 +2654,7 @@ static struct snd_pci_quirk ad1988_cfg_tbl[] = { {} }; -static int patch_ad1988 (struct hda_codec *codec) +static int __devinit patch_ad1988 (struct hda_codec *codec) {struct ad198x_spec *spec;int board_config;
@@ -3085,7 +3085,7 @@ static struct snd_pci_quirk ad1984_cfg_tbl[] = { {} }; -static int patch_ad1984 (struct hda_codec *codec) +static int __devinit patch_ad1984 (struct hda_codec *codec) {struct ad198x_spec *spec;int board_config, err;
@@ -3344,7 +3344,7 @@ static const char *ad1882_models[AD1986A_MODELS] = { }; -static int patch_ad1882 (struct hda_codec *codec) +static int __devinit patch_ad1882 (struct hda_codec *codec) {struct ad198x_spec *spec;int board_config;
@@ -3398,7 +3398,7 @@ static int patch_ad1882(struct hda_codec *codec)/* * patch entries */ -struct hda_codec_preset snd_hda_preset_analog[] = { +struct hda_codec_preset snd_hda_preset_analog[]__devinitdata = { { .id =0x11d41882 , .name ="AD1882" , .patch = patch_ad1882 }, { .id =0x11d41884 , .name ="AD1884" , .patch = patch_ad1884 }, { .id =0x11d41981 , .name ="AD1981" , .patch = patch_ad1981 },
sound/pci/hda/patch_atihdmi.c +1 -1
@@ -44,7 +44,7 @@ static struct hda_verb atihdmi_basic_init[] = {/* * Controls */ -static int atihdmi_build_controls (struct hda_codec *codec) +static int __devinit atihdmi_build_controls (struct hda_codec *codec) {struct atihdmi_spec *spec = codec->spec;int err;
sound/pci/hda/patch_cmedia.c +3 -3
@@ -315,7 +315,7 @@ static struct hda_verb cmi9880_allout_init[] = {/* */ -static int cmi9880_build_controls (struct hda_codec *codec) +static int __devinit cmi9880_build_controls (struct hda_codec *codec) {struct cmi_spec *spec = codec->spec;int err;
@@ -640,7 +640,7 @@ static struct hda_codec_ops cmi9880_patch_ops = {#endif }; -static int patch_cmi9880 (struct hda_codec *codec) +static int __devinit patch_cmi9880 (struct hda_codec *codec) {struct cmi_spec *spec;
@@ -753,7 +753,7 @@ static int patch_cmi9880(struct hda_codec *codec)/* * patch entries */ -struct hda_codec_preset snd_hda_preset_cmedia[] = { +struct hda_codec_preset snd_hda_preset_cmedia[]__devinitdata = { { .id =0x13f69880 , .name ="CMI9880" , .patch = patch_cmi9880 }, { .id =0x434d4980 , .name ="CMI9880" , .patch = patch_cmi9880 }, {}/* terminator */
sound/pci/hda/patch_conexant.c +5 -5
@@ -328,7 +328,7 @@ static int conexant_resume(struct hda_codec *codec) }#endif -static int conexant_build_controls (struct hda_codec *codec) +static int __devinit conexant_build_controls (struct hda_codec *codec) {struct conexant_spec *spec = codec->spec;unsigned int i;
@@ -808,7 +808,7 @@ static struct snd_pci_quirk cxt5045_cfg_tbl[] = { {} }; -static int patch_cxt5045 (struct hda_codec *codec) +static int __devinit patch_cxt5045 (struct hda_codec *codec) {struct conexant_spec *spec;int board_config;
@@ -1317,7 +1317,7 @@ static struct snd_pci_quirk cxt5047_cfg_tbl[] = { {} }; -static int patch_cxt5047 (struct hda_codec *codec) +static int __devinit patch_cxt5047 (struct hda_codec *codec) {struct conexant_spec *spec;int board_config;
@@ -1374,12 +1374,12 @@ static int patch_cxt5047(struct hda_codec *codec) spec->mixers[0 ] = cxt5047_test_mixer; spec->init_verbs[0 ] = cxt5047_test_init_verbs; codec->patch_ops.unsol_event = cxt5047_hp_unsol_event; -#endif +#endif }return 0 ; } -struct hda_codec_preset snd_hda_preset_conexant[] = { +struct hda_codec_preset snd_hda_preset_conexant[]__devinitdata = { { .id =0x14f15045 , .name ="CX20549 (Venice)" , .patch = patch_cxt5045 }, { .id =0x14f15047 , .name ="CX20551 (Waikiki)" ,
sound/pci/hda/patch_realtek.c +12 -12
@@ -1253,7 +1253,7 @@ static struct snd_kcontrol_new alc880_uniwill_p53_mixer[] = {/* * build control elements */ -static int alc_build_controls (struct hda_codec *codec) +static int __devinit alc_build_controls (struct hda_codec *codec) {struct alc_spec *spec = codec->spec;int err;
@@ -3269,7 +3269,7 @@ static void alc880_auto_init_analog_input(struct hda_codec *codec)/* return 1 if successful, 0 if the proper config is not found, * or a negative error code */ -static int alc880_parse_auto_config (struct hda_codec *codec) +static int __devinit alc880_parse_auto_config (struct hda_codec *codec) {struct alc_spec *spec = codec->spec;int err;
@@ -3331,7 +3331,7 @@ static void alc880_auto_init(struct hda_codec *codec)* OK, here we have finally the patch for ALC880 */ -static int patch_alc880 (struct hda_codec *codec) +static int __devinit patch_alc880 (struct hda_codec *codec) {struct alc_spec *spec;int board_config;
@@ -4702,7 +4702,7 @@ static struct alc_config_preset alc260_presets[] = {#endif }; -static int patch_alc260 (struct hda_codec *codec) +static int __devinit patch_alc260 (struct hda_codec *codec) {struct alc_spec *spec;int err, board_config;
@@ -5630,7 +5630,7 @@ static void alc882_auto_init(struct hda_codec *codec)alc882_auto_init_analog_input (codec); } -static int patch_alc882 (struct hda_codec *codec) +static int __devinit patch_alc882 (struct hda_codec *codec) {struct alc_spec *spec;int err, board_config;
@@ -6993,7 +6993,7 @@ static void alc883_auto_init(struct hda_codec *codec)alc883_auto_init_analog_input (codec); } -static int patch_alc883 (struct hda_codec *codec) +static int __devinit patch_alc883 (struct hda_codec *codec) {struct alc_spec *spec;int err, board_config;
@@ -8057,7 +8057,7 @@ static struct alc_config_preset alc262_presets[] = { }, }; -static int patch_alc262 (struct hda_codec *codec) +static int __devinit patch_alc262 (struct hda_codec *codec) {struct alc_spec *spec;int board_config;
@@ -8575,7 +8575,7 @@ static struct alc_config_preset alc268_presets[] = { }, }; -static int patch_alc268 (struct hda_codec *codec) +static int __devinit patch_alc268 (struct hda_codec *codec) {struct alc_spec *spec;int board_config;
@@ -9746,7 +9746,7 @@ static struct alc_config_preset alc861_presets[] = { }; -static int patch_alc861 (struct hda_codec *codec) +static int __devinit patch_alc861 (struct hda_codec *codec) {struct alc_spec *spec;int board_config;
@@ -10679,7 +10679,7 @@ static void alc861vd_auto_init(struct hda_codec *codec)alc861vd_auto_init_analog_input (codec); } -static int patch_alc861vd (struct hda_codec *codec) +static int __devinit patch_alc861vd (struct hda_codec *codec) {struct alc_spec *spec;int err, board_config;
@@ -11533,7 +11533,7 @@ static void alc662_auto_init(struct hda_codec *codec)alc662_auto_init_analog_input (codec); } -static int patch_alc662 (struct hda_codec *codec) +static int __devinit patch_alc662 (struct hda_codec *codec) {struct alc_spec *spec;int err, board_config;
@@ -11593,7 +11593,7 @@ static int patch_alc662(struct hda_codec *codec)/* * patch entries */ -struct hda_codec_preset snd_hda_preset_realtek[] = { +struct hda_codec_preset snd_hda_preset_realtek[]__devinitdata = { { .id =0x10ec0260 , .name ="ALC260" , .patch = patch_alc260 }, { .id =0x10ec0262 , .name ="ALC262" , .patch = patch_alc262 }, { .id =0x10ec0268 , .name ="ALC268" , .patch = patch_alc268 },
sound/pci/hda/patch_si3054.c +1 -1
@@ -143,7 +143,7 @@ static struct snd_kcontrol_new si3054_modem_mixer[] = { {} }; -static int si3054_build_controls (struct hda_codec *codec) +static int __devinit si3054_build_controls (struct hda_codec *codec) {return snd_hda_add_new_ctls (codec, si3054_modem_mixer); }
sound/pci/hda/patch_sigmatel.c +11 -11
@@ -417,7 +417,7 @@ static struct snd_kcontrol_new stac9205_mixer[] = { { }/* end */ }; -static int stac92xx_build_controls (struct hda_codec *codec) +static int __devinit stac92xx_build_controls (struct hda_codec *codec) {struct sigmatel_spec *spec = codec->spec;int err;
@@ -1575,7 +1575,7 @@ static void stac92xx_auto_init_hp_out(struct hda_codec *codec) } } -static int stac92xx_parse_auto_config (struct hda_codec *codec,hda_nid_t dig_out,hda_nid_t dig_in) +static int __devinit stac92xx_parse_auto_config (struct hda_codec *codec,hda_nid_t dig_out,hda_nid_t dig_in) {struct sigmatel_spec *spec = codec->spec;int err;
@@ -1967,7 +1967,7 @@ static struct hda_codec_ops stac92xx_patch_ops = {#endif }; -static int patch_stac9200 (struct hda_codec *codec) +static int __devinit patch_stac9200 (struct hda_codec *codec) {struct sigmatel_spec *spec;int err;
@@ -2017,7 +2017,7 @@ static int patch_stac9200(struct hda_codec *codec)return 0 ; } -static int patch_stac925x (struct hda_codec *codec) +static int __devinit patch_stac925x (struct hda_codec *codec) {struct sigmatel_spec *spec;int err;
@@ -2089,7 +2089,7 @@ static int patch_stac925x(struct hda_codec *codec)return 0 ; } -static int patch_stac922x (struct hda_codec *codec) +static int __devinit patch_stac922x (struct hda_codec *codec) {struct sigmatel_spec *spec;int err;
@@ -2190,7 +2190,7 @@ static int patch_stac922x(struct hda_codec *codec)return 0 ; } -static int patch_stac927x (struct hda_codec *codec) +static int __devinit patch_stac927x (struct hda_codec *codec) {struct sigmatel_spec *spec;int err;
@@ -2269,7 +2269,7 @@ static int patch_stac927x(struct hda_codec *codec)return 0 ; } -static int patch_stac9205 (struct hda_codec *codec) +static int __devinit patch_stac9205 (struct hda_codec *codec) {struct sigmatel_spec *spec;int err, gpio_mask, gpio_data;
@@ -2533,7 +2533,7 @@ static struct snd_pci_quirk stac9872_cfg_tbl[] = { {} }; -static int patch_stac9872 (struct hda_codec *codec) +static int __devinit patch_stac9872 (struct hda_codec *codec) {struct sigmatel_spec *spec;int board_config;
@@ -2544,7 +2544,7 @@ static int patch_stac9872(struct hda_codec *codec)if (board_config <0 )/* unknown config, let generic-parser do its job... */ return snd_hda_parse_generic_codec (codec); - + spec =kzalloc (sizeof (*spec),GFP_KERNEL );if (spec ==NULL )return -ENOMEM ;
@@ -2565,7 +2565,7 @@ static int patch_stac9872(struct hda_codec *codec) spec->input_mux = &vaio_mux; spec->mux_nids = vaio_mux_nids;break ; - +case CXD9872AKD_VAIO : spec->mixer = vaio_ar_mixer; spec->init = vaio_ar_init;
@@ -2588,7 +2588,7 @@ static int patch_stac9872(struct hda_codec *codec)/* * patch entries */ -struct hda_codec_preset snd_hda_preset_sigmatel[] = { +struct hda_codec_preset snd_hda_preset_sigmatel[]__devinitdata = { { .id =0x83847690 , .name ="STAC9200" , .patch = patch_stac9200 }, { .id =0x83847882 , .name ="STAC9220 A1" , .patch = patch_stac922x }, { .id =0x83847680 , .name ="STAC9221 A1" , .patch = patch_stac922x },
sound/pci/hda/patch_via.c +6 -6
@@ -455,7 +455,7 @@ static struct hda_pcm_stream vt1708_pcm_digital_capture = { .channels_max = 2, }; -static int via_build_controls (struct hda_codec *codec) +static int __devinit via_build_controls (struct hda_codec *codec) {struct via_spec *spec = codec->spec;int err;
@@ -813,7 +813,7 @@ static int via_auto_init(struct hda_codec *codec)return 0 ; } -static int patch_vt1708 (struct hda_codec *codec) +static int __devinit patch_vt1708 (struct hda_codec *codec) {struct via_spec *spec;int err;
@@ -1212,7 +1212,7 @@ static int vt1709_auto_create_analog_input_ctls(struct via_spec *spec,return 0 ; } -static int vt1709_parse_auto_config (struct hda_codec *codec) +static int __devinit vt1709_parse_auto_config (struct hda_codec *codec) {struct via_spec *spec = codec->spec;int err;
@@ -1251,7 +1251,7 @@ static int vt1709_parse_auto_config(struct hda_codec *codec)return 1 ; } -static int patch_vt1709_10ch (struct hda_codec *codec) +static int __devinit patch_vt1709_10ch (struct hda_codec *codec) {struct via_spec *spec;int err;
@@ -1341,7 +1341,7 @@ static struct hda_verb vt1709_6ch_volume_init_verbs[] = { { } }; -static int patch_vt1709_6ch (struct hda_codec *codec) +static int __devinit patch_vt1709_6ch (struct hda_codec *codec) {struct via_spec *spec;int err;
@@ -1390,7 +1390,7 @@ static int patch_vt1709_6ch(struct hda_codec *codec)/* * patch entries */ -struct hda_codec_preset snd_hda_preset_via[] = { +struct hda_codec_preset snd_hda_preset_via[]__devinitdata = { { .id =0x11061708 , .name ="VIA VT1708" , .patch = patch_vt1708}, { .id =0x11061709 , .name ="VIA VT1708" , .patch = patch_vt1708}, { .id =0x1106170A , .name ="VIA VT1708" , .patch = patch_vt1708},
Quoted 9 lines
Quoted 8 lines
Quoted 4 lines
WARNING:
vmlinux.o(.init.text+0x29d40): Section mismatch: reference to .exit.text:wbsd_release_resources (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29d49): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29f28): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')When a function is marked
__exitand used from an init function then the safe choice is to just remove the__exitmarking. Usually this is small functions used only in error situations.
Should be trivial too.
Quoted 6 lines
I'll look at those too
Quoted 1 line
Sorry - no patch this time. Could you try to look at it yorself then I will review.
Ok I'll try.
The warnings gone with this patch but I'm not really sure it is correct.
drivers/mmc/host/wbsd.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
drivers/mmc/host/wbsd.c +5 -5
@@ -1266,7 +1266,7 @@ static int __devinit wbsd_alloc_mmc(struct device *dev)return 0 ; } -static void __devexit wbsd_free_mmc(struct device *dev) +static void wbsd_free_mmc (struct device *dev) {struct mmc_host *mmc;struct wbsd_host *host;
@@ -1358,7 +1358,7 @@ static int __devinit wbsd_request_region(struct wbsd_host *host, int base)return 0 ; } -static void __devexit wbsd_release_regions(struct wbsd_host *host) +static void wbsd_release_regions (struct wbsd_host *host) {if (host->base)release_region (host->base,8 );
@@ -1434,7 +1434,7 @@ err: "Falling back on FIFO.\n", dma); } -static void __devexit wbsd_release_dma(struct wbsd_host *host) +static void wbsd_release_dma (struct wbsd_host *host) {if (host->dma_addr) { dma_unmap_single(mmc_dev(host->mmc), host->dma_addr,
@@ -1484,7 +1484,7 @@ static int __devinit wbsd_request_irq(struct wbsd_host *host, int irq)return 0 ; } -static void __devexit wbsd_release_irq(struct wbsd_host *host) +static void wbsd_release_irq (struct wbsd_host *host) {if (!host->irq)return ;
@@ -1535,7 +1535,7 @@ static int __devinit wbsd_request_resources(struct wbsd_host *host,* Release all resources for the host. */ -static void __devexit wbsd_release_resources(struct wbsd_host *host) +static void wbsd_release_resources (struct wbsd_host *host) {wbsd_release_dma (host);wbsd_release_irq (host);
Sam Ravnborg
Acked-byQuoted 9 lines · Gabriel C
Quoted 9 lines
Quoted 8 lines
Quoted 4 lines
WARNING:
vmlinux.o(.init.text+0x29d40): Section mismatch: reference to .exit.text:wbsd_release_resources (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29d49): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29f28): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')When a function is marked
__exitand used from an init function then the safe choice is to just remove the__exitmarking. Usually this is small functions used only in error situations.
Should be trivial too.
Quoted 8 lines
Quoted 6 lines
I'll look at those too
Quoted 1 line
Sorry - no patch this time. Could you try to look at it yorself then I will review.
Ok I'll try.
The warnings gone with this patch but I'm not really sure it is correct.
Looks correct to me.
You drop the __devexit marking for functions used outside __exit.
Sam
Quoted 54 lines
drivers/mmc/host/wbsd.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)drivers/mmc/host/wbsd.c +5
-5@@ -1266,7 +1266,7 @@ static int __devinit wbsd_alloc_mmc(struct device *dev)return 0 ; } -static void __devexit wbsd_free_mmc(struct device *dev) +static void wbsd_free_mmc (struct device *dev) {struct mmc_host *mmc;struct wbsd_host *host;@@ -1358,7 +1358,7 @@ static int __devinit wbsd_request_region(struct wbsd_host *host, int base)return 0 ; } -static void __devexit wbsd_release_regions(struct wbsd_host *host) +static void wbsd_release_regions (struct wbsd_host *host) {if (host->base)release_region (host->base,8 );@@ -1434,7 +1434,7 @@ err: "Falling back on FIFO.\n", dma); } -static void __devexit wbsd_release_dma(struct wbsd_host *host) +static void wbsd_release_dma (struct wbsd_host *host) {if (host->dma_addr) { dma_unmap_single(mmc_dev(host->mmc), host->dma_addr,@@ -1484,7 +1484,7 @@ static int __devinit wbsd_request_irq(struct wbsd_host *host, int irq)return 0 ; } -static void __devexit wbsd_release_irq(struct wbsd_host *host) +static void wbsd_release_irq (struct wbsd_host *host) {if (!host->irq)return ;@@ -1535,7 +1535,7 @@ static int __devinit wbsd_request_resources(struct wbsd_host *host,* Release all resources for the host. */ -static void __devexit wbsd_release_resources(struct wbsd_host *host) +static void wbsd_release_resources (struct wbsd_host *host) {wbsd_release_dma (host);wbsd_release_irq (host);
Quoted 10 lines · Sam Ravnborg
Quoted 9 lines · Gabriel C
Quoted 9 lines
Quoted 7 lines
Quoted 3 lines
WARNING:
vmlinux.o(.init.text+0x29d40): Section mismatch: reference to .exit.text:wbsd_release_resources (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29d49): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29f28): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')When a function is marked
__exitand used from an init function then the safe choice is to just remove the__exitmarking. Usually this is small functions used only in error situations.
Should be trivial too.I'll look at those too
Quoted 7 lines
Quoted 4 lines
Quoted 3 lines
Quoted 1 line
Sorry - no patch this time. Could you try to look at it yorself then I will review.
Ok I'll try.
The warnings gone with this patch but I'm not really sure it is correct.
Looks correct to me.
You drop the__devexitmarking for functions used outside__exit.Acked-by Sam Ravnborg <[email protected]>
Shall I send this one to akpm with your ACK or you take care of it ?
Quoted 56 lines
Sam
Quoted 53 lines
drivers/mmc/host/wbsd.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)drivers/mmc/host/wbsd.c +5
-5@@ -1266,7 +1266,7 @@ static int __devinit wbsd_alloc_mmc(struct device *dev)return 0 ; } -static void __devexit wbsd_free_mmc(struct device *dev) +static void wbsd_free_mmc (struct device *dev) {struct mmc_host *mmc;struct wbsd_host *host;@@ -1358,7 +1358,7 @@ static int __devinit wbsd_request_region(struct wbsd_host *host, int base)return 0 ; } -static void __devexit wbsd_release_regions(struct wbsd_host *host) +static void wbsd_release_regions (struct wbsd_host *host) {if (host->base)release_region (host->base,8 );@@ -1434,7 +1434,7 @@ err: "Falling back on FIFO.\n", dma); } -static void __devexit wbsd_release_dma(struct wbsd_host *host) +static void wbsd_release_dma (struct wbsd_host *host) {if (host->dma_addr) { dma_unmap_single(mmc_dev(host->mmc), host->dma_addr,@@ -1484,7 +1484,7 @@ static int __devinit wbsd_request_irq(struct wbsd_host *host, int irq)return 0 ; } -static void __devexit wbsd_release_irq(struct wbsd_host *host) +static void wbsd_release_irq (struct wbsd_host *host) {if (!host->irq)return ;@@ -1535,7 +1535,7 @@ static int __devinit wbsd_request_resources(struct wbsd_host *host,* Release all resources for the host. */ -static void __devexit wbsd_release_resources(struct wbsd_host *host) +static void wbsd_release_resources (struct wbsd_host *host) {wbsd_release_dma (host);wbsd_release_irq (host);
Quoted 12 lines · Gabriel C
Quoted 11 lines · Sam Ravnborg
Quoted 10 lines · Gabriel C
Quoted 10 lines
Quoted 7 lines
Quoted 3 lines
WARNING:
vmlinux.o(.init.text+0x29d40): Section mismatch: reference to .exit.text:wbsd_release_resources (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29d49): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')
WARNING:vmlinux.o(.init.text+0x29f28): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')When a function is marked
__exitand used from an init function then the safe choice is to just remove the__exitmarking. Usually this is small functions used only in error situations.
Should be trivial too.I'll look at those too
Quoted 1 line
Sorry - no patch this time. Could you try to look at it yorself then I will review.
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Quoted 2 lines
Ok I'll try.
The warnings gone with this patch but I'm not really sure it is correct.
Looks correct to me.
You drop the__devexitmarking for functions used outside__exit.Acked-by Sam Ravnborg <[email protected]>Shall I send this one to akpm with your ACK or you take care of it ?
Please forward it to akpm.
I usually do not carry non-kbuild patches in my tree to keep 'noise' level down.
Sam
Quoted 2 lines · Sam Ravnborg
Please forward it to akpm.
I usually do not carry non-kbuild patches in my tree to keep 'noise' level down.
Ok done.
Thank you very much for your help on this.
I'll try to fix the remaining warnings soon.
Quoted 3 lines
Sam
Gabriel