diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-11-28 09:17:06 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-11-28 09:22:02 -0500 |
commit | ff7a3267368634e368ebaac68d5e3abf129edd1d (patch) | |
tree | 588571dbc3f6017c6fa26990f5349ca5f63c1f98 | |
parent | 645f10c1ac7f733b224eaf97634edf9b20e2370e (diff) |
ALSA: hda - Don't export symbols when built-in kernel
The global functions in hda_codec.c and other core parts are only
for HD-audio codec and controller drivers. When the HD-audio driver
is built in kernel, all stuff have to be statically linked, thus
we don't need any exports.
This patch introduces a conditional macro to do export only
when needed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/hda_beep.c | 4 | ||||
-rw-r--r-- | sound/pci/hda/hda_codec.c | 148 | ||||
-rw-r--r-- | sound/pci/hda/hda_codec.h | 15 |
3 files changed, 91 insertions, 76 deletions
diff --git a/sound/pci/hda/hda_beep.c b/sound/pci/hda/hda_beep.c index e6cc9463667a..e00421c0d8ba 100644 --- a/sound/pci/hda/hda_beep.c +++ b/sound/pci/hda/hda_beep.c | |||
@@ -128,7 +128,7 @@ int snd_hda_attach_beep_device(struct hda_codec *codec, int nid) | |||
128 | INIT_WORK(&beep->beep_work, &snd_hda_generate_beep); | 128 | INIT_WORK(&beep->beep_work, &snd_hda_generate_beep); |
129 | return 0; | 129 | return 0; |
130 | } | 130 | } |
131 | EXPORT_SYMBOL_GPL(snd_hda_attach_beep_device); | 131 | EXPORT_SYMBOL_HDA(snd_hda_attach_beep_device); |
132 | 132 | ||
133 | void snd_hda_detach_beep_device(struct hda_codec *codec) | 133 | void snd_hda_detach_beep_device(struct hda_codec *codec) |
134 | { | 134 | { |
@@ -141,4 +141,4 @@ void snd_hda_detach_beep_device(struct hda_codec *codec) | |||
141 | kfree(beep); | 141 | kfree(beep); |
142 | } | 142 | } |
143 | } | 143 | } |
144 | EXPORT_SYMBOL_GPL(snd_hda_detach_beep_device); | 144 | EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device); |
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 2fff0fb77ba2..004344825e9e 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
@@ -71,7 +71,7 @@ int snd_hda_add_codec_preset(struct hda_codec_preset_list *preset) | |||
71 | mutex_unlock(&preset_mutex); | 71 | mutex_unlock(&preset_mutex); |
72 | return 0; | 72 | return 0; |
73 | } | 73 | } |
74 | EXPORT_SYMBOL_GPL(snd_hda_add_codec_preset); | 74 | EXPORT_SYMBOL_HDA(snd_hda_add_codec_preset); |
75 | 75 | ||
76 | int snd_hda_delete_codec_preset(struct hda_codec_preset_list *preset) | 76 | int snd_hda_delete_codec_preset(struct hda_codec_preset_list *preset) |
77 | { | 77 | { |
@@ -80,7 +80,7 @@ int snd_hda_delete_codec_preset(struct hda_codec_preset_list *preset) | |||
80 | mutex_unlock(&preset_mutex); | 80 | mutex_unlock(&preset_mutex); |
81 | return 0; | 81 | return 0; |
82 | } | 82 | } |
83 | EXPORT_SYMBOL_GPL(snd_hda_delete_codec_preset); | 83 | EXPORT_SYMBOL_HDA(snd_hda_delete_codec_preset); |
84 | 84 | ||
85 | #ifdef CONFIG_SND_HDA_POWER_SAVE | 85 | #ifdef CONFIG_SND_HDA_POWER_SAVE |
86 | static void hda_power_work(struct work_struct *work); | 86 | static void hda_power_work(struct work_struct *work); |
@@ -114,7 +114,7 @@ const char *snd_hda_get_jack_location(u32 cfg) | |||
114 | } | 114 | } |
115 | return "UNKNOWN"; | 115 | return "UNKNOWN"; |
116 | } | 116 | } |
117 | EXPORT_SYMBOL_GPL(snd_hda_get_jack_location); | 117 | EXPORT_SYMBOL_HDA(snd_hda_get_jack_location); |
118 | 118 | ||
119 | const char *snd_hda_get_jack_connectivity(u32 cfg) | 119 | const char *snd_hda_get_jack_connectivity(u32 cfg) |
120 | { | 120 | { |
@@ -122,7 +122,7 @@ const char *snd_hda_get_jack_connectivity(u32 cfg) | |||
122 | 122 | ||
123 | return jack_locations[(cfg >> (AC_DEFCFG_LOCATION_SHIFT + 4)) & 3]; | 123 | return jack_locations[(cfg >> (AC_DEFCFG_LOCATION_SHIFT + 4)) & 3]; |
124 | } | 124 | } |
125 | EXPORT_SYMBOL_GPL(snd_hda_get_jack_connectivity); | 125 | EXPORT_SYMBOL_HDA(snd_hda_get_jack_connectivity); |
126 | 126 | ||
127 | const char *snd_hda_get_jack_type(u32 cfg) | 127 | const char *snd_hda_get_jack_type(u32 cfg) |
128 | { | 128 | { |
@@ -136,7 +136,7 @@ const char *snd_hda_get_jack_type(u32 cfg) | |||
136 | return jack_types[(cfg & AC_DEFCFG_DEVICE) | 136 | return jack_types[(cfg & AC_DEFCFG_DEVICE) |
137 | >> AC_DEFCFG_DEVICE_SHIFT]; | 137 | >> AC_DEFCFG_DEVICE_SHIFT]; |
138 | } | 138 | } |
139 | EXPORT_SYMBOL_GPL(snd_hda_get_jack_type); | 139 | EXPORT_SYMBOL_HDA(snd_hda_get_jack_type); |
140 | 140 | ||
141 | /* | 141 | /* |
142 | * Compose a 32bit command word to be sent to the HD-audio controller | 142 | * Compose a 32bit command word to be sent to the HD-audio controller |
@@ -185,7 +185,7 @@ unsigned int snd_hda_codec_read(struct hda_codec *codec, hda_nid_t nid, | |||
185 | snd_hda_power_down(codec); | 185 | snd_hda_power_down(codec); |
186 | return res; | 186 | return res; |
187 | } | 187 | } |
188 | EXPORT_SYMBOL_GPL(snd_hda_codec_read); | 188 | EXPORT_SYMBOL_HDA(snd_hda_codec_read); |
189 | 189 | ||
190 | /** | 190 | /** |
191 | * snd_hda_codec_write - send a single command without waiting for response | 191 | * snd_hda_codec_write - send a single command without waiting for response |
@@ -214,7 +214,7 @@ int snd_hda_codec_write(struct hda_codec *codec, hda_nid_t nid, int direct, | |||
214 | snd_hda_power_down(codec); | 214 | snd_hda_power_down(codec); |
215 | return err; | 215 | return err; |
216 | } | 216 | } |
217 | EXPORT_SYMBOL_GPL(snd_hda_codec_write); | 217 | EXPORT_SYMBOL_HDA(snd_hda_codec_write); |
218 | 218 | ||
219 | /** | 219 | /** |
220 | * snd_hda_sequence_write - sequence writes | 220 | * snd_hda_sequence_write - sequence writes |
@@ -229,7 +229,7 @@ void snd_hda_sequence_write(struct hda_codec *codec, const struct hda_verb *seq) | |||
229 | for (; seq->nid; seq++) | 229 | for (; seq->nid; seq++) |
230 | snd_hda_codec_write(codec, seq->nid, 0, seq->verb, seq->param); | 230 | snd_hda_codec_write(codec, seq->nid, 0, seq->verb, seq->param); |
231 | } | 231 | } |
232 | EXPORT_SYMBOL_GPL(snd_hda_sequence_write); | 232 | EXPORT_SYMBOL_HDA(snd_hda_sequence_write); |
233 | 233 | ||
234 | /** | 234 | /** |
235 | * snd_hda_get_sub_nodes - get the range of sub nodes | 235 | * snd_hda_get_sub_nodes - get the range of sub nodes |
@@ -251,7 +251,7 @@ int snd_hda_get_sub_nodes(struct hda_codec *codec, hda_nid_t nid, | |||
251 | *start_id = (parm >> 16) & 0x7fff; | 251 | *start_id = (parm >> 16) & 0x7fff; |
252 | return (int)(parm & 0x7fff); | 252 | return (int)(parm & 0x7fff); |
253 | } | 253 | } |
254 | EXPORT_SYMBOL_GPL(snd_hda_get_sub_nodes); | 254 | EXPORT_SYMBOL_HDA(snd_hda_get_sub_nodes); |
255 | 255 | ||
256 | /** | 256 | /** |
257 | * snd_hda_get_connections - get connection list | 257 | * snd_hda_get_connections - get connection list |
@@ -340,7 +340,7 @@ int snd_hda_get_connections(struct hda_codec *codec, hda_nid_t nid, | |||
340 | } | 340 | } |
341 | return conns; | 341 | return conns; |
342 | } | 342 | } |
343 | EXPORT_SYMBOL_GPL(snd_hda_get_connections); | 343 | EXPORT_SYMBOL_HDA(snd_hda_get_connections); |
344 | 344 | ||
345 | 345 | ||
346 | /** | 346 | /** |
@@ -375,7 +375,7 @@ int snd_hda_queue_unsol_event(struct hda_bus *bus, u32 res, u32 res_ex) | |||
375 | 375 | ||
376 | return 0; | 376 | return 0; |
377 | } | 377 | } |
378 | EXPORT_SYMBOL_GPL(snd_hda_queue_unsol_event); | 378 | EXPORT_SYMBOL_HDA(snd_hda_queue_unsol_event); |
379 | 379 | ||
380 | /* | 380 | /* |
381 | * process queued unsolicited events | 381 | * process queued unsolicited events |
@@ -521,7 +521,7 @@ int /*__devinit*/ snd_hda_bus_new(struct snd_card *card, | |||
521 | *busp = bus; | 521 | *busp = bus; |
522 | return 0; | 522 | return 0; |
523 | } | 523 | } |
524 | EXPORT_SYMBOL_GPL(snd_hda_bus_new); | 524 | EXPORT_SYMBOL_HDA(snd_hda_bus_new); |
525 | 525 | ||
526 | #ifdef CONFIG_SND_HDA_GENERIC | 526 | #ifdef CONFIG_SND_HDA_GENERIC |
527 | #define is_generic_config(codec) \ | 527 | #define is_generic_config(codec) \ |
@@ -808,7 +808,7 @@ int /*__devinit*/ snd_hda_codec_new(struct hda_bus *bus, unsigned int codec_addr | |||
808 | *codecp = codec; | 808 | *codecp = codec; |
809 | return 0; | 809 | return 0; |
810 | } | 810 | } |
811 | EXPORT_SYMBOL_GPL(snd_hda_codec_new); | 811 | EXPORT_SYMBOL_HDA(snd_hda_codec_new); |
812 | 812 | ||
813 | int snd_hda_codec_configure(struct hda_codec *codec) | 813 | int snd_hda_codec_configure(struct hda_codec *codec) |
814 | { | 814 | { |
@@ -868,7 +868,7 @@ void snd_hda_codec_setup_stream(struct hda_codec *codec, hda_nid_t nid, | |||
868 | msleep(1); | 868 | msleep(1); |
869 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_STREAM_FORMAT, format); | 869 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_STREAM_FORMAT, format); |
870 | } | 870 | } |
871 | EXPORT_SYMBOL_GPL(snd_hda_codec_setup_stream); | 871 | EXPORT_SYMBOL_HDA(snd_hda_codec_setup_stream); |
872 | 872 | ||
873 | void snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid) | 873 | void snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid) |
874 | { | 874 | { |
@@ -882,7 +882,7 @@ void snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid) | |||
882 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_STREAM_FORMAT, 0); | 882 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_STREAM_FORMAT, 0); |
883 | #endif | 883 | #endif |
884 | } | 884 | } |
885 | EXPORT_SYMBOL_GPL(snd_hda_codec_cleanup_stream); | 885 | EXPORT_SYMBOL_HDA(snd_hda_codec_cleanup_stream); |
886 | 886 | ||
887 | /* | 887 | /* |
888 | * amp access functions | 888 | * amp access functions |
@@ -964,7 +964,7 @@ u32 query_amp_caps(struct hda_codec *codec, hda_nid_t nid, int direction) | |||
964 | } | 964 | } |
965 | return info->amp_caps; | 965 | return info->amp_caps; |
966 | } | 966 | } |
967 | EXPORT_SYMBOL_GPL(query_amp_caps); | 967 | EXPORT_SYMBOL_HDA(query_amp_caps); |
968 | 968 | ||
969 | int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir, | 969 | int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir, |
970 | unsigned int caps) | 970 | unsigned int caps) |
@@ -978,7 +978,7 @@ int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir, | |||
978 | info->head.val |= INFO_AMP_CAPS; | 978 | info->head.val |= INFO_AMP_CAPS; |
979 | return 0; | 979 | return 0; |
980 | } | 980 | } |
981 | EXPORT_SYMBOL_GPL(snd_hda_override_amp_caps); | 981 | EXPORT_SYMBOL_HDA(snd_hda_override_amp_caps); |
982 | 982 | ||
983 | /* | 983 | /* |
984 | * read the current volume to info | 984 | * read the current volume to info |
@@ -1032,7 +1032,7 @@ int snd_hda_codec_amp_read(struct hda_codec *codec, hda_nid_t nid, int ch, | |||
1032 | return 0; | 1032 | return 0; |
1033 | return get_vol_mute(codec, info, nid, ch, direction, index); | 1033 | return get_vol_mute(codec, info, nid, ch, direction, index); |
1034 | } | 1034 | } |
1035 | EXPORT_SYMBOL_GPL(snd_hda_codec_amp_read); | 1035 | EXPORT_SYMBOL_HDA(snd_hda_codec_amp_read); |
1036 | 1036 | ||
1037 | /* | 1037 | /* |
1038 | * update the AMP value, mask = bit mask to set, val = the value | 1038 | * update the AMP value, mask = bit mask to set, val = the value |
@@ -1052,7 +1052,7 @@ int snd_hda_codec_amp_update(struct hda_codec *codec, hda_nid_t nid, int ch, | |||
1052 | put_vol_mute(codec, info, nid, ch, direction, idx, val); | 1052 | put_vol_mute(codec, info, nid, ch, direction, idx, val); |
1053 | return 1; | 1053 | return 1; |
1054 | } | 1054 | } |
1055 | EXPORT_SYMBOL_GPL(snd_hda_codec_amp_update); | 1055 | EXPORT_SYMBOL_HDA(snd_hda_codec_amp_update); |
1056 | 1056 | ||
1057 | /* | 1057 | /* |
1058 | * update the AMP stereo with the same mask and value | 1058 | * update the AMP stereo with the same mask and value |
@@ -1066,7 +1066,7 @@ int snd_hda_codec_amp_stereo(struct hda_codec *codec, hda_nid_t nid, | |||
1066 | idx, mask, val); | 1066 | idx, mask, val); |
1067 | return ret; | 1067 | return ret; |
1068 | } | 1068 | } |
1069 | EXPORT_SYMBOL_GPL(snd_hda_codec_amp_stereo); | 1069 | EXPORT_SYMBOL_HDA(snd_hda_codec_amp_stereo); |
1070 | 1070 | ||
1071 | #ifdef SND_HDA_NEEDS_RESUME | 1071 | #ifdef SND_HDA_NEEDS_RESUME |
1072 | /* resume the all amp commands from the cache */ | 1072 | /* resume the all amp commands from the cache */ |
@@ -1092,7 +1092,7 @@ void snd_hda_codec_resume_amp(struct hda_codec *codec) | |||
1092 | } | 1092 | } |
1093 | } | 1093 | } |
1094 | } | 1094 | } |
1095 | EXPORT_SYMBOL_GPL(snd_hda_codec_resume_amp); | 1095 | EXPORT_SYMBOL_HDA(snd_hda_codec_resume_amp); |
1096 | #endif /* SND_HDA_NEEDS_RESUME */ | 1096 | #endif /* SND_HDA_NEEDS_RESUME */ |
1097 | 1097 | ||
1098 | /* volume */ | 1098 | /* volume */ |
@@ -1120,7 +1120,7 @@ int snd_hda_mixer_amp_volume_info(struct snd_kcontrol *kcontrol, | |||
1120 | uinfo->value.integer.max = caps; | 1120 | uinfo->value.integer.max = caps; |
1121 | return 0; | 1121 | return 0; |
1122 | } | 1122 | } |
1123 | EXPORT_SYMBOL_GPL(snd_hda_mixer_amp_volume_info); | 1123 | EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_volume_info); |
1124 | 1124 | ||
1125 | int snd_hda_mixer_amp_volume_get(struct snd_kcontrol *kcontrol, | 1125 | int snd_hda_mixer_amp_volume_get(struct snd_kcontrol *kcontrol, |
1126 | struct snd_ctl_elem_value *ucontrol) | 1126 | struct snd_ctl_elem_value *ucontrol) |
@@ -1140,7 +1140,7 @@ int snd_hda_mixer_amp_volume_get(struct snd_kcontrol *kcontrol, | |||
1140 | & HDA_AMP_VOLMASK; | 1140 | & HDA_AMP_VOLMASK; |
1141 | return 0; | 1141 | return 0; |
1142 | } | 1142 | } |
1143 | EXPORT_SYMBOL_GPL(snd_hda_mixer_amp_volume_get); | 1143 | EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_volume_get); |
1144 | 1144 | ||
1145 | int snd_hda_mixer_amp_volume_put(struct snd_kcontrol *kcontrol, | 1145 | int snd_hda_mixer_amp_volume_put(struct snd_kcontrol *kcontrol, |
1146 | struct snd_ctl_elem_value *ucontrol) | 1146 | struct snd_ctl_elem_value *ucontrol) |
@@ -1165,7 +1165,7 @@ int snd_hda_mixer_amp_volume_put(struct snd_kcontrol *kcontrol, | |||
1165 | snd_hda_power_down(codec); | 1165 | snd_hda_power_down(codec); |
1166 | return change; | 1166 | return change; |
1167 | } | 1167 | } |
1168 | EXPORT_SYMBOL_GPL(snd_hda_mixer_amp_volume_put); | 1168 | EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_volume_put); |
1169 | 1169 | ||
1170 | int snd_hda_mixer_amp_tlv(struct snd_kcontrol *kcontrol, int op_flag, | 1170 | int snd_hda_mixer_amp_tlv(struct snd_kcontrol *kcontrol, int op_flag, |
1171 | unsigned int size, unsigned int __user *_tlv) | 1171 | unsigned int size, unsigned int __user *_tlv) |
@@ -1192,7 +1192,7 @@ int snd_hda_mixer_amp_tlv(struct snd_kcontrol *kcontrol, int op_flag, | |||
1192 | return -EFAULT; | 1192 | return -EFAULT; |
1193 | return 0; | 1193 | return 0; |
1194 | } | 1194 | } |
1195 | EXPORT_SYMBOL_GPL(snd_hda_mixer_amp_tlv); | 1195 | EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_tlv); |
1196 | 1196 | ||
1197 | /* | 1197 | /* |
1198 | * set (static) TLV for virtual master volume; recalculated as max 0dB | 1198 | * set (static) TLV for virtual master volume; recalculated as max 0dB |
@@ -1212,7 +1212,7 @@ void snd_hda_set_vmaster_tlv(struct hda_codec *codec, hda_nid_t nid, int dir, | |||
1212 | tlv[2] = -nums * step; | 1212 | tlv[2] = -nums * step; |
1213 | tlv[3] = step; | 1213 | tlv[3] = step; |
1214 | } | 1214 | } |
1215 | EXPORT_SYMBOL_GPL(snd_hda_set_vmaster_tlv); | 1215 | EXPORT_SYMBOL_HDA(snd_hda_set_vmaster_tlv); |
1216 | 1216 | ||
1217 | /* find a mixer control element with the given name */ | 1217 | /* find a mixer control element with the given name */ |
1218 | static struct snd_kcontrol * | 1218 | static struct snd_kcontrol * |
@@ -1232,7 +1232,7 @@ struct snd_kcontrol *snd_hda_find_mixer_ctl(struct hda_codec *codec, | |||
1232 | { | 1232 | { |
1233 | return _snd_hda_find_mixer_ctl(codec, name, 0); | 1233 | return _snd_hda_find_mixer_ctl(codec, name, 0); |
1234 | } | 1234 | } |
1235 | EXPORT_SYMBOL_GPL(snd_hda_find_mixer_ctl); | 1235 | EXPORT_SYMBOL_HDA(snd_hda_find_mixer_ctl); |
1236 | 1236 | ||
1237 | /* Add a control element and assign to the codec */ | 1237 | /* Add a control element and assign to the codec */ |
1238 | int snd_hda_ctl_add(struct hda_codec *codec, struct snd_kcontrol *kctl) | 1238 | int snd_hda_ctl_add(struct hda_codec *codec, struct snd_kcontrol *kctl) |
@@ -1249,7 +1249,7 @@ int snd_hda_ctl_add(struct hda_codec *codec, struct snd_kcontrol *kctl) | |||
1249 | *knewp = kctl; | 1249 | *knewp = kctl; |
1250 | return 0; | 1250 | return 0; |
1251 | } | 1251 | } |
1252 | EXPORT_SYMBOL_GPL(snd_hda_ctl_add); | 1252 | EXPORT_SYMBOL_HDA(snd_hda_ctl_add); |
1253 | 1253 | ||
1254 | #ifdef CONFIG_SND_HDA_RECONFIG | 1254 | #ifdef CONFIG_SND_HDA_RECONFIG |
1255 | /* Clear all controls assigned to the given codec */ | 1255 | /* Clear all controls assigned to the given codec */ |
@@ -1328,7 +1328,7 @@ int snd_hda_add_vmaster(struct hda_codec *codec, char *name, | |||
1328 | } | 1328 | } |
1329 | return 0; | 1329 | return 0; |
1330 | } | 1330 | } |
1331 | EXPORT_SYMBOL_GPL(snd_hda_add_vmaster); | 1331 | EXPORT_SYMBOL_HDA(snd_hda_add_vmaster); |
1332 | 1332 | ||
1333 | /* switch */ | 1333 | /* switch */ |
1334 | int snd_hda_mixer_amp_switch_info(struct snd_kcontrol *kcontrol, | 1334 | int snd_hda_mixer_amp_switch_info(struct snd_kcontrol *kcontrol, |
@@ -1342,7 +1342,7 @@ int snd_hda_mixer_amp_switch_info(struct snd_kcontrol *kcontrol, | |||
1342 | uinfo->value.integer.max = 1; | 1342 | uinfo->value.integer.max = 1; |
1343 | return 0; | 1343 | return 0; |
1344 | } | 1344 | } |
1345 | EXPORT_SYMBOL_GPL(snd_hda_mixer_amp_switch_info); | 1345 | EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_switch_info); |
1346 | 1346 | ||
1347 | int snd_hda_mixer_amp_switch_get(struct snd_kcontrol *kcontrol, | 1347 | int snd_hda_mixer_amp_switch_get(struct snd_kcontrol *kcontrol, |
1348 | struct snd_ctl_elem_value *ucontrol) | 1348 | struct snd_ctl_elem_value *ucontrol) |
@@ -1362,7 +1362,7 @@ int snd_hda_mixer_amp_switch_get(struct snd_kcontrol *kcontrol, | |||
1362 | HDA_AMP_MUTE) ? 0 : 1; | 1362 | HDA_AMP_MUTE) ? 0 : 1; |
1363 | return 0; | 1363 | return 0; |
1364 | } | 1364 | } |
1365 | EXPORT_SYMBOL_GPL(snd_hda_mixer_amp_switch_get); | 1365 | EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_switch_get); |
1366 | 1366 | ||
1367 | int snd_hda_mixer_amp_switch_put(struct snd_kcontrol *kcontrol, | 1367 | int snd_hda_mixer_amp_switch_put(struct snd_kcontrol *kcontrol, |
1368 | struct snd_ctl_elem_value *ucontrol) | 1368 | struct snd_ctl_elem_value *ucontrol) |
@@ -1393,7 +1393,7 @@ int snd_hda_mixer_amp_switch_put(struct snd_kcontrol *kcontrol, | |||
1393 | snd_hda_power_down(codec); | 1393 | snd_hda_power_down(codec); |
1394 | return change; | 1394 | return change; |
1395 | } | 1395 | } |
1396 | EXPORT_SYMBOL_GPL(snd_hda_mixer_amp_switch_put); | 1396 | EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_switch_put); |
1397 | 1397 | ||
1398 | /* | 1398 | /* |
1399 | * bound volume controls | 1399 | * bound volume controls |
@@ -1419,7 +1419,7 @@ int snd_hda_mixer_bind_switch_get(struct snd_kcontrol *kcontrol, | |||
1419 | mutex_unlock(&codec->spdif_mutex); | 1419 | mutex_unlock(&codec->spdif_mutex); |
1420 | return err; | 1420 | return err; |
1421 | } | 1421 | } |
1422 | EXPORT_SYMBOL_GPL(snd_hda_mixer_bind_switch_get); | 1422 | EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_switch_get); |
1423 | 1423 | ||
1424 | int snd_hda_mixer_bind_switch_put(struct snd_kcontrol *kcontrol, | 1424 | int snd_hda_mixer_bind_switch_put(struct snd_kcontrol *kcontrol, |
1425 | struct snd_ctl_elem_value *ucontrol) | 1425 | struct snd_ctl_elem_value *ucontrol) |
@@ -1443,7 +1443,7 @@ int snd_hda_mixer_bind_switch_put(struct snd_kcontrol *kcontrol, | |||
1443 | mutex_unlock(&codec->spdif_mutex); | 1443 | mutex_unlock(&codec->spdif_mutex); |
1444 | return err < 0 ? err : change; | 1444 | return err < 0 ? err : change; |
1445 | } | 1445 | } |
1446 | EXPORT_SYMBOL_GPL(snd_hda_mixer_bind_switch_put); | 1446 | EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_switch_put); |
1447 | 1447 | ||
1448 | /* | 1448 | /* |
1449 | * generic bound volume/swtich controls | 1449 | * generic bound volume/swtich controls |
@@ -1463,7 +1463,7 @@ int snd_hda_mixer_bind_ctls_info(struct snd_kcontrol *kcontrol, | |||
1463 | mutex_unlock(&codec->spdif_mutex); | 1463 | mutex_unlock(&codec->spdif_mutex); |
1464 | return err; | 1464 | return err; |
1465 | } | 1465 | } |
1466 | EXPORT_SYMBOL_GPL(snd_hda_mixer_bind_ctls_info); | 1466 | EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_ctls_info); |
1467 | 1467 | ||
1468 | int snd_hda_mixer_bind_ctls_get(struct snd_kcontrol *kcontrol, | 1468 | int snd_hda_mixer_bind_ctls_get(struct snd_kcontrol *kcontrol, |
1469 | struct snd_ctl_elem_value *ucontrol) | 1469 | struct snd_ctl_elem_value *ucontrol) |
@@ -1480,7 +1480,7 @@ int snd_hda_mixer_bind_ctls_get(struct snd_kcontrol *kcontrol, | |||
1480 | mutex_unlock(&codec->spdif_mutex); | 1480 | mutex_unlock(&codec->spdif_mutex); |
1481 | return err; | 1481 | return err; |
1482 | } | 1482 | } |
1483 | EXPORT_SYMBOL_GPL(snd_hda_mixer_bind_ctls_get); | 1483 | EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_ctls_get); |
1484 | 1484 | ||
1485 | int snd_hda_mixer_bind_ctls_put(struct snd_kcontrol *kcontrol, | 1485 | int snd_hda_mixer_bind_ctls_put(struct snd_kcontrol *kcontrol, |
1486 | struct snd_ctl_elem_value *ucontrol) | 1486 | struct snd_ctl_elem_value *ucontrol) |
@@ -1503,7 +1503,7 @@ int snd_hda_mixer_bind_ctls_put(struct snd_kcontrol *kcontrol, | |||
1503 | mutex_unlock(&codec->spdif_mutex); | 1503 | mutex_unlock(&codec->spdif_mutex); |
1504 | return err < 0 ? err : change; | 1504 | return err < 0 ? err : change; |
1505 | } | 1505 | } |
1506 | EXPORT_SYMBOL_GPL(snd_hda_mixer_bind_ctls_put); | 1506 | EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_ctls_put); |
1507 | 1507 | ||
1508 | int snd_hda_mixer_bind_tlv(struct snd_kcontrol *kcontrol, int op_flag, | 1508 | int snd_hda_mixer_bind_tlv(struct snd_kcontrol *kcontrol, int op_flag, |
1509 | unsigned int size, unsigned int __user *tlv) | 1509 | unsigned int size, unsigned int __user *tlv) |
@@ -1520,7 +1520,7 @@ int snd_hda_mixer_bind_tlv(struct snd_kcontrol *kcontrol, int op_flag, | |||
1520 | mutex_unlock(&codec->spdif_mutex); | 1520 | mutex_unlock(&codec->spdif_mutex); |
1521 | return err; | 1521 | return err; |
1522 | } | 1522 | } |
1523 | EXPORT_SYMBOL_GPL(snd_hda_mixer_bind_tlv); | 1523 | EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_tlv); |
1524 | 1524 | ||
1525 | struct hda_ctl_ops snd_hda_bind_vol = { | 1525 | struct hda_ctl_ops snd_hda_bind_vol = { |
1526 | .info = snd_hda_mixer_amp_volume_info, | 1526 | .info = snd_hda_mixer_amp_volume_info, |
@@ -1528,7 +1528,7 @@ struct hda_ctl_ops snd_hda_bind_vol = { | |||
1528 | .put = snd_hda_mixer_amp_volume_put, | 1528 | .put = snd_hda_mixer_amp_volume_put, |
1529 | .tlv = snd_hda_mixer_amp_tlv | 1529 | .tlv = snd_hda_mixer_amp_tlv |
1530 | }; | 1530 | }; |
1531 | EXPORT_SYMBOL_GPL(snd_hda_bind_vol); | 1531 | EXPORT_SYMBOL_HDA(snd_hda_bind_vol); |
1532 | 1532 | ||
1533 | struct hda_ctl_ops snd_hda_bind_sw = { | 1533 | struct hda_ctl_ops snd_hda_bind_sw = { |
1534 | .info = snd_hda_mixer_amp_switch_info, | 1534 | .info = snd_hda_mixer_amp_switch_info, |
@@ -1536,7 +1536,7 @@ struct hda_ctl_ops snd_hda_bind_sw = { | |||
1536 | .put = snd_hda_mixer_amp_switch_put, | 1536 | .put = snd_hda_mixer_amp_switch_put, |
1537 | .tlv = snd_hda_mixer_amp_tlv | 1537 | .tlv = snd_hda_mixer_amp_tlv |
1538 | }; | 1538 | }; |
1539 | EXPORT_SYMBOL_GPL(snd_hda_bind_sw); | 1539 | EXPORT_SYMBOL_HDA(snd_hda_bind_sw); |
1540 | 1540 | ||
1541 | /* | 1541 | /* |
1542 | * SPDIF out controls | 1542 | * SPDIF out controls |
@@ -1798,7 +1798,7 @@ int snd_hda_create_spdif_out_ctls(struct hda_codec *codec, hda_nid_t nid) | |||
1798 | codec->spdif_status = convert_to_spdif_status(codec->spdif_ctls); | 1798 | codec->spdif_status = convert_to_spdif_status(codec->spdif_ctls); |
1799 | return 0; | 1799 | return 0; |
1800 | } | 1800 | } |
1801 | EXPORT_SYMBOL_GPL(snd_hda_create_spdif_out_ctls); | 1801 | EXPORT_SYMBOL_HDA(snd_hda_create_spdif_out_ctls); |
1802 | 1802 | ||
1803 | /* | 1803 | /* |
1804 | * SPDIF sharing with analog output | 1804 | * SPDIF sharing with analog output |
@@ -1836,7 +1836,7 @@ int snd_hda_create_spdif_share_sw(struct hda_codec *codec, | |||
1836 | return snd_hda_ctl_add(codec, | 1836 | return snd_hda_ctl_add(codec, |
1837 | snd_ctl_new1(&spdif_share_sw, mout)); | 1837 | snd_ctl_new1(&spdif_share_sw, mout)); |
1838 | } | 1838 | } |
1839 | EXPORT_SYMBOL_GPL(snd_hda_create_spdif_share_sw); | 1839 | EXPORT_SYMBOL_HDA(snd_hda_create_spdif_share_sw); |
1840 | 1840 | ||
1841 | /* | 1841 | /* |
1842 | * SPDIF input | 1842 | * SPDIF input |
@@ -1946,7 +1946,7 @@ int snd_hda_create_spdif_in_ctls(struct hda_codec *codec, hda_nid_t nid) | |||
1946 | AC_DIG1_ENABLE; | 1946 | AC_DIG1_ENABLE; |
1947 | return 0; | 1947 | return 0; |
1948 | } | 1948 | } |
1949 | EXPORT_SYMBOL_GPL(snd_hda_create_spdif_in_ctls); | 1949 | EXPORT_SYMBOL_HDA(snd_hda_create_spdif_in_ctls); |
1950 | 1950 | ||
1951 | #ifdef SND_HDA_NEEDS_RESUME | 1951 | #ifdef SND_HDA_NEEDS_RESUME |
1952 | /* | 1952 | /* |
@@ -1992,7 +1992,7 @@ int snd_hda_codec_write_cache(struct hda_codec *codec, hda_nid_t nid, | |||
1992 | snd_hda_power_down(codec); | 1992 | snd_hda_power_down(codec); |
1993 | return err; | 1993 | return err; |
1994 | } | 1994 | } |
1995 | EXPORT_SYMBOL_GPL(snd_hda_codec_write_cache); | 1995 | EXPORT_SYMBOL_HDA(snd_hda_codec_write_cache); |
1996 | 1996 | ||
1997 | /* resume the all commands from the cache */ | 1997 | /* resume the all commands from the cache */ |
1998 | void snd_hda_codec_resume_cache(struct hda_codec *codec) | 1998 | void snd_hda_codec_resume_cache(struct hda_codec *codec) |
@@ -2008,7 +2008,7 @@ void snd_hda_codec_resume_cache(struct hda_codec *codec) | |||
2008 | get_cmd_cache_cmd(key), buffer->val); | 2008 | get_cmd_cache_cmd(key), buffer->val); |
2009 | } | 2009 | } |
2010 | } | 2010 | } |
2011 | EXPORT_SYMBOL_GPL(snd_hda_codec_resume_cache); | 2011 | EXPORT_SYMBOL_HDA(snd_hda_codec_resume_cache); |
2012 | 2012 | ||
2013 | /** | 2013 | /** |
2014 | * snd_hda_sequence_write_cache - sequence writes with caching | 2014 | * snd_hda_sequence_write_cache - sequence writes with caching |
@@ -2026,7 +2026,7 @@ void snd_hda_sequence_write_cache(struct hda_codec *codec, | |||
2026 | snd_hda_codec_write_cache(codec, seq->nid, 0, seq->verb, | 2026 | snd_hda_codec_write_cache(codec, seq->nid, 0, seq->verb, |
2027 | seq->param); | 2027 | seq->param); |
2028 | } | 2028 | } |
2029 | EXPORT_SYMBOL_GPL(snd_hda_sequence_write_cache); | 2029 | EXPORT_SYMBOL_HDA(snd_hda_sequence_write_cache); |
2030 | #endif /* SND_HDA_NEEDS_RESUME */ | 2030 | #endif /* SND_HDA_NEEDS_RESUME */ |
2031 | 2031 | ||
2032 | /* | 2032 | /* |
@@ -2156,7 +2156,7 @@ int /*__devinit*/ snd_hda_build_controls(struct hda_bus *bus) | |||
2156 | } | 2156 | } |
2157 | return 0; | 2157 | return 0; |
2158 | } | 2158 | } |
2159 | EXPORT_SYMBOL_GPL(snd_hda_build_controls); | 2159 | EXPORT_SYMBOL_HDA(snd_hda_build_controls); |
2160 | 2160 | ||
2161 | int snd_hda_codec_build_controls(struct hda_codec *codec) | 2161 | int snd_hda_codec_build_controls(struct hda_codec *codec) |
2162 | { | 2162 | { |
@@ -2268,7 +2268,7 @@ unsigned int snd_hda_calc_stream_format(unsigned int rate, | |||
2268 | 2268 | ||
2269 | return val; | 2269 | return val; |
2270 | } | 2270 | } |
2271 | EXPORT_SYMBOL_GPL(snd_hda_calc_stream_format); | 2271 | EXPORT_SYMBOL_HDA(snd_hda_calc_stream_format); |
2272 | 2272 | ||
2273 | /** | 2273 | /** |
2274 | * snd_hda_query_supported_pcm - query the supported PCM rates and formats | 2274 | * snd_hda_query_supported_pcm - query the supported PCM rates and formats |
@@ -2448,7 +2448,7 @@ int snd_hda_is_supported_format(struct hda_codec *codec, hda_nid_t nid, | |||
2448 | 2448 | ||
2449 | return 1; | 2449 | return 1; |
2450 | } | 2450 | } |
2451 | EXPORT_SYMBOL_GPL(snd_hda_is_supported_format); | 2451 | EXPORT_SYMBOL_HDA(snd_hda_is_supported_format); |
2452 | 2452 | ||
2453 | /* | 2453 | /* |
2454 | * PCM stuff | 2454 | * PCM stuff |
@@ -2646,7 +2646,7 @@ int __devinit snd_hda_build_pcms(struct hda_bus *bus) | |||
2646 | } | 2646 | } |
2647 | return 0; | 2647 | return 0; |
2648 | } | 2648 | } |
2649 | EXPORT_SYMBOL_GPL(snd_hda_build_pcms); | 2649 | EXPORT_SYMBOL_HDA(snd_hda_build_pcms); |
2650 | 2650 | ||
2651 | /** | 2651 | /** |
2652 | * snd_hda_check_board_config - compare the current codec with the config table | 2652 | * snd_hda_check_board_config - compare the current codec with the config table |
@@ -2702,7 +2702,7 @@ int snd_hda_check_board_config(struct hda_codec *codec, | |||
2702 | } | 2702 | } |
2703 | return -1; | 2703 | return -1; |
2704 | } | 2704 | } |
2705 | EXPORT_SYMBOL_GPL(snd_hda_check_board_config); | 2705 | EXPORT_SYMBOL_HDA(snd_hda_check_board_config); |
2706 | 2706 | ||
2707 | /** | 2707 | /** |
2708 | * snd_hda_add_new_ctls - create controls from the array | 2708 | * snd_hda_add_new_ctls - create controls from the array |
@@ -2738,7 +2738,7 @@ int snd_hda_add_new_ctls(struct hda_codec *codec, struct snd_kcontrol_new *knew) | |||
2738 | } | 2738 | } |
2739 | return 0; | 2739 | return 0; |
2740 | } | 2740 | } |
2741 | EXPORT_SYMBOL_GPL(snd_hda_add_new_ctls); | 2741 | EXPORT_SYMBOL_HDA(snd_hda_add_new_ctls); |
2742 | 2742 | ||
2743 | #ifdef CONFIG_SND_HDA_POWER_SAVE | 2743 | #ifdef CONFIG_SND_HDA_POWER_SAVE |
2744 | static void hda_set_power_state(struct hda_codec *codec, hda_nid_t fg, | 2744 | static void hda_set_power_state(struct hda_codec *codec, hda_nid_t fg, |
@@ -2781,7 +2781,7 @@ void snd_hda_power_up(struct hda_codec *codec) | |||
2781 | cancel_delayed_work(&codec->power_work); | 2781 | cancel_delayed_work(&codec->power_work); |
2782 | codec->power_transition = 0; | 2782 | codec->power_transition = 0; |
2783 | } | 2783 | } |
2784 | EXPORT_SYMBOL_GPL(snd_hda_power_up); | 2784 | EXPORT_SYMBOL_HDA(snd_hda_power_up); |
2785 | 2785 | ||
2786 | #define power_save(codec) \ | 2786 | #define power_save(codec) \ |
2787 | ((codec)->bus->power_save ? *(codec)->bus->power_save : 0) | 2787 | ((codec)->bus->power_save ? *(codec)->bus->power_save : 0) |
@@ -2800,7 +2800,7 @@ void snd_hda_power_down(struct hda_codec *codec) | |||
2800 | msecs_to_jiffies(power_save(codec) * 1000)); | 2800 | msecs_to_jiffies(power_save(codec) * 1000)); |
2801 | } | 2801 | } |
2802 | } | 2802 | } |
2803 | EXPORT_SYMBOL_GPL(snd_hda_power_down); | 2803 | EXPORT_SYMBOL_HDA(snd_hda_power_down); |
2804 | 2804 | ||
2805 | int snd_hda_check_amp_list_power(struct hda_codec *codec, | 2805 | int snd_hda_check_amp_list_power(struct hda_codec *codec, |
2806 | struct hda_loopback_check *check, | 2806 | struct hda_loopback_check *check, |
@@ -2837,7 +2837,7 @@ int snd_hda_check_amp_list_power(struct hda_codec *codec, | |||
2837 | } | 2837 | } |
2838 | return 0; | 2838 | return 0; |
2839 | } | 2839 | } |
2840 | EXPORT_SYMBOL_GPL(snd_hda_check_amp_list_power); | 2840 | EXPORT_SYMBOL_HDA(snd_hda_check_amp_list_power); |
2841 | #endif | 2841 | #endif |
2842 | 2842 | ||
2843 | /* | 2843 | /* |
@@ -2857,7 +2857,7 @@ int snd_hda_ch_mode_info(struct hda_codec *codec, | |||
2857 | chmode[uinfo->value.enumerated.item].channels); | 2857 | chmode[uinfo->value.enumerated.item].channels); |
2858 | return 0; | 2858 | return 0; |
2859 | } | 2859 | } |
2860 | EXPORT_SYMBOL_GPL(snd_hda_ch_mode_info); | 2860 | EXPORT_SYMBOL_HDA(snd_hda_ch_mode_info); |
2861 | 2861 | ||
2862 | int snd_hda_ch_mode_get(struct hda_codec *codec, | 2862 | int snd_hda_ch_mode_get(struct hda_codec *codec, |
2863 | struct snd_ctl_elem_value *ucontrol, | 2863 | struct snd_ctl_elem_value *ucontrol, |
@@ -2875,7 +2875,7 @@ int snd_hda_ch_mode_get(struct hda_codec *codec, | |||
2875 | } | 2875 | } |
2876 | return 0; | 2876 | return 0; |
2877 | } | 2877 | } |
2878 | EXPORT_SYMBOL_GPL(snd_hda_ch_mode_get); | 2878 | EXPORT_SYMBOL_HDA(snd_hda_ch_mode_get); |
2879 | 2879 | ||
2880 | int snd_hda_ch_mode_put(struct hda_codec *codec, | 2880 | int snd_hda_ch_mode_put(struct hda_codec *codec, |
2881 | struct snd_ctl_elem_value *ucontrol, | 2881 | struct snd_ctl_elem_value *ucontrol, |
@@ -2896,7 +2896,7 @@ int snd_hda_ch_mode_put(struct hda_codec *codec, | |||
2896 | snd_hda_sequence_write_cache(codec, chmode[mode].sequence); | 2896 | snd_hda_sequence_write_cache(codec, chmode[mode].sequence); |
2897 | return 1; | 2897 | return 1; |
2898 | } | 2898 | } |
2899 | EXPORT_SYMBOL_GPL(snd_hda_ch_mode_put); | 2899 | EXPORT_SYMBOL_HDA(snd_hda_ch_mode_put); |
2900 | 2900 | ||
2901 | /* | 2901 | /* |
2902 | * input MUX helper | 2902 | * input MUX helper |
@@ -2917,7 +2917,7 @@ int snd_hda_input_mux_info(const struct hda_input_mux *imux, | |||
2917 | strcpy(uinfo->value.enumerated.name, imux->items[index].label); | 2917 | strcpy(uinfo->value.enumerated.name, imux->items[index].label); |
2918 | return 0; | 2918 | return 0; |
2919 | } | 2919 | } |
2920 | EXPORT_SYMBOL_GPL(snd_hda_input_mux_info); | 2920 | EXPORT_SYMBOL_HDA(snd_hda_input_mux_info); |
2921 | 2921 | ||
2922 | int snd_hda_input_mux_put(struct hda_codec *codec, | 2922 | int snd_hda_input_mux_put(struct hda_codec *codec, |
2923 | const struct hda_input_mux *imux, | 2923 | const struct hda_input_mux *imux, |
@@ -2939,7 +2939,7 @@ int snd_hda_input_mux_put(struct hda_codec *codec, | |||
2939 | *cur_val = idx; | 2939 | *cur_val = idx; |
2940 | return 1; | 2940 | return 1; |
2941 | } | 2941 | } |
2942 | EXPORT_SYMBOL_GPL(snd_hda_input_mux_put); | 2942 | EXPORT_SYMBOL_HDA(snd_hda_input_mux_put); |
2943 | 2943 | ||
2944 | 2944 | ||
2945 | /* | 2945 | /* |
@@ -2992,7 +2992,7 @@ int snd_hda_multi_out_dig_open(struct hda_codec *codec, | |||
2992 | mutex_unlock(&codec->spdif_mutex); | 2992 | mutex_unlock(&codec->spdif_mutex); |
2993 | return 0; | 2993 | return 0; |
2994 | } | 2994 | } |
2995 | EXPORT_SYMBOL_GPL(snd_hda_multi_out_dig_open); | 2995 | EXPORT_SYMBOL_HDA(snd_hda_multi_out_dig_open); |
2996 | 2996 | ||
2997 | int snd_hda_multi_out_dig_prepare(struct hda_codec *codec, | 2997 | int snd_hda_multi_out_dig_prepare(struct hda_codec *codec, |
2998 | struct hda_multi_out *mout, | 2998 | struct hda_multi_out *mout, |
@@ -3005,7 +3005,7 @@ int snd_hda_multi_out_dig_prepare(struct hda_codec *codec, | |||
3005 | mutex_unlock(&codec->spdif_mutex); | 3005 | mutex_unlock(&codec->spdif_mutex); |
3006 | return 0; | 3006 | return 0; |
3007 | } | 3007 | } |
3008 | EXPORT_SYMBOL_GPL(snd_hda_multi_out_dig_prepare); | 3008 | EXPORT_SYMBOL_HDA(snd_hda_multi_out_dig_prepare); |
3009 | 3009 | ||
3010 | /* | 3010 | /* |
3011 | * release the digital out | 3011 | * release the digital out |
@@ -3018,7 +3018,7 @@ int snd_hda_multi_out_dig_close(struct hda_codec *codec, | |||
3018 | mutex_unlock(&codec->spdif_mutex); | 3018 | mutex_unlock(&codec->spdif_mutex); |
3019 | return 0; | 3019 | return 0; |
3020 | } | 3020 | } |
3021 | EXPORT_SYMBOL_GPL(snd_hda_multi_out_dig_close); | 3021 | EXPORT_SYMBOL_HDA(snd_hda_multi_out_dig_close); |
3022 | 3022 | ||
3023 | /* | 3023 | /* |
3024 | * set up more restrictions for analog out | 3024 | * set up more restrictions for analog out |
@@ -3058,7 +3058,7 @@ int snd_hda_multi_out_analog_open(struct hda_codec *codec, | |||
3058 | return snd_pcm_hw_constraint_step(substream->runtime, 0, | 3058 | return snd_pcm_hw_constraint_step(substream->runtime, 0, |
3059 | SNDRV_PCM_HW_PARAM_CHANNELS, 2); | 3059 | SNDRV_PCM_HW_PARAM_CHANNELS, 2); |
3060 | } | 3060 | } |
3061 | EXPORT_SYMBOL_GPL(snd_hda_multi_out_analog_open); | 3061 | EXPORT_SYMBOL_HDA(snd_hda_multi_out_analog_open); |
3062 | 3062 | ||
3063 | /* | 3063 | /* |
3064 | * set up the i/o for analog out | 3064 | * set up the i/o for analog out |
@@ -3117,7 +3117,7 @@ int snd_hda_multi_out_analog_prepare(struct hda_codec *codec, | |||
3117 | } | 3117 | } |
3118 | return 0; | 3118 | return 0; |
3119 | } | 3119 | } |
3120 | EXPORT_SYMBOL_GPL(snd_hda_multi_out_analog_prepare); | 3120 | EXPORT_SYMBOL_HDA(snd_hda_multi_out_analog_prepare); |
3121 | 3121 | ||
3122 | /* | 3122 | /* |
3123 | * clean up the setting for analog out | 3123 | * clean up the setting for analog out |
@@ -3144,7 +3144,7 @@ int snd_hda_multi_out_analog_cleanup(struct hda_codec *codec, | |||
3144 | mutex_unlock(&codec->spdif_mutex); | 3144 | mutex_unlock(&codec->spdif_mutex); |
3145 | return 0; | 3145 | return 0; |
3146 | } | 3146 | } |
3147 | EXPORT_SYMBOL_GPL(snd_hda_multi_out_analog_cleanup); | 3147 | EXPORT_SYMBOL_HDA(snd_hda_multi_out_analog_cleanup); |
3148 | 3148 | ||
3149 | /* | 3149 | /* |
3150 | * Helper for automatic pin configuration | 3150 | * Helper for automatic pin configuration |
@@ -3430,13 +3430,13 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec, | |||
3430 | 3430 | ||
3431 | return 0; | 3431 | return 0; |
3432 | } | 3432 | } |
3433 | EXPORT_SYMBOL_GPL(snd_hda_parse_pin_def_config); | 3433 | EXPORT_SYMBOL_HDA(snd_hda_parse_pin_def_config); |
3434 | 3434 | ||
3435 | /* labels for input pins */ | 3435 | /* labels for input pins */ |
3436 | const char *auto_pin_cfg_labels[AUTO_PIN_LAST] = { | 3436 | const char *auto_pin_cfg_labels[AUTO_PIN_LAST] = { |
3437 | "Mic", "Front Mic", "Line", "Front Line", "CD", "Aux" | 3437 | "Mic", "Front Mic", "Line", "Front Line", "CD", "Aux" |
3438 | }; | 3438 | }; |
3439 | EXPORT_SYMBOL_GPL(auto_pin_cfg_labels); | 3439 | EXPORT_SYMBOL_HDA(auto_pin_cfg_labels); |
3440 | 3440 | ||
3441 | 3441 | ||
3442 | #ifdef CONFIG_PM | 3442 | #ifdef CONFIG_PM |
@@ -3464,7 +3464,7 @@ int snd_hda_suspend(struct hda_bus *bus, pm_message_t state) | |||
3464 | } | 3464 | } |
3465 | return 0; | 3465 | return 0; |
3466 | } | 3466 | } |
3467 | EXPORT_SYMBOL_GPL(snd_hda_suspend); | 3467 | EXPORT_SYMBOL_HDA(snd_hda_suspend); |
3468 | 3468 | ||
3469 | /** | 3469 | /** |
3470 | * snd_hda_resume - resume the codecs | 3470 | * snd_hda_resume - resume the codecs |
@@ -3485,7 +3485,7 @@ int snd_hda_resume(struct hda_bus *bus) | |||
3485 | } | 3485 | } |
3486 | return 0; | 3486 | return 0; |
3487 | } | 3487 | } |
3488 | EXPORT_SYMBOL_GPL(snd_hda_resume); | 3488 | EXPORT_SYMBOL_HDA(snd_hda_resume); |
3489 | #endif /* CONFIG_PM */ | 3489 | #endif /* CONFIG_PM */ |
3490 | 3490 | ||
3491 | /* | 3491 | /* |
@@ -3515,7 +3515,7 @@ void *snd_array_new(struct snd_array *array) | |||
3515 | } | 3515 | } |
3516 | return snd_array_elem(array, array->used++); | 3516 | return snd_array_elem(array, array->used++); |
3517 | } | 3517 | } |
3518 | EXPORT_SYMBOL_GPL(snd_array_new); | 3518 | EXPORT_SYMBOL_HDA(snd_array_new); |
3519 | 3519 | ||
3520 | /* free the given array elements */ | 3520 | /* free the given array elements */ |
3521 | void snd_array_free(struct snd_array *array) | 3521 | void snd_array_free(struct snd_array *array) |
@@ -3525,7 +3525,7 @@ void snd_array_free(struct snd_array *array) | |||
3525 | array->alloced = 0; | 3525 | array->alloced = 0; |
3526 | array->list = NULL; | 3526 | array->list = NULL; |
3527 | } | 3527 | } |
3528 | EXPORT_SYMBOL_GPL(snd_array_free); | 3528 | EXPORT_SYMBOL_HDA(snd_array_free); |
3529 | 3529 | ||
3530 | /* | 3530 | /* |
3531 | * used by hda_proc.c and hda_eld.c | 3531 | * used by hda_proc.c and hda_eld.c |
@@ -3544,7 +3544,7 @@ void snd_print_pcm_rates(int pcm, char *buf, int buflen) | |||
3544 | 3544 | ||
3545 | buf[j] = '\0'; /* necessary when j == 0 */ | 3545 | buf[j] = '\0'; /* necessary when j == 0 */ |
3546 | } | 3546 | } |
3547 | EXPORT_SYMBOL_GPL(snd_print_pcm_rates); | 3547 | EXPORT_SYMBOL_HDA(snd_print_pcm_rates); |
3548 | 3548 | ||
3549 | void snd_print_pcm_bits(int pcm, char *buf, int buflen) | 3549 | void snd_print_pcm_bits(int pcm, char *buf, int buflen) |
3550 | { | 3550 | { |
@@ -3557,7 +3557,7 @@ void snd_print_pcm_bits(int pcm, char *buf, int buflen) | |||
3557 | 3557 | ||
3558 | buf[j] = '\0'; /* necessary when j == 0 */ | 3558 | buf[j] = '\0'; /* necessary when j == 0 */ |
3559 | } | 3559 | } |
3560 | EXPORT_SYMBOL_GPL(snd_print_pcm_bits); | 3560 | EXPORT_SYMBOL_HDA(snd_print_pcm_bits); |
3561 | 3561 | ||
3562 | MODULE_DESCRIPTION("HDA codec core"); | 3562 | MODULE_DESCRIPTION("HDA codec core"); |
3563 | MODULE_LICENSE("GPL"); | 3563 | MODULE_LICENSE("GPL"); |
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 586ea08b340b..6612d0f20bc6 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h | |||
@@ -905,4 +905,19 @@ static inline void snd_hda_power_down(struct hda_codec *codec) {} | |||
905 | #define snd_hda_codec_needs_resume(codec) 1 | 905 | #define snd_hda_codec_needs_resume(codec) 1 |
906 | #endif | 906 | #endif |
907 | 907 | ||
908 | /* | ||
909 | * Codec modularization | ||
910 | */ | ||
911 | |||
912 | /* Export symbols only for communication with codec drivers; | ||
913 | * When built in kernel, all HD-audio drivers are supposed to be statically | ||
914 | * linked to the kernel. Thus, the symbols don't have to (or shouldn't) be | ||
915 | * exported unless it's built as a module. | ||
916 | */ | ||
917 | #ifdef MODULE | ||
918 | #define EXPORT_SYMBOL_HDA(sym) EXPORT_SYMBOL_GPL(sym) | ||
919 | #else | ||
920 | #define EXPORT_SYMBOL_HDA(sym) | ||
921 | #endif | ||
922 | |||
908 | #endif /* __SOUND_HDA_CODEC_H */ | 923 | #endif /* __SOUND_HDA_CODEC_H */ |