linux/sound/soc
Mark Brown d7085db6e1
Merge series "ASoC: tidyup snd_soc_of_parse_daifmt()" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
Hi Mark

These are v3 of parsing for daifmt.

I want to add new audio-graph-card2 sound card driver,
and this is last part of necessary soc-core cleanup for it.

Current some drivers are using DT, and then,
snd_soc_of_parse_daifmt() parses daifmt, but bitclock/frame provider
parsing part is one of headache, because we are assuming below both cases.

A)	node {
		bitclock-master;
		frame-master;
		...
	};

B)	link {
		bitclock-master = <&xxx>;
		frame-master = <&xxx>;
		...
	};

The original was style A), and style B) was added later.

snd_soc_of_parse_daifmt() parses A) style as original style,
and user need to update to B) style for clock_provider part if needed.

To handle it more flexibile, this patch-set adds new functions
which separates snd_soc_of_parse_daifmt() helper function.

	snd_soc_daifmt_parse_format()			: format part
	snd_soc_daifmt_parse_clock_provider_as_flag()	: clock part for style A)
	snd_soc_daifmt_parse_clock_provider_as_phandl()	: clock part for style B)
	snd_soc_daifmt_parse_clock_provider_as_bitmap()	: clock part use with _from_bitmap

v1 -> v2
	- tidyup parse_clock_provider functions to _as_flag/phandle/bitmap()
	- don't exchange code style on each drivers.

