#include <linux/init.h>
#include <linux/slab.h>
#include <linux/mutex.h>
#include <linux/module.h>
#include <linux/export.h>
#include <linux/pm.h>
#include <sound/core.h>
#include <sound/hda_codec.h>
#include "hda_local.h"
#include "hda_jack.h"
static int hda_codec_match(struct hdac_device *dev, struct hdac_driver *drv)
{ … }
static void hda_codec_unsol_event(struct hdac_device *dev, unsigned int ev)
{ … }
int snd_hda_codec_set_name(struct hda_codec *codec, const char *name)
{ … }
EXPORT_SYMBOL_GPL(…);
static int hda_codec_driver_probe(struct device *dev)
{ … }
static int hda_codec_driver_remove(struct device *dev)
{ … }
static void hda_codec_driver_shutdown(struct device *dev)
{ … }
int __hda_codec_driver_register(struct hda_codec_driver *drv, const char *name,
struct module *owner)
{ … }
EXPORT_SYMBOL_GPL(…);
void hda_codec_driver_unregister(struct hda_codec_driver *drv)
{ … }
EXPORT_SYMBOL_GPL(…);
static inline bool codec_probed(struct hda_codec *codec)
{ … }
static void request_codec_module(struct hda_codec *codec)
{ … }
static void codec_bind_module(struct hda_codec *codec)
{ … }
#if IS_ENABLED(CONFIG_SND_HDA_CODEC_HDMI)
static bool is_likely_hdmi_codec(struct hda_codec *codec)
{ … }
#else
#define is_likely_hdmi_codec …
#endif
static int codec_bind_generic(struct hda_codec *codec)
{ … }
#if IS_ENABLED(CONFIG_SND_HDA_GENERIC)
#define is_generic_config(codec) …
#else
#define is_generic_config …
#endif
int snd_hda_codec_configure(struct hda_codec *codec)
{ … }
EXPORT_SYMBOL_GPL(…);