summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_codec.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
-rw-r--r--sound/pci/hda/hda_codec.c45
1 files changed, 25 insertions, 20 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 5bee3b53647..23201f3eeb1 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -86,6 +86,8 @@ unsigned int snd_hda_codec_read(struct hda_codec *codec, hda_nid_t nid, int dire
return res;
}
+EXPORT_SYMBOL(snd_hda_codec_read);
+
/**
* snd_hda_codec_write - send a single command without waiting for response
* @codec: the HDA codec
@@ -108,6 +110,8 @@ int snd_hda_codec_write(struct hda_codec *codec, hda_nid_t nid, int direct,
return err;
}
+EXPORT_SYMBOL(snd_hda_codec_write);
+
/**
* snd_hda_sequence_write - sequence writes
* @codec: the HDA codec
@@ -122,6 +126,8 @@ void snd_hda_sequence_write(struct hda_codec *codec, const struct hda_verb *seq)
snd_hda_codec_write(codec, seq->nid, 0, seq->verb, seq->param);
}
+EXPORT_SYMBOL(snd_hda_sequence_write);
+
/**
* snd_hda_get_sub_nodes - get the range of sub nodes
* @codec: the HDA codec
@@ -140,6 +146,8 @@ int snd_hda_get_sub_nodes(struct hda_codec *codec, hda_nid_t nid, hda_nid_t *sta
return (int)(parm & 0x7fff);
}
+EXPORT_SYMBOL(snd_hda_get_sub_nodes);
+
/**
* snd_hda_get_connections - get connection list
* @codec: the HDA codec
@@ -256,6 +264,8 @@ int snd_hda_queue_unsol_event(struct hda_bus *bus, u32 res, u32 res_ex)
return 0;
}
+EXPORT_SYMBOL(snd_hda_queue_unsol_event);
+
/*
* process queueud unsolicited events
*/
@@ -384,6 +394,7 @@ int snd_hda_bus_new(struct snd_card *card, const struct hda_bus_template *temp,
return 0;
}
+EXPORT_SYMBOL(snd_hda_bus_new);
/*
* find a matching codec preset
@@ -397,7 +408,9 @@ static const struct hda_codec_preset *find_codec_preset(struct hda_codec *codec)
u32 mask = preset->mask;
if (! mask)
mask = ~0;
- if (preset->id == (codec->vendor_id & mask))
+ if (preset->id == (codec->vendor_id & mask) &&
+ (! preset->rev ||
+ preset->rev == codec->revision_id))
return preset;
}
}
@@ -587,6 +600,8 @@ int snd_hda_codec_new(struct hda_bus *bus, unsigned int codec_addr,
return 0;
}
+EXPORT_SYMBOL(snd_hda_codec_new);
+
/**
* snd_hda_codec_setup_stream - set up the codec for streaming
* @codec: the CODEC to set up
@@ -609,6 +624,7 @@ void snd_hda_codec_setup_stream(struct hda_codec *codec, hda_nid_t nid, u32 stre
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_STREAM_FORMAT, format);
}
+EXPORT_SYMBOL(snd_hda_codec_setup_stream);
/*
* amp access functions
@@ -1294,6 +1310,7 @@ int snd_hda_build_controls(struct hda_bus *bus)
return 0;
}
+EXPORT_SYMBOL(snd_hda_build_controls);
/*
* stream formats
@@ -1382,6 +1399,8 @@ unsigned int snd_hda_calc_stream_format(unsigned int rate,
return val;
}
+EXPORT_SYMBOL(snd_hda_calc_stream_format);
+
/**
* snd_hda_query_supported_pcm - query the supported PCM rates and formats
* @codec: the HDA codec
@@ -1663,6 +1682,7 @@ int snd_hda_build_pcms(struct hda_bus *bus)
return 0;
}
+EXPORT_SYMBOL(snd_hda_build_pcms);
/**
* snd_hda_check_board_config - compare the current codec with the config table
@@ -2165,6 +2185,8 @@ int snd_hda_suspend(struct hda_bus *bus, pm_message_t state)
return 0;
}
+EXPORT_SYMBOL(snd_hda_suspend);
+
/**
* snd_hda_resume - resume the codecs
* @bus: the HDA bus
@@ -2187,6 +2209,8 @@ int snd_hda_resume(struct hda_bus *bus)
return 0;
}
+EXPORT_SYMBOL(snd_hda_resume);
+
/**
* snd_hda_resume_ctls - resume controls in the new control list
* @codec: the HDA codec
@@ -2247,25 +2271,6 @@ int snd_hda_resume_spdif_in(struct hda_codec *codec)
#endif
/*
- * symbols exported for controller modules
- */
-EXPORT_SYMBOL(snd_hda_codec_read);
-EXPORT_SYMBOL(snd_hda_codec_write);
-EXPORT_SYMBOL(snd_hda_sequence_write);
-EXPORT_SYMBOL(snd_hda_get_sub_nodes);
-EXPORT_SYMBOL(snd_hda_queue_unsol_event);
-EXPORT_SYMBOL(snd_hda_bus_new);
-EXPORT_SYMBOL(snd_hda_codec_new);
-EXPORT_SYMBOL(snd_hda_codec_setup_stream);
-EXPORT_SYMBOL(snd_hda_calc_stream_format);
-EXPORT_SYMBOL(snd_hda_build_pcms);
-EXPORT_SYMBOL(snd_hda_build_controls);
-#ifdef CONFIG_PM
-EXPORT_SYMBOL(snd_hda_suspend);
-EXPORT_SYMBOL(snd_hda_resume);
-#endif
-
-/*
* INIT part
*/