Re: [PATCH -next] ASoC: Intel: bytcht_es8316: Set correct platform drvdata in snd_byt_cht_es8316_mc_probe()

2019-01-09 Thread Dan Carpenter
On Wed, Jan 09, 2019 at 10:33:38AM +0100, Hans de Goede wrote:
> Hi,
> 
> On 09-01-19 10:29, Dan Carpenter wrote:
> > I think the correct fix is actually this (untested):
> 
> Right, I'm pretty sure the soc framework depends on dev_get_drvdata
> returning the snd_soc_card and I forgot about this when adding
> the remove function.
> 
> Wei Yongjun, thank you for catching this.
> 
> Dan, thank you for the correct version of the patch :)
> 
> Dan, can you do an official submission of the correct version of the
> patch, with a Reported-by: Wei Yongjun 
> or shall I submit your version upstream ?

Wei can resend and get authorship credit.  I only wrote the patch by
accident because it was easier than explaining.  (Or if you really don't
want to, Wei, then message me and I will do it).

regards,
dan carpenter



Re: [PATCH -next] ASoC: Intel: bytcht_es8316: Set correct platform drvdata in snd_byt_cht_es8316_mc_probe()

2019-01-09 Thread Hans de Goede

Hi,

On 09-01-19 10:29, Dan Carpenter wrote:

I think the correct fix is actually this (untested):


Right, I'm pretty sure the soc framework depends on dev_get_drvdata
returning the snd_soc_card and I forgot about this when adding
the remove function.

Wei Yongjun, thank you for catching this.

Dan, thank you for the correct version of the patch :)

Dan, can you do an official submission of the correct version of the
patch, with a Reported-by: Wei Yongjun 
or shall I submit your version upstream ?

Regards,

Hans




diff --git a/sound/soc/intel/boards/bytcht_es8316.c 
b/sound/soc/intel/boards/bytcht_es8316.c
index cdf2061e7613..fa9c4cf97686 100644
--- a/sound/soc/intel/boards/bytcht_es8316.c
+++ b/sound/soc/intel/boards/bytcht_es8316.c
@@ -544,7 +544,8 @@ static int snd_byt_cht_es8316_mc_probe(struct 
platform_device *pdev)
  
  static int snd_byt_cht_es8316_mc_remove(struct platform_device *pdev)

  {
-   struct byt_cht_es8316_private *priv = platform_get_drvdata(pdev);
+   struct snd_soc_card *card = platform_get_drvdata(pdev);
+   struct byt_cht_es8316_private *priv = snd_soc_card_get_drvdata(card);
  
  	gpiod_put(priv->speaker_en_gpio);

return 0;



Re: [PATCH -next] ASoC: Intel: bytcht_es8316: Set correct platform drvdata in snd_byt_cht_es8316_mc_probe()

2019-01-09 Thread Dan Carpenter
I think the correct fix is actually this (untested):

diff --git a/sound/soc/intel/boards/bytcht_es8316.c 
b/sound/soc/intel/boards/bytcht_es8316.c
index cdf2061e7613..fa9c4cf97686 100644
--- a/sound/soc/intel/boards/bytcht_es8316.c
+++ b/sound/soc/intel/boards/bytcht_es8316.c
@@ -544,7 +544,8 @@ static int snd_byt_cht_es8316_mc_probe(struct 
platform_device *pdev)
 
 static int snd_byt_cht_es8316_mc_remove(struct platform_device *pdev)
 {
-   struct byt_cht_es8316_private *priv = platform_get_drvdata(pdev);
+   struct snd_soc_card *card = platform_get_drvdata(pdev);
+   struct byt_cht_es8316_private *priv = snd_soc_card_get_drvdata(card);
 
gpiod_put(priv->speaker_en_gpio);
return 0;