alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [asoc:topic/cs42l42 4/5] sound/soc/codecs/cs42l42.c:1972:3-8: No need to set .owner here. The core will do it.
@ 2016-11-09 16:58 kbuild test robot
  2016-11-09 16:58 ` [PATCH] ASoC: fix platform_no_drv_owner.cocci warnings kbuild test robot
  0 siblings, 1 reply; 9+ messages in thread
From: kbuild test robot @ 2016-11-09 16:58 UTC (permalink / raw)
  To: James Schulman; +Cc: alsa-devel, Mark Brown, kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git topic/cs42l42
head:   da16c55793539a8c83c81240984915ce6d0140fe
commit: 2c394ca79604b404fe60218670ab301ecb758b34 [4/5] ASoC: Add support for CS42L42 codec


coccinelle warnings: (new ones prefixed by >>)

>> sound/soc/codecs/cs42l42.c:1972:3-8: No need to set .owner here. The core will do it.

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [PATCH 1/2] ASoC: Add driver for PROTO Audio CODEC (with a WM8731)
@ 2018-08-29 14:47 Codrin Ciubotariu
  2018-08-30 10:13 ` [PATCH] ASoC: fix platform_no_drv_owner.cocci warnings kbuild test robot
  0 siblings, 1 reply; 9+ messages in thread
From: Codrin Ciubotariu @ 2018-08-29 14:47 UTC (permalink / raw)
  To: alsa-devel, devicetree, broonie, robh+dt, alexandre.belloni,
	nicolas.ferre
  Cc: linux-kernel, linux-arm-kernel, florian.meier, cristian.birsan

Add support for the MikroElektronika PROTO audio codec board.

URL to the audio chip:
http://www.mikroe.com/add-on-boards/audio-voice/audio-codec-proto/

Signed-off-by: Florian Meier <florian.meier@koalo.de>
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
---
 sound/soc/atmel/Kconfig        |   7 ++
 sound/soc/atmel/Makefile       |   2 +
 sound/soc/atmel/mikroe-proto.c | 189 +++++++++++++++++++++++++++++++++
 3 files changed, 198 insertions(+)
 create mode 100644 sound/soc/atmel/mikroe-proto.c

diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index 539ef33e670a..fbf4d3e42c18 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -97,4 +97,11 @@ config SND_ATMEL_SOC_I2S
 	help
 	  Say Y or M if you want to add support for Atmel ASoc driver for boards
 	  using I2S.
+
+config SND_SOC_MIKROE_PROTO
+	tristate "Support for Mikroe-PROTO board"
+	depends on OF
+	select SND_SOC_WM8731
+	help
+	  Say Y or M if you want to add support for Audio Codec Board PROTO (WM8731).
 endif
diff --git a/sound/soc/atmel/Makefile b/sound/soc/atmel/Makefile
index cd87cb4bcff5..9f41bfa0fea3 100644
--- a/sound/soc/atmel/Makefile
+++ b/sound/soc/atmel/Makefile
@@ -17,6 +17,7 @@ snd-soc-sam9x5-wm8731-objs := sam9x5_wm8731.o
 snd-atmel-soc-classd-objs := atmel-classd.o
 snd-atmel-soc-pdmic-objs := atmel-pdmic.o
 snd-atmel-soc-tse850-pcm5142-objs := tse850-pcm5142.o
+snd-soc-mikroe-proto-objs := mikroe-proto.o
 
 obj-$(CONFIG_SND_AT91_SOC_SAM9G20_WM8731) += snd-soc-sam9g20-wm8731.o
 obj-$(CONFIG_SND_ATMEL_SOC_WM8904) += snd-atmel-soc-wm8904.o
@@ -24,3 +25,4 @@ obj-$(CONFIG_SND_AT91_SOC_SAM9X5_WM8731) += snd-soc-sam9x5-wm8731.o
 obj-$(CONFIG_SND_ATMEL_SOC_CLASSD) += snd-atmel-soc-classd.o
 obj-$(CONFIG_SND_ATMEL_SOC_PDMIC) += snd-atmel-soc-pdmic.o
 obj-$(CONFIG_SND_ATMEL_SOC_TSE850_PCM5142) += snd-atmel-soc-tse850-pcm5142.o
