All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: "Koul, Vinod" <vinod.koul@intel.com>
Cc: "liam.r.girdwood@linux.intel.com"
	<liam.r.girdwood@linux.intel.com>,
	Patches Audio <patches.audio@intel.com>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	"broonie@kernel.org" <broonie@kernel.org>,
	"Prusty, Subhransu S" <subhransu.s.prusty@intel.com>
Subject: Re: [PATCH 4/4] ALSA: hdac: Add codec read/write and check power state for widgets
Date: Mon, 05 Oct 2015 17:23:43 +0200	[thread overview]
Message-ID: <s5hbncdbaps.wl-tiwai@suse.de> (raw)
In-Reply-To: <1444058411.3579.32.camel@intel.com>

On Mon, 05 Oct 2015 17:20:11 +0200,
Koul, Vinod wrote:
> 
> On Mon, 2015-10-05 at 17:18 +0200, Takashi Iwai wrote:
> > On Mon, 05 Oct 2015 16:09:51 +0200,
> > Vinod Koul wrote:
> > > 
> > > From: "Subhransu S. Prusty" <subhransu.s.prusty@intel.com>
> > > 
> > > This adds helpers to read/write the codec. Also adds a helper to check the
> > > power state of widgets.
> > > 
> > > Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
> > > Signed-off-by: Vinod Koul <vinod.koul@intel.com>
> > > ---
> > >  include/sound/hdaudio.h |  6 ++++++
> > >  sound/hda/hdac_device.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
> > >  2 files changed, 53 insertions(+)
> > > 
> > > diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h
> > > index 49bc836fcd84..26e956f4b7c6 100644
> > > --- a/include/sound/hdaudio.h
> > > +++ b/include/sound/hdaudio.h
> > > @@ -147,6 +147,12 @@ int snd_hdac_query_supported_pcm(struct hdac_device *codec,
> > > hda_nid_t nid,
> > >  bool snd_hdac_is_supported_format(struct hdac_device *codec, hda_nid_t nid,
> > >  				  unsigned int format);
> > >  
> > > +int snd_hdac_codec_read(struct hdac_device *hdac, hda_nid_t nid,
> > > +			int flags, unsigned int verb, unsigned int parm);
> > > +int snd_hdac_codec_write(struct hdac_device *hdac, hda_nid_t nid,
> > > +			int flags, unsigned int verb, unsigned int parm);
> > > +bool snd_hdac_check_power_state(struct hdac_device *hdac,
> > > +		hda_nid_t nid, unsigned int target_state);
> > >  /**
> > >   * snd_hdac_read_parm - read a codec parameter
> > >   * @codec: the codec object
> > > diff --git a/sound/hda/hdac_device.c b/sound/hda/hdac_device.c
> > > index db96042a497f..24c7a5f6f0f3 100644
> > > --- a/sound/hda/hdac_device.c
> > > +++ b/sound/hda/hdac_device.c
> > > @@ -952,3 +952,50 @@ bool snd_hdac_is_supported_format(struct hdac_device *codec,
> > > hda_nid_t nid,
> > >  	return true;
> > >  }
> > >  EXPORT_SYMBOL_GPL(snd_hdac_is_supported_format);
> > > +
> > > +static unsigned int codec_read(struct hdac_device *hdac, hda_nid_t nid,
> > > +			int flags, unsigned int verb, unsigned int parm)
> > > +{
> > > +	unsigned int cmd = snd_hdac_make_cmd(hdac, nid, verb, parm);
> > > +	unsigned int res;
> > > +
> > > +	if (snd_hdac_exec_verb(hdac, cmd, flags, &res))
> > > +		return -1;
> > > +
> > > +	return res;
> > > +}
> > > +
> > > +static int codec_write(struct hdac_device *hdac, hda_nid_t nid,
> > > +			int flags, unsigned int verb, unsigned int parm)
> > > +{
> > > +	unsigned int cmd = snd_hdac_make_cmd(hdac, nid, verb, parm);
> > > +
> > > +	return snd_hdac_exec_verb(hdac, cmd, flags, NULL);
> > > +}
> > > +
> > > +int snd_hdac_codec_read(struct hdac_device *hdac, hda_nid_t nid,
> > > +			int flags, unsigned int verb, unsigned int parm)
> > > +{
> > > +	return codec_read(hdac, nid, flags, verb, parm);
> > > +}
> > > +EXPORT_SYMBOL_GPL(snd_hdac_codec_read);
> > 
> > For *every* exported function, you must provide a proper
> > documentation.  No excuse, as this is even a part of API.
> 
> Sure will add that
> 
> > And, you copied these things from sound/pci/hda/, so you should
> > mention it, and prepare a cleanup patch to use this new one.
> > Otherwise no one can see a clear merit of this addition.
> Sure, will mention that.
> I didn't want to move existing ones without checking with you.
> Will start moving them as well

This is no problem for me, a code reduction is rather always welcome.
Maybe just aliasing in hda_codec.c or hda_local.h would be enough,
something like:

static inline int snd_hda_codec_read(....)
{
	return snd_hdac_codec_read(&codec->core, .....);
}


Takashi

  reply	other threads:[~2015-10-05 15:23 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-05 14:09 [PATCH 0/4] ALSA: hdac: fixes and support for hda codecs Vinod Koul
2015-10-05 14:09 ` [PATCH 1/4] ALSA: hdac: Fix incorrect update of stream id mapping Vinod Koul
2015-10-05 14:09 ` [PATCH 2/4] ALSA: hdac: Fix to check if stream not in use in release Vinod Koul
2015-10-05 14:09 ` [PATCH 3/4] ALSA: hdac: structure definition for ext_dma_params Vinod Koul
2015-10-05 14:09 ` [PATCH 4/4] ALSA: hdac: Add codec read/write and check power state for widgets Vinod Koul
2015-10-05 15:18   ` Takashi Iwai
2015-10-05 15:20     ` Koul, Vinod
2015-10-05 15:23       ` Takashi Iwai [this message]
2015-10-05 15:21 ` [PATCH 0/4] ALSA: hdac: fixes and support for hda codecs Takashi Iwai
2015-10-05 15:28   ` Koul, Vinod

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hbncdbaps.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=liam.r.girdwood@linux.intel.com \
    --cc=patches.audio@intel.com \
    --cc=subhransu.s.prusty@intel.com \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.