[alsa-devel] [PATCH 0/3] ASoC: meson-axg: fifo and card fixup
The purpose of this patchset is to solve the problems which have been raised since the initial axg sound support has been accepted.
Jerome Brunet (3): ASoC: meson: use IRQ_RETVAL in the fifo irq handler ASoC: meson: update axg sound card bindings ASoC: meson: align axg card driver with DT bindings documentation
.../bindings/sound/amlogic,axg-sound-card.txt | 68 +++++++++---------- sound/soc/meson/axg-card.c | 12 ++-- sound/soc/meson/axg-fifo.c | 2 +- 3 files changed, 41 insertions(+), 41 deletions(-)
Use IRQ_RETVAL instead of the open coded ternary operation.
Suggested-by: Takashi Iwai tiwai@suse.de Signed-off-by: Jerome Brunet jbrunet@baylibre.com --- sound/soc/meson/axg-fifo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/meson/axg-fifo.c b/sound/soc/meson/axg-fifo.c index db367d85290f..30262550e37b 100644 --- a/sound/soc/meson/axg-fifo.c +++ b/sound/soc/meson/axg-fifo.c @@ -174,7 +174,7 @@ static irqreturn_t axg_fifo_pcm_irq_block(int irq, void *dev_id) /* Ack irqs */ axg_fifo_ack_irq(fifo, status);
- return !status ? IRQ_NONE : IRQ_HANDLED; + return IRQ_RETVAL(status); }
static int axg_fifo_pcm_open(struct snd_pcm_substream *ss)
The patch
ASoC: meson: use IRQ_RETVAL in the fifo irq handler
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
From 036e4963bfb2d4513c30efd80e4bd50ff6c79e3e Mon Sep 17 00:00:00 2001
From: Jerome Brunet jbrunet@baylibre.com Date: Thu, 26 Jul 2018 14:45:42 +0200 Subject: [PATCH] ASoC: meson: use IRQ_RETVAL in the fifo irq handler
Use IRQ_RETVAL instead of the open coded ternary operation.
Suggested-by: Takashi Iwai tiwai@suse.de Signed-off-by: Jerome Brunet jbrunet@baylibre.com Signed-off-by: Mark Brown broonie@kernel.org --- sound/soc/meson/axg-fifo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/meson/axg-fifo.c b/sound/soc/meson/axg-fifo.c index db367d85290f..30262550e37b 100644 --- a/sound/soc/meson/axg-fifo.c +++ b/sound/soc/meson/axg-fifo.c @@ -174,7 +174,7 @@ static irqreturn_t axg_fifo_pcm_irq_block(int irq, void *dev_id) /* Ack irqs */ axg_fifo_ack_irq(fifo, status);
- return !status ? IRQ_NONE : IRQ_HANDLED; + return IRQ_RETVAL(status); }
static int axg_fifo_pcm_open(struct snd_pcm_substream *ss)
Remove the amlogic prefix in front of the generic properties and change the card 'name' property to 'model'
Suggested-by: Rob Herring robh@kernel.org Signed-off-by: Jerome Brunet jbrunet@baylibre.com --- .../bindings/sound/amlogic,axg-sound-card.txt | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-)
diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt index 39e005da0407..80b411296480 100644 --- a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt @@ -3,19 +3,19 @@ Amlogic AXG sound card: Required properties:
- compatible: "amlogic,axg-sound-card" -- amlogic,name : User specified audio sound card name, one string +- model : User specified audio sound card name, one string
Optional properties:
-- amlogic,aux-devs : List of phandles pointing to auxiliary devices -- amlogic,widgets : Please refer to widgets.txt. -- amlogic,routing : A list of the connections between audio components. +- audio-aux-devs : List of phandles pointing to auxiliary devices +- audio-widgets : Please refer to widgets.txt. +- audio-routing : A list of the connections between audio components.
Subnodes:
-- amlogic,dai-link: Container for dai-link level properties and the - CODEC sub-nodes. There should be at least one (and - probably) subnode of this type. +- dai-link: Container for dai-link level properties and the CODEC + sub-nodes. There should be at least one (and probably more) + subnode of this type.
Required dai-link properties:
@@ -57,38 +57,38 @@ Example:
sound { compatible = "amlogic,axg-sound-card"; - amlogic,name = "AXG-S420"; - amlogic,aux-devs = <&tdmin_a>, <&tdmout_c>; - amlogic,widgets = "Line", "Lineout", - "Line", "Linein", - "Speaker", "Speaker1 Left", - "Speaker", "Speaker1 Right"; - "Speaker", "Speaker2 Left", - "Speaker", "Speaker2 Right"; - amlogic,routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", - "SPDIFOUT IN 0", "FRDDR_A OUT 3", - "TDM_C Playback", "TDMOUT_C OUT", - "TDMIN_A IN 2", "TDM_C Capture", - "TDMIN_A IN 5", "TDM_C Loopback", - "TODDR_A IN 0", "TDMIN_A OUT", - "Lineout", "Lineout AOUTL", - "Lineout", "Lineout AOUTR", - "Speaker1 Left", "SPK1 OUT_A", - "Speaker2 Left", "SPK2 OUT_A", - "Speaker1 Right", "SPK1 OUT_B", - "Speaker2 Right", "SPK2 OUT_B", - "Linein AINL", "Linein", - "Linein AINR", "Linein"; - - amlogic,dai-link@0 { + model = "AXG-S420"; + audio-aux-devs = <&tdmin_a>, <&tdmout_c>; + audio-widgets = "Line", "Lineout", + "Line", "Linein", + "Speaker", "Speaker1 Left", + "Speaker", "Speaker1 Right"; + "Speaker", "Speaker2 Left", + "Speaker", "Speaker2 Right"; + audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", + "SPDIFOUT IN 0", "FRDDR_A OUT 3", + "TDM_C Playback", "TDMOUT_C OUT", + "TDMIN_A IN 2", "TDM_C Capture", + "TDMIN_A IN 5", "TDM_C Loopback", + "TODDR_A IN 0", "TDMIN_A OUT", + "Lineout", "Lineout AOUTL", + "Lineout", "Lineout AOUTR", + "Speaker1 Left", "SPK1 OUT_A", + "Speaker2 Left", "SPK2 OUT_A", + "Speaker1 Right", "SPK1 OUT_B", + "Speaker2 Right", "SPK2 OUT_B", + "Linein AINL", "Linein", + "Linein AINR", "Linein"; + + dai-link@0 { sound-dai = <&frddr_a>; };
- amlogic,dai-link@1 { + dai-link@1 { sound-dai = <&toddr_a>; };
- amlogic,dai-link@2 { + dai-link@2 { sound-dai = <&tdmif_c>; dai-format = "i2s"; dai-tdm-slot-tx-mask-2 = <1 1>; @@ -114,7 +114,7 @@ sound {
};
- amlogic,dai-link@4 { + dai-link@3 { sound-dai = <&spdifout>;
codec {
The patch
ASoC: meson: update axg sound card bindings
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
From d9e81048127604fe6373fb76181fefcf218965f4 Mon Sep 17 00:00:00 2001
From: Jerome Brunet jbrunet@baylibre.com Date: Thu, 26 Jul 2018 14:45:43 +0200 Subject: [PATCH] ASoC: meson: update axg sound card bindings
Remove the amlogic prefix in front of the generic properties and change the card 'name' property to 'model'
Suggested-by: Rob Herring robh@kernel.org Signed-off-by: Jerome Brunet jbrunet@baylibre.com Signed-off-by: Mark Brown broonie@kernel.org --- .../bindings/sound/amlogic,axg-sound-card.txt | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-)
diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt index 39e005da0407..80b411296480 100644 --- a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt @@ -3,19 +3,19 @@ Amlogic AXG sound card: Required properties:
- compatible: "amlogic,axg-sound-card" -- amlogic,name : User specified audio sound card name, one string +- model : User specified audio sound card name, one string
Optional properties:
-- amlogic,aux-devs : List of phandles pointing to auxiliary devices -- amlogic,widgets : Please refer to widgets.txt. -- amlogic,routing : A list of the connections between audio components. +- audio-aux-devs : List of phandles pointing to auxiliary devices +- audio-widgets : Please refer to widgets.txt. +- audio-routing : A list of the connections between audio components.
Subnodes:
-- amlogic,dai-link: Container for dai-link level properties and the - CODEC sub-nodes. There should be at least one (and - probably) subnode of this type. +- dai-link: Container for dai-link level properties and the CODEC + sub-nodes. There should be at least one (and probably more) + subnode of this type.
Required dai-link properties:
@@ -57,38 +57,38 @@ Example:
sound { compatible = "amlogic,axg-sound-card"; - amlogic,name = "AXG-S420"; - amlogic,aux-devs = <&tdmin_a>, <&tdmout_c>; - amlogic,widgets = "Line", "Lineout", - "Line", "Linein", - "Speaker", "Speaker1 Left", - "Speaker", "Speaker1 Right"; - "Speaker", "Speaker2 Left", - "Speaker", "Speaker2 Right"; - amlogic,routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", - "SPDIFOUT IN 0", "FRDDR_A OUT 3", - "TDM_C Playback", "TDMOUT_C OUT", - "TDMIN_A IN 2", "TDM_C Capture", - "TDMIN_A IN 5", "TDM_C Loopback", - "TODDR_A IN 0", "TDMIN_A OUT", - "Lineout", "Lineout AOUTL", - "Lineout", "Lineout AOUTR", - "Speaker1 Left", "SPK1 OUT_A", - "Speaker2 Left", "SPK2 OUT_A", - "Speaker1 Right", "SPK1 OUT_B", - "Speaker2 Right", "SPK2 OUT_B", - "Linein AINL", "Linein", - "Linein AINR", "Linein"; - - amlogic,dai-link@0 { + model = "AXG-S420"; + audio-aux-devs = <&tdmin_a>, <&tdmout_c>; + audio-widgets = "Line", "Lineout", + "Line", "Linein", + "Speaker", "Speaker1 Left", + "Speaker", "Speaker1 Right"; + "Speaker", "Speaker2 Left", + "Speaker", "Speaker2 Right"; + audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", + "SPDIFOUT IN 0", "FRDDR_A OUT 3", + "TDM_C Playback", "TDMOUT_C OUT", + "TDMIN_A IN 2", "TDM_C Capture", + "TDMIN_A IN 5", "TDM_C Loopback", + "TODDR_A IN 0", "TDMIN_A OUT", + "Lineout", "Lineout AOUTL", + "Lineout", "Lineout AOUTR", + "Speaker1 Left", "SPK1 OUT_A", + "Speaker2 Left", "SPK2 OUT_A", + "Speaker1 Right", "SPK1 OUT_B", + "Speaker2 Right", "SPK2 OUT_B", + "Linein AINL", "Linein", + "Linein AINR", "Linein"; + + dai-link@0 { sound-dai = <&frddr_a>; };
- amlogic,dai-link@1 { + dai-link@1 { sound-dai = <&toddr_a>; };
- amlogic,dai-link@2 { + dai-link@2 { sound-dai = <&tdmif_c>; dai-format = "i2s"; dai-tdm-slot-tx-mask-2 = <1 1>; @@ -114,7 +114,7 @@ sound {
};
- amlogic,dai-link@4 { + dai-link@3 { sound-dai = <&spdifout>;
codec {
Drop amlogic prefix in front of the generic DT properties and change property "name" to "model".
Signed-off-by: Jerome Brunet jbrunet@baylibre.com --- sound/soc/meson/axg-card.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/meson/axg-card.c b/sound/soc/meson/axg-card.c index d6d1081d94ad..2914ba0d965b 100644 --- a/sound/soc/meson/axg-card.c +++ b/sound/soc/meson/axg-card.c @@ -123,7 +123,7 @@ static int axg_card_add_aux_devices(struct snd_soc_card *card) struct snd_soc_aux_dev *aux; int num, i;
- num = of_count_phandle_with_args(node, PREFIX "aux-devs", NULL); + num = of_count_phandle_with_args(node, "audio-aux-devs", NULL); if (num == -ENOENT) { /* * It is ok to have no auxiliary devices but for this card it @@ -144,8 +144,8 @@ static int axg_card_add_aux_devices(struct snd_soc_card *card) card->num_aux_devs = num;
for (i = 0; i < card->num_aux_devs; i++, aux++) { - aux->codec_of_node = of_parse_phandle(node, - PREFIX "aux-devs", i); + aux->codec_of_node = + of_parse_phandle(node, "audio-aux-devs", i); if (!aux->codec_of_node) return -EINVAL; } @@ -610,18 +610,18 @@ static int axg_card_probe(struct platform_device *pdev) priv->card.owner = THIS_MODULE; priv->card.dev = dev;
- ret = snd_soc_of_parse_card_name(&priv->card, PREFIX "name"); + ret = snd_soc_of_parse_card_name(&priv->card, "model"); if (ret < 0) return ret;
- ret = axg_card_parse_of_optional(&priv->card, PREFIX "routing", + ret = axg_card_parse_of_optional(&priv->card, "audio-routing", snd_soc_of_parse_audio_routing); if (ret) { dev_err(dev, "error while parsing routing\n"); return ret; }
- ret = axg_card_parse_of_optional(&priv->card, PREFIX "widgets", + ret = axg_card_parse_of_optional(&priv->card, "audio-widgets", snd_soc_of_parse_audio_simple_widgets); if (ret) { dev_err(dev, "error while parsing widgets\n");
The patch
ASoC: meson: align axg card driver with DT bindings documentation
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
From 435857e015dc7b337c5f21d195ac2e4ffd694283 Mon Sep 17 00:00:00 2001
From: Jerome Brunet jbrunet@baylibre.com Date: Thu, 26 Jul 2018 14:45:44 +0200 Subject: [PATCH] ASoC: meson: align axg card driver with DT bindings documentation
Drop amlogic prefix in front of the generic DT properties and change property "name" to "model".
Signed-off-by: Jerome Brunet jbrunet@baylibre.com Signed-off-by: Mark Brown broonie@kernel.org --- sound/soc/meson/axg-card.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/meson/axg-card.c b/sound/soc/meson/axg-card.c index d6d1081d94ad..2914ba0d965b 100644 --- a/sound/soc/meson/axg-card.c +++ b/sound/soc/meson/axg-card.c @@ -123,7 +123,7 @@ static int axg_card_add_aux_devices(struct snd_soc_card *card) struct snd_soc_aux_dev *aux; int num, i;
- num = of_count_phandle_with_args(node, PREFIX "aux-devs", NULL); + num = of_count_phandle_with_args(node, "audio-aux-devs", NULL); if (num == -ENOENT) { /* * It is ok to have no auxiliary devices but for this card it @@ -144,8 +144,8 @@ static int axg_card_add_aux_devices(struct snd_soc_card *card) card->num_aux_devs = num;
for (i = 0; i < card->num_aux_devs; i++, aux++) { - aux->codec_of_node = of_parse_phandle(node, - PREFIX "aux-devs", i); + aux->codec_of_node = + of_parse_phandle(node, "audio-aux-devs", i); if (!aux->codec_of_node) return -EINVAL; } @@ -610,18 +610,18 @@ static int axg_card_probe(struct platform_device *pdev) priv->card.owner = THIS_MODULE; priv->card.dev = dev;
- ret = snd_soc_of_parse_card_name(&priv->card, PREFIX "name"); + ret = snd_soc_of_parse_card_name(&priv->card, "model"); if (ret < 0) return ret;
- ret = axg_card_parse_of_optional(&priv->card, PREFIX "routing", + ret = axg_card_parse_of_optional(&priv->card, "audio-routing", snd_soc_of_parse_audio_routing); if (ret) { dev_err(dev, "error while parsing routing\n"); return ret; }
- ret = axg_card_parse_of_optional(&priv->card, PREFIX "widgets", + ret = axg_card_parse_of_optional(&priv->card, "audio-widgets", snd_soc_of_parse_audio_simple_widgets); if (ret) { dev_err(dev, "error while parsing widgets\n");
participants (2)
-
Jerome Brunet
-
Mark Brown