[alsa-devel] Applied "ASoC: rsnd: count .probe/.remove for rsnd_mod_call()" to the asoc tree

Nguyen Viet Dung nv-dung at jinso.co.jp
Thu May 12 05:05:35 CEST 2016


Hi Mr Mark Brown,  Mr Morimoto

I have used this patch for testting Rcar-sound unbind/rebind on the 
RcarH3 board.
result is good(Rcar-sound can unbind/rebind without error warning )

Testted-by: Nguyen Viet dung <nv-dung at jinso.co.jp>

Best regards,

On 2016年04月29日 02:47, Mark Brown wrote:
> The patch
>
>     ASoC: rsnd: count .probe/.remove for rsnd_mod_call()
>
> has been applied to the asoc tree at
>
>     git://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 1a5658c213116d56a1a38e83588f6636a57d6374 Mon Sep 17 00:00:00 2001
> From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> Date: Thu, 28 Apr 2016 01:49:48 +0000
> Subject: [PATCH] ASoC: rsnd: count .probe/.remove for rsnd_mod_call()
>
> Current rsnd_mod_call is counting its calling count to avoid unbalanced
> function pair calling for error cases (ex init <-> quit).
> SSI parent is now controlled as "mod" on current rsnd driver. Because of
> this reason, SSI .remove function will be called twice if it was used as
> SSI parent when user tried unbind. But probe/remove pair were not
> counted. This patch counts probe/remove functions to avoid it.
> Special thans Hiep
>
> Reported-by: Hiep Cao Minh <cm-hiep at jinso.co.jp>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> Signed-off-by: Mark Brown <broonie at kernel.org>
> ---
>   sound/soc/sh/rcar/rsnd.h | 13 +++++++------
>   1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
> index fc89a67258ca..a8f61d79333b 100644
> --- a/sound/soc/sh/rcar/rsnd.h
> +++ b/sound/soc/sh/rcar/rsnd.h
> @@ -276,8 +276,9 @@ struct rsnd_mod {
>   /*
>    * status
>    *
> - * 0xH0000CB0
> + * 0xH0000CBA
>    *
> + * A	0: probe	1: remove
>    * B	0: init		1: quit
>    * C	0: start	1: stop
>    *
> @@ -287,19 +288,19 @@ struct rsnd_mod {
>    * H	0: fallback
>    * H	0: hw_params
>    */
> +#define __rsnd_mod_shift_probe		0
> +#define __rsnd_mod_shift_remove		0
>   #define __rsnd_mod_shift_init		4
>   #define __rsnd_mod_shift_quit		4
>   #define __rsnd_mod_shift_start		8
>   #define __rsnd_mod_shift_stop		8
> -#define __rsnd_mod_shift_probe		28 /* always called */
> -#define __rsnd_mod_shift_remove		28 /* always called */
>   #define __rsnd_mod_shift_irq		28 /* always called */
>   #define __rsnd_mod_shift_pcm_new	28 /* always called */
>   #define __rsnd_mod_shift_fallback	28 /* always called */
>   #define __rsnd_mod_shift_hw_params	28 /* always called */
>   
> -#define __rsnd_mod_add_probe		0
> -#define __rsnd_mod_add_remove		0
> +#define __rsnd_mod_add_probe		 1
> +#define __rsnd_mod_add_remove		-1
>   #define __rsnd_mod_add_init		 1
>   #define __rsnd_mod_add_quit		-1
>   #define __rsnd_mod_add_start		 1
> @@ -310,7 +311,7 @@ struct rsnd_mod {
>   #define __rsnd_mod_add_hw_params	0
>   
>   #define __rsnd_mod_call_probe		0
> -#define __rsnd_mod_call_remove		0
> +#define __rsnd_mod_call_remove		1
>   #define __rsnd_mod_call_init		0
>   #define __rsnd_mod_call_quit		1
>   #define __rsnd_mod_call_start		0



More information about the Alsa-devel mailing list