Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 200ceb96 authored by Barry Song's avatar Barry Song Committed by Mark Brown
Browse files

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: default avatarBarry Song <Baohua.Song@csr.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent c7788792
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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
+23 −14
Original line number Diff line number Diff line
/*
 * 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 = {
	.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 = "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");
+1 −1
Original line number Diff line number Diff line
@@ -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.
+1 −1
Original line number Diff line number Diff line
@@ -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,