+obj-$(CONFIG_SND_SOC_MIKROE_PROTO) += snd-soc-mikroe-proto.o
diff --git a/sound/soc/atmel/mikroe-proto.c b/sound/soc/atmel/mikroe-proto.c
new file mode 100644
index 000000000000..9d9dc1c8ac6b
--- /dev/null
+++ b/sound/soc/atmel/mikroe-proto.c
@@ -0,0 +1,189 @@
+/*
+ * ASoC driver for PROTO AudioCODEC (with a WM8731)
+ *
+ * Author:      Florian Meier, <koalo@koalo.de>
+ *	      Copyright 2013
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/module.h>
+#include <linux/platform_device.h>
+
+#include <sound/core.h>
+#include <sound/pcm.h>
+#include <sound/soc.h>
+#include <sound/jack.h>
+
+#include "../codecs/wm8731.h"
+
+#define XTAL_RATE 12288000	/* This is fixed on this board */
+
+static const unsigned int wm8731_rates_12288000[] = {
+	8000, 32000, 48000, 96000,
+};
+
+static struct snd_pcm_hw_constraint_list wm8731_constraints_12288000 = {
+	.list = wm8731_rates_12288000,
+	.count = ARRAY_SIZE(wm8731_rates_12288000),
+};
+
+static int snd_proto_startup(struct snd_pcm_substream *substream)
+{
+	/* Setup constraints, because there is a 12.288 MHz XTAL on the board */
+	snd_pcm_hw_constraint_list(substream->runtime, 0,
+				   SNDRV_PCM_HW_PARAM_RATE,
+				   &wm8731_constraints_12288000);
+	return 0;
+}
+
+/* machine stream operations */
+static struct snd_soc_ops snd_proto_ops = {
+	.startup = snd_proto_startup,
+};
+
+static int snd_proto_init(struct snd_soc_pcm_runtime *rtd)
+{
+	struct snd_soc_codec *codec = rtd->codec;
+	struct snd_soc_dai *codec_dai = rtd->codec_dai;
+
+	/* Set proto sysclk */
+	int ret = snd_soc_dai_set_sysclk(codec_dai, WM8731_SYSCLK_XTAL,
+					 XTAL_RATE, SND_SOC_CLOCK_IN);
+	if (ret < 0) {
+		dev_err(codec->dev, "Failed to set WM8731 SYSCLK: %d\n", ret);
+		return ret;
+	}
+
+	return 0;
+}
+
+static const struct snd_soc_dapm_widget snd_proto_widget[] = {
+	SND_SOC_DAPM_MIC("Microphone Jack", NULL),
+	SND_SOC_DAPM_HP("Headphone Jack", NULL),
+};
+
+static const struct snd_soc_dapm_route snd_proto_route[] = {
+	/* speaker connected to LHPOUT/RHPOUT */
+	{"Headphone Jack", NULL, "LHPOUT"},
+	{"Headphone Jack", NULL, "RHPOUT"},
+
+	/* mic is connected to Mic Jack, with WM8731 Mic Bias */
+	{"MICIN", NULL, "Mic Bias"},
+	{"Mic Bias", NULL, "Microphone Jack"},
+};
+
+/* audio machine driver */
+static struct snd_soc_card snd_proto = {
+	.name		= "snd_mikroe_proto",
+	.owner		= THIS_MODULE,
+	.dapm_widgets	= snd_proto_widget,
+	.num_dapm_widgets = ARRAY_SIZE(snd_proto_widget),
+	.dapm_routes	= snd_proto_route,
+	.num_dapm_routes = ARRAY_SIZE(snd_proto_route),
+};
+
+static int snd_proto_probe(struct platform_device *pdev)
+{
+	struct snd_soc_dai_link *dai;
+	struct device_node *np = pdev->dev.of_node;
+	struct device_node *codec_np, *cpu_np;
+	struct device_node *bitclkmaster = NULL;
+	struct device_node *framemaster = NULL;
+	unsigned int dai_fmt;
+	int ret = 0;
+
+	if (!np) {
+		dev_err(&pdev->dev, "No device node supplied\n");
+		return -EINVAL;
+	}
+
+	snd_proto.dev = &pdev->dev;
+	ret = snd_soc_of_parse_card_name(&snd_proto, "model");
+	if (ret)
+		return ret;
+
+	dai = devm_kzalloc(&pdev->dev, sizeof(*dai), GFP_KERNEL);
+	if (!dai)
+		return -ENOMEM;
+
+	snd_proto.dai_link = dai;
+	snd_proto.num_links = 1;
+
+	dai->name = "WM8731";
+	dai->stream_name = "WM8731 HiFi";
+	dai->codec_dai_name = "wm8731-hifi";
+	dai->init = &snd_proto_init;
+	dai->ops = &snd_proto_ops;
+
+	codec_np = of_parse_phandle(np, "audio-codec", 0);
+	if (!codec_np) {
+		dev_err(&pdev->dev, "audio-codec node missing\n");
+		return -EINVAL;
+	}
+	dai->codec_of_node = codec_np;
+
+	cpu_np = of_parse_phandle(np, "i2s-controller", 0);
+	if (!cpu_np) {
+		dev_err(&pdev->dev, "i2s-controller missing\n");
+		return -EINVAL;
+	}
+	dai->cpu_of_node = cpu_np;
+	dai->platform_of_node = cpu_np;
+
+	dai_fmt = snd_soc_of_parse_daifmt(np, NULL,
+					  &bitclkmaster, &framemaster);
+	if (bitclkmaster != framemaster) {
+		dev_err(&pdev->dev, "Must be the same bitclock and frame master\n");
+		return -EINVAL;
+	}
+	if (bitclkmaster) {
+		dai_fmt &= ~SND_SOC_DAIFMT_MASTER_MASK;
+		if (codec_np == bitclkmaster)
+			dai_fmt |= SND_SOC_DAIFMT_CBM_CFM;
+		else
+			dai_fmt |= SND_SOC_DAIFMT_CBS_CFS;
+	}
+	of_node_put(bitclkmaster);
+	of_node_put(framemaster);
+	dai->dai_fmt = dai_fmt;
+
+	of_node_put(codec_np);
+	of_node_put(cpu_np);
+
+	ret = snd_soc_register_card(&snd_proto);
+	if (ret && ret != -EPROBE_DEFER)
+		dev_err(&pdev->dev,
+			"snd_soc_register_card() failed: %d\n", ret);
+
+	return ret;
+}
+
+static int snd_proto_remove(struct platform_device *pdev)
+{
+	return snd_soc_unregister_card(&snd_proto);
+}
+
+static const struct of_device_id snd_proto_of_match[] = {
+	{ .compatible = "mikroe,mikroe-proto", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, snd_proto_of_match);
+
+static struct platform_driver snd_proto_driver = {
+	.driver = {
+		.name   = "snd-mikroe-proto",
+		.owner  = THIS_MODULE,
+		.of_match_table = snd_proto_of_match,
+	},
+	.probe	  = snd_proto_probe,
+	.remove	 = snd_proto_remove,
+};
+
+module_platform_driver(snd_proto_driver);
+
+MODULE_AUTHOR("Florian Meier");
+MODULE_DESCRIPTION("ASoC Driver for PROTO board (WM8731)");
+MODULE_LICENSE("GPL");
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread
* Re: [alsa_devel] [PATCH v3 2/2] ASoC: Add driver support fro Conexant CX2092X DSP
  2017-02-21 13:58 ` simon.ho.cnxt
@ 2017-02-21 17:44 kbuild test robot
  2017-02-21 13:58 ` simon.ho.cnxt
  0 siblings, 1 reply; 9+ messages in thread
From: kbuild test robot @ 2017-02-21 17:44 UTC (permalink / raw)
  To: simon.ho.cnxt; +Cc: alsa-devel, Simon Ho, lgirdwood, tiwai, broonie, kbuild-all

Hi Simon,

[auto build test WARNING on asoc/for-next]
[also build test WARNING on v4.10 next-20170220]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/simon-ho-cnxt-gmail-com/ASoC-add-driver-support-for-Conexant-CX2092X-DSP/20170221-235253
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next


coccinelle warnings: (new ones prefixed by >>)

>> sound/soc/codecs/cx2092x-i2c.c:43:3-8: No need to set .owner here. The core will do it.

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/8] ASoC: Add sun8i digital audio codec
@ 2017-01-31 11:34 kbuild test robot
  2017-01-31 10:05 ` Mylène Josserand
  0 siblings, 1 reply; 9+ messages in thread
From: kbuild test robot @ 2017-01-31 11:34 UTC (permalink / raw)
  Cc: kbuild-all-JC7UmRfGjtg, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w,
	broonie-DgEjT+Ai2ygdnm+yROfE0A, robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	mark.rutland-5wv7dgnIgG8,
	maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, wens-jdAy2FN1RRM,
	perex-/Fr2/VpizcU, tiwai-IBi9RG/b67k,
	alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8,
	mylene.josserand-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8,
	alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8

Hi Mylène,

[auto build test WARNING on next-20170130]
[also build test WARNING on v4.10-rc6]
[cannot apply to asoc/for-next robh/for-next mripard/sunxi/for-next v4.9-rc8 v4.9-rc7 v4.9-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Myl-ne-Josserand/Add-sun8i-A33-audio-driver/20170131-181539


coccinelle warnings: (new ones prefixed by >>)

>> sound/soc/sunxi/sun8i-codec.c:487:3-8: No need to set .owner here. The core will do it.

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: [PATCH] ASoC: Add max98926 codec driver
  2015-12-01 18:31 ` anish kumar
