From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752605AbbFLH31 (ORCPT ); Fri, 12 Jun 2015 03:29:27 -0400 Received: from mga01.intel.com ([192.55.52.88]:6578 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750800AbbFLH3Y (ORCPT ); Fri, 12 Jun 2015 03:29:24 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,600,1427785200"; d="scan'208";a="745420608" Date: Fri, 12 Jun 2015 13:00:48 +0530 From: Vinod Koul To: Ben Zhang Cc: Mark Brown , Omair Mohammed Abdullah , Dylan Reid , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, patches.audio@intel.com Subject: Re: [PATCH] ASoC: core: Pass kcontrol pointer to bytes tlv callbacks Message-ID: <20150612073048.GC28601@localhost> References: <1433283843-33856-1-git-send-email-benzh@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1433283843-33856-1-git-send-email-benzh@chromium.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 02, 2015 at 03:24:03PM -0700, Ben Zhang wrote: > The get/put callbacks need the kcontrol pointer to get context > information like snd_soc_codec and drvdata. > > Signed-off-by: Ben Zhang I did have this change in my internal tree as well and is required, thanks for sending, I need this is SKL driver.. Reviewed-by: Vinod Koul -- ~Vinod > --- > include/sound/soc.h | 6 ++++-- > sound/soc/soc-ops.c | 4 ++-- > 2 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/include/sound/soc.h b/include/sound/soc.h > index fcb312b..404265d 100644 > --- a/include/sound/soc.h > +++ b/include/sound/soc.h > @@ -1169,8 +1169,10 @@ struct soc_bytes { > struct soc_bytes_ext { > int max; > /* used for TLV byte control */ > - int (*get)(unsigned int __user *bytes, unsigned int size); > - int (*put)(const unsigned int __user *bytes, unsigned int size); > + int (*get)(struct snd_kcontrol *kcontrol, > + unsigned int __user *bytes, unsigned int size); > + int (*put)(struct snd_kcontrol *kcontrol, > + const unsigned int __user *bytes, unsigned int size); > }; > > /* multi register control */ > diff --git a/sound/soc/soc-ops.c b/sound/soc/soc-ops.c > index 100d92b..7f53da9 100644 > --- a/sound/soc/soc-ops.c > +++ b/sound/soc/soc-ops.c > @@ -751,11 +751,11 @@ int snd_soc_bytes_tlv_callback(struct snd_kcontrol *kcontrol, int op_flag, > switch (op_flag) { > case SNDRV_CTL_TLV_OP_READ: > if (params->get) > - ret = params->get(tlv, count); > + ret = params->get(kcontrol, tlv, count); > break; > case SNDRV_CTL_TLV_OP_WRITE: > if (params->put) > - ret = params->put(tlv, count); > + ret = params->put(kcontrol, tlv, count); > break; > } > return ret; > -- > 2.2.0.rc0.207.ga3a616c > --