aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/mc13783.c
diff options
context:
space:
mode:
authorPhilippe Rétornaz <philippe.retornaz@epfl.ch>2012-05-16 06:49:19 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-05-18 11:42:21 -0400
commitb77458da957d8fe8296d826397ff591a21cfc8d7 (patch)
treec616292fa2a1e985ff0811b7b99aac7a59f74ce2 /sound/soc/codecs/mc13783.c
parent6b0a795a17d36cc880591c935cf84fce228193ad (diff)
ASoC: mc13783 codec cleanups
Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/mc13783.c')
-rw-r--r--sound/soc/codecs/mc13783.c28
1 files changed, 7 insertions, 21 deletions
diff --git a/sound/soc/codecs/mc13783.c b/sound/soc/codecs/mc13783.c
index 50fa38b9d183..6276e352125f 100644
--- a/sound/soc/codecs/mc13783.c
+++ b/sound/soc/codecs/mc13783.c
@@ -580,7 +580,6 @@ static struct snd_kcontrol_new mc13783_control_list[] = {
580static int mc13783_probe(struct snd_soc_codec *codec) 580static int mc13783_probe(struct snd_soc_codec *codec)
581{ 581{
582 struct mc13783_priv *priv = snd_soc_codec_get_drvdata(codec); 582 struct mc13783_priv *priv = snd_soc_codec_get_drvdata(codec);
583 struct snd_soc_dapm_context *dapm = &codec->dapm;
584 583
585 mc13xxx_lock(priv->mc13xxx); 584 mc13xxx_lock(priv->mc13xxx);
586 585
@@ -592,14 +591,6 @@ static int mc13783_probe(struct snd_soc_codec *codec)
592 mc13xxx_reg_write(priv->mc13xxx, MC13783_AUDIO_CODEC, 0x180027); 591 mc13xxx_reg_write(priv->mc13xxx, MC13783_AUDIO_CODEC, 0x180027);
593 mc13xxx_reg_write(priv->mc13xxx, MC13783_AUDIO_DAC, 0x0e0004); 592 mc13xxx_reg_write(priv->mc13xxx, MC13783_AUDIO_DAC, 0x0e0004);
594 593
595 snd_soc_add_codec_controls(codec, mc13783_control_list,
596 ARRAY_SIZE(mc13783_control_list));
597
598 snd_soc_dapm_new_controls(dapm, mc13783_dapm_widgets,
599 ARRAY_SIZE(mc13783_dapm_widgets));
600 snd_soc_dapm_add_routes(dapm, mc13783_routes,
601 ARRAY_SIZE(mc13783_routes));
602
603 if (priv->adc_ssi_port == MC13783_SSI1_PORT) 594 if (priv->adc_ssi_port == MC13783_SSI1_PORT)
604 mc13xxx_reg_rmw(priv->mc13xxx, MC13783_AUDIO_CODEC, 595 mc13xxx_reg_rmw(priv->mc13xxx, MC13783_AUDIO_CODEC,
605 AUDIO_SSI_SEL, 0); 596 AUDIO_SSI_SEL, 0);
@@ -721,6 +712,12 @@ static struct snd_soc_codec_driver soc_codec_dev_mc13783 = {
721 .remove = mc13783_remove, 712 .remove = mc13783_remove,
722 .read = mc13783_read, 713 .read = mc13783_read,
723 .write = mc13783_write, 714 .write = mc13783_write,
715 .controls = mc13783_control_list,
716 .num_controls = ARRAY_SIZE(mc13783_control_list),
717 .dapm_widgets = mc13783_dapm_widgets,
718 .num_dapm_widgets = ARRAY_SIZE(mc13783_dapm_widgets),
719 .dapm_routes = mc13783_routes,
720 .num_dapm_routes = ARRAY_SIZE(mc13783_routes),
724}; 721};
725 722
726static int mc13783_codec_probe(struct platform_device *pdev) 723static int mc13783_codec_probe(struct platform_device *pdev)
@@ -781,18 +778,7 @@ static struct platform_driver mc13783_codec_driver = {
781 .remove = __devexit_p(mc13783_codec_remove), 778 .remove = __devexit_p(mc13783_codec_remove),
782}; 779};
783 780
784static __init int mc13783_init(void) 781module_platform_driver(mc13783_codec_driver);
785{
786 return platform_driver_register(&mc13783_codec_driver);
787}
788
789static __exit void mc13783_exit(void)
790{
791 platform_driver_unregister(&mc13783_codec_driver);
792}
793
794module_init(mc13783_init);
795module_exit(mc13783_exit);
796 782
797MODULE_DESCRIPTION("ASoC MC13783 driver"); 783MODULE_DESCRIPTION("ASoC MC13783 driver");
798MODULE_AUTHOR("Sascha Hauer, Pengutronix <s.hauer@pengutronix.de>"); 784MODULE_AUTHOR("Sascha Hauer, Pengutronix <s.hauer@pengutronix.de>");