@ 2015-12-01 19:23 kbuild test robot
  2015-12-01 18:31 ` anish kumar
  0 siblings, 1 reply; 9+ messages in thread
From: kbuild test robot @ 2015-12-01 19:23 UTC (permalink / raw)
  Cc: alsa-devel, broonie, kbuild-all, anish kumar

Hi anish,

[auto build test WARNING on asoc/for-next]
[also build test WARNING on v4.4-rc3 next-20151127]

url:    https://github.com/0day-ci/linux/commits/anish-kumar/ASoC-Add-max98926-codec-driver/20151202-023631
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next


coccinelle warnings: (new ones prefixed by >>)

>> sound/soc/codecs/max98926.c:587:3-8: No need to set .owner here. The core will do it.

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [asoc:topic/gtm601 2/3] sound/soc/codecs/gtm601.c:86:4-9: No need to set .owner here. The core will do it.
@ 2015-06-22 15:36 kbuild test robot
  2015-06-22 15:36 ` [PATCH] ASoC: fix platform_no_drv_owner.cocci warnings kbuild test robot
  0 siblings, 1 reply; 9+ messages in thread
From: kbuild test robot @ 2015-06-22 15:36 UTC (permalink / raw)
  To: Marek Belisko; +Cc: alsa-devel, Mark Brown, kbuild-all

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git topic/gtm601
head:   ac6e7c29ac12e1e285b0740bb671039ef436cf91
commit: 600a2b098a87843d44ab2f54fde9eda421946b38 [2/3] ASoC: Add gtm601 codec driver


