/* * Driver for the DFBM-CS320 bluetooth module * Copyright 2011 Lars-Peter Clausen * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * */ #include #include #include #include static struct snd_soc_dai_driver dfbmcs320_dai = { .name = "dfbmcs320-pcm", .playback = { .channels_min = 1, .channels_max = 1, .rates = SNDRV_PCM_RATE_8000, .formats = SNDRV_PCM_FMTBIT_S16_LE, }, .capture = { .channels_min = 1, .channels_max = 1, .rates = SNDRV_PCM_RATE_8000, .formats = SNDRV_PCM_FMTBIT_S16_LE, }, }; static struct snd_soc_codec_driver soc_codec_dev_dfbmcs320; static int __devinit dfbmcs320_probe(struct platform_device *pdev) { return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_dfbmcs320, &dfbmcs320_dai, 1); } static int __devexit dfbmcs320_remove(struct platform_device *pdev) { snd_soc_unregister_codec(&pdev->dev); return 0; } static struct platform_driver dfmcs320_driver = { .driver = { .name = "dfbmcs320", .owner = THIS_MODULE, }, .probe = dfbmcs320_probe, .remove = __devexit_p(dfbmcs320_remove), }; static int __init dfbmcs320_init(void) { return platform_driver_register(&dfmcs320_driver); } module_init(dfbmcs320_init); static void __exit dfbmcs320_exit(void) { platform_driver_unregister(&dfmcs320_driver); } module_exit(dfbmcs320_exit); MODULE_AUTHOR("Lars-Peter Clausen "); MODULE_DESCRIPTION("ASoC DFBM-CS320 bluethooth module driver"); MODULE_LICENSE("GPL");