v2 -> v3
	- use daifmt as much as possible (don't use daiclk) on each driver.

Link: https://lore.kernel.org/r/875yypdxlm.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/87czsvdc4o.wl-kuninori.morimoto.gx@renesas.com

Kuninori Morimoto (8):
  ASoC: soc-core: add snd_soc_daifmt_clock_provider_from_bitmap()
  ASoC: soc-core: add snd_soc_daifmt_clock_provider_fliped()
  ASoC: soc-core: add snd_soc_daifmt_parse_format/clock_provider()
  ASoC: atmel: switch to use snd_soc_daifmt_parse_format/clock_provider()
  ASoC: fsl: switch to use snd_soc_daifmt_parse_format/clock_provider()
  ASoC: meson: switch to use snd_soc_daifmt_parse_format/clock_provider()
  ASoC: simple-card-utils: switch to use snd_soc_daifmt_parse_format/clock_provider()
  ASoC: soc-core: remove snd_soc_of_parse_daifmt()

 include/sound/soc.h                   |  21 ++++-
 sound/soc/atmel/mikroe-proto.c        |   9 ++-
 sound/soc/fsl/fsl-asoc-card.c         |   7 +-
 sound/soc/generic/simple-card-utils.c |  16 ++--
 sound/soc/meson/meson-card-utils.c    |   6 +-
 sound/soc/soc-core.c                  | 109 +++++++++++++++++---------
 6 files changed, 106 insertions(+), 62 deletions(-)

--
2.25.1
2021-06-21 19:16:53 +01:00
..
adi ASoC: axi-i2s: Use devm_platform_get_and_ioremap_resource() 2021-06-14 15:01:03 +01:00
amd ASoC: amd: renoir: Remove redundant assignment to pdm_ctrl and pdm_enable and pdm_dma_enable 2021-05-10 13:05:32 +01:00
atmel ASoC: atmel: switch to use snd_soc_daifmt_parse_format/clock_provider() 2021-06-21 13:05:18 +01:00
au1x ASoC: au1x: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:46 +00:00
bcm ASoC: bcm: cygnus_ssp: Use devm_platform_ioremap_resource_byname() 2021-06-14 15:01:06 +01:00
cirrus ASoC: cirrus: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:48 +00:00
codecs ASoC: rt711: add two jack detection modes 2021-06-21 13:06:25 +01:00
dwc ASoC: dwc: dwc-i2s: Use devm_platform_get_and_ioremap_resource() 2021-06-15 16:39:42 +01:00
fsl Merge series "ASoC: tidyup snd_soc_of_parse_daifmt()" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>: 2021-06-21 19:16:53 +01:00
generic ASoC: simple-card-utils: switch to use snd_soc_daifmt_parse_format/clock_provider() 2021-06-21 13:05:21 +01:00
hisilicon ASoC: hisilicon: Use devm_platform_get_and_ioremap_resource() 2021-06-15 16:39:49 +01:00
img ASoC: img-spdif-out: Use devm_platform_get_and_ioremap_resource() 2021-06-15 16:39:47 +01:00
intel ASoC: Intel: bdw-rt5677: remove unnecessary oom message 2021-06-17 16:17:25 +01:00
jz4740 ASoC: jz4740-i2s: Use devm_platform_get_and_ioremap_resource() 2021-06-15 16:39:48 +01:00
kirkwood ASoC: kirkwood: Use managed DMA buffer allocation 2021-01-13 11:36:16 +00:00
mediatek ASoC: mediatek: mtk-btcvsd: Fix an error handling path in 'mtk_btcvsd_snd_probe()' 2021-06-08 13:36:46 +01:00
meson ASoC: meson: switch to use snd_soc_daifmt_parse_format/clock_provider() 2021-06-21 13:05:20 +01:00
mxs ASoC: mxs-saif: drop unneeded snd_soc_dai_set_drvdata 2021-03-10 13:07:06 +00:00
pxa ASoC: pxa: remove useless assignment 2021-03-31 18:03:19 +01:00
qcom ASoC: qcom: lpass-cpu: Use devm_platform_get_and_ioremap_resource() 2021-06-21 13:06:26 +01:00
rockchip ASoC: rockchip: spdif: Use devm_platform_get_and_ioremap_resource() 2021-06-16 15:41:12 +01:00
samsung ASoC: samsung: s3c24xx-i2s: Use devm_platform_get_and_ioremap_resource() 2021-06-21 13:06:23 +01:00
sh ASoC: fsi: fix spelling mistake 2021-06-18 12:55:19 +01:00
sof Merge series "ASoC: Constify snd_compress_ops" from Rikard Falkeborn <rikard.falkeborn@gmail.com>: 2021-06-01 18:10:41 +01:00
spear ASoC: spear: spdif_out: Use devm_platform_get_and_ioremap_resource() 2021-06-17 13:47:06 +01:00
sprd ASoC: sprd: Use devm_platform_get_and_ioremap_resource() 2021-06-17 13:47:05 +01:00
sti ASoC: sti: sti_uniperif: Use devm_platform_get_and_ioremap_resource() 2021-06-17 13:47:03 +01:00
stm ASoC: stm32: spdifrx: Use devm_platform_get_and_ioremap_resource() 2021-06-17 13:47:02 +01:00
sunxi ASoC: sunxi: sun4i-spdif: Use devm_platform_get_and_ioremap_resource() 2021-06-21 13:04:18 +01:00
tegra ASoC: tegra: Fix a NULL vs IS_ERR() check 2021-06-21 13:06:27 +01:00
ti ASoC: ti: davinci-mcasp: Fix fall-through warning for Clang 2021-06-04 15:27:07 +01:00
uniphier ASoC: uniphier: Simplify the return expression of uniphier_aio_startup 2021-03-10 13:07:15 +00:00
ux500 ASoC: ux500: mop500: align function prototype 2021-03-31 18:03:28 +01:00
xilinx
xtensa
Kconfig ASoC: topology: adhere to KUNIT formatting standard 2021-04-14 15:26:24 +01:00
Makefile ASoC: topology: adhere to KUNIT formatting standard 2021-04-14 15:26:24 +01:00
soc-ac97.c
soc-acpi.c ASoC: soc-acpi: remove useless initialization 2021-04-19 14:03:29 +01:00
soc-card.c
soc-component.c ASoC: soc-component: Add snd_soc_pcm_component_ack 2021-03-25 13:58:06 +00:00
soc-compress.c ASoC: soc-compress: lock pcm_mutex to resolve lockdep error 2021-04-09 13:39:44 +01:00
soc-core.c ASoC: soc-core: remove snd_soc_of_parse_daifmt() 2021-06-21 13:05:22 +01:00
soc-dai.c ASoC: soc-core: add snd_soc_runtime_get_dai_fmt() 2021-06-07 15:55:12 +01:00
soc-dapm.c ASoC: don't indicate error message for snd_soc_[pcm_]dai_xxx() 2021-03-19 12:24:04 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Document support for TX only or RX only streams 2020-10-09 15:11:20 +01:00
soc-jack.c
soc-link.c ASoC: soc-pcm: care trigger rollback 2020-12-09 12:13:38 +00:00
soc-ops.c ASoC: soc-ops: remove useless assignment 2021-03-10 13:06:53 +00:00
soc-pcm.c ASoC: soc-pcm: fix the return value in dpcm_apply_symmetry() 2021-06-14 14:59:17 +01:00
soc-topology-test.c ASoC: topology: KUnit: Convert from cpu to data format 2021-02-02 17:08:21 +00:00
soc-topology.c ASoC: topology: Fix using uninitialized pointer 2021-05-20 17:57:28 +01:00
soc-utils.c ASoC: soc-core: add snd_soc_runtime_get_dai_fmt() 2021-06-07 15:55:12 +01:00