coccinelle warnings: (new ones prefixed by >>)

>> sound/soc/codecs/gtm601.c:86:4-9: No need to set .owner here. The core will do it.

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 9+ messages in thread
[parent not found: <201412070634.hwbnurjX%fengguang.wu@intel.com>]

end of thread, other threads:[~2018-08-30 10:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-09 16:58 [asoc:topic/cs42l42 4/5] sound/soc/codecs/cs42l42.c:1972:3-8: No need to set .owner here. The core will do it kbuild test robot
2016-11-09 16:58 ` [PATCH] ASoC: fix platform_no_drv_owner.cocci warnings kbuild test robot
2016-11-10 17:29   ` Applied "ASoC: fix platform_no_drv_owner.cocci warnings" to the asoc tree Mark Brown
  -- strict thread matches above, loose matches on Subject: below --
2018-08-29 14:47 [PATCH 1/2] ASoC: Add driver for PROTO Audio CODEC (with a WM8731) Codrin Ciubotariu
2018-08-30 10:13 ` [PATCH] ASoC: fix platform_no_drv_owner.cocci warnings kbuild test robot
2017-02-21 17:44 [alsa_devel] [PATCH v3 2/2] ASoC: Add driver support fro Conexant CX2092X DSP kbuild test robot
2017-02-21 13:58 ` simon.ho.cnxt
2017-02-21 17:44   ` [PATCH] ASoC: fix platform_no_drv_owner.cocci warnings kbuild test robot
2017-01-31 11:34 [PATCH v3 3/8] ASoC: Add sun8i digital audio codec kbuild test robot
2017-01-31 10:05 ` Mylène Josserand
2017-01-31 11:34   ` [PATCH] ASoC: fix platform_no_drv_owner.cocci warnings kbuild test robot
2015-12-01 19:23 [PATCH] ASoC: Add max98926 codec driver kbuild test robot
2015-12-01 18:31 ` anish kumar
2015-12-01 19:23   ` [PATCH] ASoC: fix platform_no_drv_owner.cocci warnings kbuild test robot
2015-06-22 15:36 [asoc:topic/gtm601 2/3] sound/soc/codecs/gtm601.c:86:4-9: No need to set .owner here. The core will do it kbuild test robot
2015-06-22 15:36 ` [PATCH] ASoC: fix platform_no_drv_owner.cocci warnings kbuild test robot
     [not found] <201412070634.hwbnurjX%fengguang.wu@intel.com>
2014-12-06 22:06 ` kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).