#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/regulator/consumer.h>
#include <sound/soc.h>
#define MUX_TEXT_SIZE …
#define MUX_WIDGET_SIZE …
#define MUX_ROUTE_SIZE …
struct simple_mux { … };
static const char * const simple_mux_texts[MUX_TEXT_SIZE] = …;
static SOC_ENUM_SINGLE_EXT_DECL(simple_mux_enum, simple_mux_texts);
static int simple_mux_control_get(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int simple_mux_control_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static unsigned int simple_mux_read(struct snd_soc_component *component,
unsigned int reg)
{ … }
static const struct snd_kcontrol_new simple_mux_mux = …;
static const struct snd_soc_dapm_widget simple_mux_dapm_widgets[MUX_WIDGET_SIZE] = …;
static const struct snd_soc_dapm_route simple_mux_dapm_routes[MUX_ROUTE_SIZE] = …;
static int simple_mux_probe(struct platform_device *pdev)
{ … }
#ifdef CONFIG_OF
static const struct of_device_id simple_mux_ids[] = …;
MODULE_DEVICE_TABLE(of, simple_mux_ids);
#endif
static struct platform_driver simple_mux_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;