From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nguyen Viet Dung Subject: Re: Applied "ASoC: rsnd: count .probe/.remove for rsnd_mod_call()" to the asoc tree Date: Thu, 12 May 2016 12:05:35 +0900 Message-ID: <5733F2FF.7010004@jinso.co.jp> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from www1246.sakura.ne.jp (www1246.sakura.ne.jp [219.94.162.56]) by alsa0.perex.cz (Postfix) with ESMTP id 578AD2607C8 for ; Thu, 12 May 2016 05:05:55 +0200 (CEST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Mark Brown , Kuninori Morimoto Cc: Linux-ALSA , NAOYA SHIIBA , Hiep Cao Minh , Yoshihiro Shimoda , Ryusuke Sakato , Liam Girdwood , linux-renesas-soc@vger.kernel.org, Yusuke Goda , Simon , "osd2@lm.renesas.com" , h-inayoshi@jinso.co.jp, "M.Miura" List-Id: alsa-devel@alsa-project.org SGkgTXIgTWFyayBCcm93biwgIE1yIE1vcmltb3RvCgpJIGhhdmUgdXNlZCB0aGlzIHBhdGNoIGZv ciB0ZXN0dGluZyBSY2FyLXNvdW5kIHVuYmluZC9yZWJpbmQgb24gdGhlIApSY2FySDMgYm9hcmQu CnJlc3VsdCBpcyBnb29kKFJjYXItc291bmQgY2FuIHVuYmluZC9yZWJpbmQgd2l0aG91dCBlcnJv ciB3YXJuaW5nICkKClRlc3R0ZWQtYnk6IE5ndXllbiBWaWV0IGR1bmcgPG52LWR1bmdAamluc28u Y28uanA+CgpCZXN0IHJlZ2FyZHMsCgpPbiAyMDE25bm0MDTmnIgyOeaXpSAwMjo0NywgTWFyayBC cm93biB3cm90ZToKPiBUaGUgcGF0Y2gKPgo+ICAgICBBU29DOiByc25kOiBjb3VudCAucHJvYmUv LnJlbW92ZSBmb3IgcnNuZF9tb2RfY2FsbCgpCj4KPiBoYXMgYmVlbiBhcHBsaWVkIHRvIHRoZSBh c29jIHRyZWUgYXQKPgo+ICAgICBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tl cm5lbC9naXQvYnJvb25pZS9zb3VuZC5naXQKPgo+IEFsbCBiZWluZyB3ZWxsIHRoaXMgbWVhbnMg dGhhdCBpdCB3aWxsIGJlIGludGVncmF0ZWQgaW50byB0aGUgbGludXgtbmV4dAo+IHRyZWUgKHVz dWFsbHkgc29tZXRpbWUgaW4gdGhlIG5leHQgMjQgaG91cnMpIGFuZCBzZW50IHRvIExpbnVzIGR1 cmluZwo+IHRoZSBuZXh0IG1lcmdlIHdpbmRvdyAob3Igc29vbmVyIGlmIGl0IGlzIGEgYnVnIGZp eCksIGhvd2V2ZXIgaWYKPiBwcm9ibGVtcyBhcmUgZGlzY292ZXJlZCB0aGVuIHRoZSBwYXRjaCBt YXkgYmUgZHJvcHBlZCBvciByZXZlcnRlZC4KPgo+IFlvdSBtYXkgZ2V0IGZ1cnRoZXIgZS1tYWls cyByZXN1bHRpbmcgZnJvbSBhdXRvbWF0ZWQgb3IgbWFudWFsIHRlc3RpbmcKPiBhbmQgcmV2aWV3 IG9mIHRoZSB0cmVlLCBwbGVhc2UgZW5nYWdlIHdpdGggcGVvcGxlIHJlcG9ydGluZyBwcm9ibGVt cyBhbmQKPiBzZW5kIGZvbGxvd3VwIHBhdGNoZXMgYWRkcmVzc2luZyBhbnkgaXNzdWVzIHRoYXQg YXJlIHJlcG9ydGVkIGlmIG5lZWRlZC4KPgo+IElmIGFueSB1cGRhdGVzIGFyZSByZXF1aXJlZCBv ciB5b3UgYXJlIHN1Ym1pdHRpbmcgZnVydGhlciBjaGFuZ2VzIHRoZXkKPiBzaG91bGQgYmUgc2Vu dCBhcyBpbmNyZW1lbnRhbCB1cGRhdGVzIGFnYWluc3QgY3VycmVudCBnaXQsIGV4aXN0aW5nCj4g cGF0Y2hlcyB3aWxsIG5vdCBiZSByZXBsYWNlZC4KPgo+IFBsZWFzZSBhZGQgYW55IHJlbGV2YW50 IGxpc3RzIGFuZCBtYWludGFpbmVycyB0byB0aGUgQ0NzIHdoZW4gcmVwbHlpbmcKPiB0byB0aGlz IG1haWwuCj4KPiBUaGFua3MsCj4gTWFyawo+Cj4gPkZyb20gMWE1NjU4YzIxMzExNmQ1NmExYTM4 ZTgzNTg4ZjY2MzZhNTdkNjM3NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKPiBGcm9tOiBLdW5p bm9yaSBNb3JpbW90byA8a3VuaW5vcmkubW9yaW1vdG8uZ3hAcmVuZXNhcy5jb20+Cj4gRGF0ZTog VGh1LCAyOCBBcHIgMjAxNiAwMTo0OTo0OCArMDAwMAo+IFN1YmplY3Q6IFtQQVRDSF0gQVNvQzog cnNuZDogY291bnQgLnByb2JlLy5yZW1vdmUgZm9yIHJzbmRfbW9kX2NhbGwoKQo+Cj4gQ3VycmVu dCByc25kX21vZF9jYWxsIGlzIGNvdW50aW5nIGl0cyBjYWxsaW5nIGNvdW50IHRvIGF2b2lkIHVu YmFsYW5jZWQKPiBmdW5jdGlvbiBwYWlyIGNhbGxpbmcgZm9yIGVycm9yIGNhc2VzIChleCBpbml0 IDwtPiBxdWl0KS4KPiBTU0kgcGFyZW50IGlzIG5vdyBjb250cm9sbGVkIGFzICJtb2QiIG9uIGN1 cnJlbnQgcnNuZCBkcml2ZXIuIEJlY2F1c2Ugb2YKPiB0aGlzIHJlYXNvbiwgU1NJIC5yZW1vdmUg ZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgdHdpY2UgaWYgaXQgd2FzIHVzZWQgYXMKPiBTU0kgcGFy ZW50IHdoZW4gdXNlciB0cmllZCB1bmJpbmQuIEJ1dCBwcm9iZS9yZW1vdmUgcGFpciB3ZXJlIG5v dAo+IGNvdW50ZWQuIFRoaXMgcGF0Y2ggY291bnRzIHByb2JlL3JlbW92ZSBmdW5jdGlvbnMgdG8g YXZvaWQgaXQuCj4gU3BlY2lhbCB0aGFucyBIaWVwCj4KPiBSZXBvcnRlZC1ieTogSGllcCBDYW8g TWluaCA8Y20taGllcEBqaW5zby5jby5qcD4KPiBTaWduZWQtb2ZmLWJ5OiBLdW5pbm9yaSBNb3Jp bW90byA8a3VuaW5vcmkubW9yaW1vdG8uZ3hAcmVuZXNhcy5jb20+Cj4gU2lnbmVkLW9mZi1ieTog TWFyayBCcm93biA8YnJvb25pZUBrZXJuZWwub3JnPgo+IC0tLQo+ICAgc291bmQvc29jL3NoL3Jj YXIvcnNuZC5oIHwgMTMgKysrKysrKy0tLS0tLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0 aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc2gvcmNh ci9yc25kLmggYi9zb3VuZC9zb2Mvc2gvcmNhci9yc25kLmgKPiBpbmRleCBmYzg5YTY3MjU4Y2Eu LmE4ZjYxZDc5MzMzYiAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2Mvc2gvcmNhci9yc25kLmgKPiAr KysgYi9zb3VuZC9zb2Mvc2gvcmNhci9yc25kLmgKPiBAQCAtMjc2LDggKzI3Niw5IEBAIHN0cnVj dCByc25kX21vZCB7Cj4gICAvKgo+ICAgICogc3RhdHVzCj4gICAgKgo+IC0gKiAweEgwMDAwQ0Iw Cj4gKyAqIDB4SDAwMDBDQkEKPiAgICAqCj4gKyAqIEEJMDogcHJvYmUJMTogcmVtb3ZlCj4gICAg KiBCCTA6IGluaXQJCTE6IHF1aXQKPiAgICAqIEMJMDogc3RhcnQJMTogc3RvcAo+ICAgICoKPiBA QCAtMjg3LDE5ICsyODgsMTkgQEAgc3RydWN0IHJzbmRfbW9kIHsKPiAgICAqIEgJMDogZmFsbGJh Y2sKPiAgICAqIEgJMDogaHdfcGFyYW1zCj4gICAgKi8KPiArI2RlZmluZSBfX3JzbmRfbW9kX3No aWZ0X3Byb2JlCQkwCj4gKyNkZWZpbmUgX19yc25kX21vZF9zaGlmdF9yZW1vdmUJCTAKPiAgICNk ZWZpbmUgX19yc25kX21vZF9zaGlmdF9pbml0CQk0Cj4gICAjZGVmaW5lIF9fcnNuZF9tb2Rfc2hp ZnRfcXVpdAkJNAo+ICAgI2RlZmluZSBfX3JzbmRfbW9kX3NoaWZ0X3N0YXJ0CQk4Cj4gICAjZGVm aW5lIF9fcnNuZF9tb2Rfc2hpZnRfc3RvcAkJOAo+IC0jZGVmaW5lIF9fcnNuZF9tb2Rfc2hpZnRf cHJvYmUJCTI4IC8qIGFsd2F5cyBjYWxsZWQgKi8KPiAtI2RlZmluZSBfX3JzbmRfbW9kX3NoaWZ0 X3JlbW92ZQkJMjggLyogYWx3YXlzIGNhbGxlZCAqLwo+ICAgI2RlZmluZSBfX3JzbmRfbW9kX3No aWZ0X2lycQkJMjggLyogYWx3YXlzIGNhbGxlZCAqLwo+ICAgI2RlZmluZSBfX3JzbmRfbW9kX3No aWZ0X3BjbV9uZXcJMjggLyogYWx3YXlzIGNhbGxlZCAqLwo+ICAgI2RlZmluZSBfX3JzbmRfbW9k X3NoaWZ0X2ZhbGxiYWNrCTI4IC8qIGFsd2F5cyBjYWxsZWQgKi8KPiAgICNkZWZpbmUgX19yc25k X21vZF9zaGlmdF9od19wYXJhbXMJMjggLyogYWx3YXlzIGNhbGxlZCAqLwo+ICAgCj4gLSNkZWZp bmUgX19yc25kX21vZF9hZGRfcHJvYmUJCTAKPiAtI2RlZmluZSBfX3JzbmRfbW9kX2FkZF9yZW1v dmUJCTAKPiArI2RlZmluZSBfX3JzbmRfbW9kX2FkZF9wcm9iZQkJIDEKPiArI2RlZmluZSBfX3Jz bmRfbW9kX2FkZF9yZW1vdmUJCS0xCj4gICAjZGVmaW5lIF9fcnNuZF9tb2RfYWRkX2luaXQJCSAx Cj4gICAjZGVmaW5lIF9fcnNuZF9tb2RfYWRkX3F1aXQJCS0xCj4gICAjZGVmaW5lIF9fcnNuZF9t b2RfYWRkX3N0YXJ0CQkgMQo+IEBAIC0zMTAsNyArMzExLDcgQEAgc3RydWN0IHJzbmRfbW9kIHsK PiAgICNkZWZpbmUgX19yc25kX21vZF9hZGRfaHdfcGFyYW1zCTAKPiAgIAo+ICAgI2RlZmluZSBf X3JzbmRfbW9kX2NhbGxfcHJvYmUJCTAKPiAtI2RlZmluZSBfX3JzbmRfbW9kX2NhbGxfcmVtb3Zl CQkwCj4gKyNkZWZpbmUgX19yc25kX21vZF9jYWxsX3JlbW92ZQkJMQo+ICAgI2RlZmluZSBfX3Jz bmRfbW9kX2NhbGxfaW5pdAkJMAo+ICAgI2RlZmluZSBfX3JzbmRfbW9kX2NhbGxfcXVpdAkJMQo+ ICAgI2RlZmluZSBfX3JzbmRfbW9kX2NhbGxfc3RhcnQJCTAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFsc2EtZGV2ZWwgbWFpbGluZyBsaXN0CkFsc2Et ZGV2ZWxAYWxzYS1wcm9qZWN0Lm9yZwpodHRwOi8vbWFpbG1hbi5hbHNhLXByb2plY3Qub3JnL21h aWxtYW4vbGlzdGluZm8vYWxzYS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from www1246.sakura.ne.jp ([219.94.162.56]:43109 "EHLO www1246.sakura.ne.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751552AbcELDgk (ORCPT ); Wed, 11 May 2016 23:36:40 -0400 Subject: Re: Applied "ASoC: rsnd: count .probe/.remove for rsnd_mod_call()" to the asoc tree To: Mark Brown , Kuninori Morimoto References: Cc: Hiep Cao Minh , Linux-ALSA , NAOYA SHIIBA , Yoshihiro Shimoda , Ryusuke Sakato , Liam Girdwood , linux-renesas-soc@vger.kernel.org, Yusuke Goda , Simon , "osd2@lm.renesas.com" , h-inayoshi@jinso.co.jp, "M.Miura" From: Nguyen Viet Dung Message-ID: <5733F2FF.7010004@jinso.co.jp> Date: Thu, 12 May 2016 12:05:35 +0900 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-renesas-soc-owner@vger.kernel.org List-ID: 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 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 > 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 > Signed-off-by: Kuninori Morimoto > Signed-off-by: Mark Brown > --- > 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