| 1 | #ifndef __INITCALL_H__ | 
|---|
| 2 | #define __INITCALL_H__ | 
|---|
| 3 |  | 
|---|
| 4 | /* | 
|---|
| 5 | * Used for initialization calls.. | 
|---|
| 6 | */ | 
|---|
| 7 | typedef int  (*initcall_t)(void); | 
|---|
| 8 | typedef void (*exitcall_t)(void); | 
|---|
| 9 |  | 
|---|
| 10 | extern "C" int use_internal_drums; | 
|---|
| 11 |  | 
|---|
| 12 | #define __initcall(fn)                                                          \ | 
|---|
| 13 | initcall_t __initcall_##fn  = fn | 
|---|
| 14 |  | 
|---|
| 15 | #define __exitcall(fn)                                                          \ | 
|---|
| 16 | exitcall_t __exitcall_##fn = fn | 
|---|
| 17 |  | 
|---|
| 18 | #define module_init(x)  __initcall(x); | 
|---|
| 19 | #define module_exit(x)  __exitcall(x); | 
|---|
| 20 |  | 
|---|
| 21 | #define extern_module_init(x)   extern "C" initcall_t __initcall_##x; | 
|---|
| 22 | #define extern_module_exit(x)   extern "C" exitcall_t __exitcall_##x; | 
|---|
| 23 |  | 
|---|
| 24 | #define call_module_init(x)     __initcall_##x() | 
|---|
| 25 | #define call_module_exit(x)     __exitcall_##x() | 
|---|
| 26 |  | 
|---|
| 27 | #define name_module_init(x)     __initcall_##x | 
|---|
| 28 | #define name_module_exit(x)     __exitcall_##x | 
|---|
| 29 |  | 
|---|
| 30 | #define name_module(x, y, z)          __initcall_##x##y, __exitcall_##x##z | 
|---|
| 31 | //#define name_module(x)          name_module_init(x)_init, name_module_exit(x)_exit | 
|---|
| 32 |  | 
|---|
| 33 | extern_module_init(alsa_sound_init) | 
|---|
| 34 | extern_module_exit(alsa_sound_exit) | 
|---|
| 35 | extern_module_init(alsa_pcm_init) | 
|---|
| 36 | extern_module_exit(alsa_pcm_exit) | 
|---|
| 37 | extern_module_init(alsa_hwdep_init) | 
|---|
| 38 | extern_module_exit(alsa_hwdep_exit) | 
|---|
| 39 | extern_module_init(alsa_timer_init) | 
|---|
| 40 | extern_module_exit(alsa_timer_exit) | 
|---|
| 41 | extern_module_init(alsa_pcm_oss_init) | 
|---|
| 42 | extern_module_exit(alsa_pcm_oss_exit) | 
|---|
| 43 | extern_module_init(alsa_rawmidi_init) | 
|---|
| 44 | extern_module_exit(alsa_rawmidi_exit) | 
|---|
| 45 | extern_module_init(alsa_seq_init) | 
|---|
| 46 | extern_module_exit(alsa_seq_exit) | 
|---|
| 47 | extern_module_init(alsa_opl3_init) | 
|---|
| 48 | extern_module_exit(alsa_opl3_exit) | 
|---|
| 49 | extern_module_init(alsa_opl3_seq_init) | 
|---|
| 50 | extern_module_exit(alsa_opl3_seq_exit) | 
|---|
| 51 | extern_module_init(alsa_mpu401_uart_init) | 
|---|
| 52 | extern_module_exit(alsa_mpu401_uart_exit) | 
|---|
| 53 |  | 
|---|
| 54 |  | 
|---|
| 55 | //pci cards | 
|---|
| 56 | extern_module_init(alsa_card_ali_init) | 
|---|
| 57 | extern_module_exit(alsa_card_ali_exit) | 
|---|
| 58 | extern_module_init(alsa_card_als4000_init) | 
|---|
| 59 | extern_module_exit(alsa_card_als4000_exit) | 
|---|
| 60 | extern_module_init(alsa_card_cs4281_init) | 
|---|
| 61 | extern_module_exit(alsa_card_cs4281_exit) | 
|---|
| 62 | extern_module_init(alsa_card_cs46xx_init) | 
|---|
| 63 | extern_module_exit(alsa_card_cs46xx_exit) | 
|---|
| 64 | extern_module_init(alsa_card_cmipci_init) | 
|---|
| 65 | extern_module_exit(alsa_card_cmipci_exit) | 
|---|
| 66 | extern_module_init(alsa_card_emu10k1_init) | 
|---|
| 67 | extern_module_exit(alsa_card_emu10k1_exit) | 
|---|
| 68 | extern_module_init(alsa_card_ens137x_init) | 
|---|
| 69 | extern_module_exit(alsa_card_ens137x_exit) | 
|---|
| 70 | extern_module_init(alsa_card_es1938_init) | 
|---|
| 71 | extern_module_exit(alsa_card_es1938_exit) | 
|---|
| 72 | extern_module_init(alsa_card_es1968_init) | 
|---|
| 73 | extern_module_exit(alsa_card_es1968_exit) | 
|---|
| 74 | extern_module_init(alsa_card_fm801_init) | 
|---|
| 75 | extern_module_exit(alsa_card_fm801_exit) | 
|---|
| 76 | extern_module_init(alsa_card_ice1712_init) | 
|---|
| 77 | extern_module_exit(alsa_card_ice1712_exit) | 
|---|
| 78 | extern_module_init(alsa_card_intel8x0_init) | 
|---|
| 79 | extern_module_exit(alsa_card_intel8x0_exit) | 
|---|
| 80 | extern_module_init(alsa_card_m3_init) | 
|---|
| 81 | extern_module_exit(alsa_card_m3_exit) | 
|---|
| 82 | extern_module_init(alsa_card_nm256_init) | 
|---|
| 83 | extern_module_exit(alsa_card_nm256_exit) | 
|---|
| 84 | extern_module_init(alsa_card_rme96_init) | 
|---|
| 85 | extern_module_exit(alsa_card_rme96_exit) | 
|---|
| 86 | extern_module_init(alsa_card_hammerfall_init) | 
|---|
| 87 | extern_module_exit(alsa_card_hammerfall_exit) | 
|---|
| 88 | extern_module_init(alsa_card_sonicvibes_init) | 
|---|
| 89 | extern_module_exit(alsa_card_sonicvibes_exit) | 
|---|
| 90 | extern_module_init(alsa_card_trident_init) | 
|---|
| 91 | extern_module_exit(alsa_card_trident_exit) | 
|---|
| 92 | extern_module_init(alsa_card_via82xx_init) | 
|---|
| 93 | extern_module_exit(alsa_card_via82xx_exit) | 
|---|
| 94 | extern_module_init(alsa_card_ymfpci_init) | 
|---|
| 95 | extern_module_exit(alsa_card_ymfpci_exit) | 
|---|
| 96 | extern_module_init(alsa_card_vortex_init) | 
|---|
| 97 | extern_module_exit(alsa_card_vortex_exit) | 
|---|
| 98 | extern_module_init(alsa_card_atiixp_init) | 
|---|
| 99 | extern_module_exit(alsa_card_atiixp_exit) | 
|---|
| 100 | extern_module_init(alsa_card_ca0106_init) | 
|---|
| 101 | extern_module_exit(alsa_card_ca0106_exit) | 
|---|
| 102 | extern_module_init(alsa_card_bt87x_init) | 
|---|
| 103 | extern_module_exit(alsa_card_bt87x_exit) | 
|---|
| 104 | extern_module_init(alsa_card_azx_init) | 
|---|
| 105 | extern_module_exit(alsa_card_azx_exit) | 
|---|
| 106 |  | 
|---|
| 107 |  | 
|---|
| 108 | //isa pnp cards | 
|---|
| 109 | extern_module_init(alsa_card_ad1816a_init) | 
|---|
| 110 | extern_module_exit(alsa_card_ad1816a_exit) | 
|---|
| 111 | extern_module_init(alsa_card_ad1848_init) | 
|---|
| 112 | extern_module_exit(alsa_card_ad1848_exit) | 
|---|
| 113 | extern_module_init(alsa_card_als100_init) | 
|---|
| 114 | extern_module_exit(alsa_card_als100_exit) | 
|---|
| 115 | extern_module_init(alsa_card_cs423x_init) | 
|---|
| 116 | extern_module_exit(alsa_card_cs423x_exit) | 
|---|
| 117 | extern_module_init(alsa_card_es18xx_init) | 
|---|
| 118 | extern_module_exit(alsa_card_es18xx_exit) | 
|---|
| 119 | extern_module_init(alsa_card_es968_init) | 
|---|
| 120 | extern_module_exit(alsa_card_es968_exit) | 
|---|
| 121 | extern_module_init(alsa_card_interwave_init) | 
|---|
| 122 | extern_module_exit(alsa_card_interwave_exit) | 
|---|
| 123 | extern_module_init(alsa_card_opl3sa2_init) | 
|---|
| 124 | extern_module_exit(alsa_card_opl3sa2_exit) | 
|---|
| 125 | extern_module_init(alsa_card_opti9xx_init) | 
|---|
| 126 | extern_module_exit(alsa_card_opti9xx_exit) | 
|---|
| 127 | extern_module_init(alsa_card_sb16_init) | 
|---|
| 128 | extern_module_exit(alsa_card_sb16_exit) | 
|---|
| 129 |  | 
|---|
| 130 | //isa cards | 
|---|
| 131 | extern_module_init(alsa_card_cs4231_init) | 
|---|
| 132 | extern_module_exit(alsa_card_cs4231_exit) | 
|---|
| 133 | extern_module_init(alsa_card_es1688_init) | 
|---|
| 134 | extern_module_exit(alsa_card_es1688_exit) | 
|---|
| 135 | extern_module_init(alsa_card_gusclassic_init) | 
|---|
| 136 | extern_module_exit(alsa_card_gusclassic_exit) | 
|---|
| 137 | extern_module_init(alsa_card_gusextreme_init) | 
|---|
| 138 | extern_module_exit(alsa_card_gusextreme_exit) | 
|---|
| 139 | extern_module_init(alsa_card_sb8_init) | 
|---|
| 140 | extern_module_exit(alsa_card_sb8_exit) | 
|---|
| 141 | extern_module_init(alsa_card_sgalaxy_init) | 
|---|
| 142 | extern_module_exit(alsa_card_sgalaxy_exit) | 
|---|
| 143 |  | 
|---|
| 144 | #endif //__INITCALL_H__ | 
|---|