mirror of https://gitee.com/openkylin/linux.git
ASoC: dfbmcs320: make the driver common for other BT modules
DFBM-CS320 is only one of bluetooth modules using CSR bluetooth chips, we don't want everyone to have a seperate codec driver. anyway, the feature of Bluetooth SCO is same on all platforms, so this patch makes the DFBM-CS320 driver become a common BT SCO link driver. Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
c7788792a5
commit
200ceb962f
|
@ -40,7 +40,7 @@ config SND_SOC_ALL_CODECS
|
|||
select SND_SOC_DA7213 if I2C
|
||||
select SND_SOC_DA732X if I2C
|
||||
select SND_SOC_DA9055 if I2C
|
||||
select SND_SOC_DFBMCS320
|
||||
select SND_SOC_BT_SCO
|
||||
select SND_SOC_ISABELLE if I2C
|
||||
select SND_SOC_JZ4740_CODEC
|
||||
select SND_SOC_LM4857 if I2C
|
||||
|
@ -263,7 +263,7 @@ config SND_SOC_DA732X
|
|||
config SND_SOC_DA9055
|
||||
tristate
|
||||
|
||||
config SND_SOC_DFBMCS320
|
||||
config SND_SOC_BT_SCO
|
||||
tristate
|
||||
|
||||
config SND_SOC_DMIC
|
||||
|
|
|
@ -27,7 +27,7 @@ snd-soc-da7210-objs := da7210.o
|
|||
snd-soc-da7213-objs := da7213.o
|
||||
snd-soc-da732x-objs := da732x.o
|
||||
snd-soc-da9055-objs := da9055.o
|
||||
snd-soc-dfbmcs320-objs := dfbmcs320.o
|
||||
snd-soc-bt-sco-objs := bt-sco.o
|
||||
snd-soc-dmic-objs := dmic.o
|
||||
snd-soc-isabelle-objs := isabelle.o
|
||||
snd-soc-jz4740-codec-objs := jz4740.o
|
||||
|
@ -154,7 +154,7 @@ obj-$(CONFIG_SND_SOC_DA7210) += snd-soc-da7210.o
|
|||
obj-$(CONFIG_SND_SOC_DA7213) += snd-soc-da7213.o
|
||||
obj-$(CONFIG_SND_SOC_DA732X) += snd-soc-da732x.o
|
||||
obj-$(CONFIG_SND_SOC_DA9055) += snd-soc-da9055.o
|
||||
obj-$(CONFIG_SND_SOC_DFBMCS320) += snd-soc-dfbmcs320.o
|
||||
obj-$(CONFIG_SND_SOC_BT_SCO) += snd-soc-bt-sco.o
|
||||
obj-$(CONFIG_SND_SOC_DMIC) += snd-soc-dmic.o
|
||||
obj-$(CONFIG_SND_SOC_ISABELLE) += snd-soc-isabelle.o
|
||||
obj-$(CONFIG_SND_SOC_JZ4740_CODEC) += snd-soc-jz4740-codec.o
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Driver for the DFBM-CS320 bluetooth module
|
||||
* Driver for generic Bluetooth SCO link
|
||||
* Copyright 2011 Lars-Peter Clausen <lars@metafoo.de>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
|
@ -15,8 +15,8 @@
|
|||
|
||||
#include <sound/soc.h>
|
||||
|
||||
static struct snd_soc_dai_driver dfbmcs320_dai = {
|
||||
.name = "dfbmcs320-pcm",
|
||||
static struct snd_soc_dai_driver bt_sco_dai = {
|
||||
.name = "bt-sco-pcm",
|
||||
.playback = {
|
||||
.channels_min = 1,
|
||||
.channels_max = 1,
|
||||
|
@ -31,32 +31,41 @@ static struct snd_soc_dai_driver dfbmcs320_dai = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct snd_soc_codec_driver soc_codec_dev_dfbmcs320;
|
||||
static struct snd_soc_codec_driver soc_codec_dev_bt_sco;
|
||||
|
||||
static int dfbmcs320_probe(struct platform_device *pdev)
|
||||
static int bt_sco_probe(struct platform_device *pdev)
|
||||
{
|
||||
return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_dfbmcs320,
|
||||
&dfbmcs320_dai, 1);
|
||||
return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_bt_sco,
|
||||
&bt_sco_dai, 1);
|
||||
}
|
||||
|
||||
static int dfbmcs320_remove(struct platform_device *pdev)
|
||||
static int bt_sco_remove(struct platform_device *pdev)
|
||||
{
|
||||
snd_soc_unregister_codec(&pdev->dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver dfmcs320_driver = {
|
||||
static struct platform_device_id bt_sco_driver_ids[] = {
|
||||
{
|
||||
.name = "dfbmcs320",
|
||||
},
|
||||
{},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(platform, bt_sco_driver_ids);
|
||||
|
||||
static struct platform_driver bt_sco_driver = {
|
||||
.driver = {
|
||||
.name = "dfbmcs320",
|
||||
.name = "bt-sco",
|
||||
.owner = THIS_MODULE,
|
||||
},
|
||||
.probe = dfbmcs320_probe,
|
||||
.remove = dfbmcs320_remove,
|
||||
.probe = bt_sco_probe,
|
||||
.remove = bt_sco_remove,
|
||||
.id_table = bt_sco_driver_ids,
|
||||
};
|
||||
|
||||
module_platform_driver(dfmcs320_driver);
|
||||
module_platform_driver(bt_sco_driver);
|
||||
|
||||
MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
|
||||
MODULE_DESCRIPTION("ASoC DFBM-CS320 bluethooth module driver");
|
||||
MODULE_DESCRIPTION("ASoC generic bluethooth sco link driver");
|
||||
MODULE_LICENSE("GPL");
|
|
@ -39,7 +39,7 @@ config SND_SOC_SAMSUNG_NEO1973_WM8753
|
|||
depends on SND_SOC_SAMSUNG && MACH_NEO1973_GTA02
|
||||
select SND_S3C24XX_I2S
|
||||
select SND_SOC_WM8753
|
||||
select SND_SOC_DFBMCS320
|
||||
select SND_SOC_SCO
|
||||
help
|
||||
Say Y here to enable audio support for the Openmoko Neo1973
|
||||
Smartphones.
|
||||
|
|
|
@ -373,7 +373,7 @@ static struct snd_soc_dai_link neo1973_dai[] = {
|
|||
{ /* Voice via BT */
|
||||
.name = "Bluetooth",
|
||||
.stream_name = "Voice",
|
||||
.cpu_dai_name = "dfbmcs320-pcm",
|
||||
.cpu_dai_name = "bt-sco-pcm",
|
||||
.codec_dai_name = "wm8753-voice",
|
||||
.codec_name = "wm8753.0-001a",
|
||||
.ops = &neo1973_voice_ops,
|
||||
|
|
Loading…
Reference in New Issue