All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: robh+dt@kernel.org, broonie@kernel.org, mark.rutland@arm.com,
	lgirdwood@gmail.com, bgoswami@codeaurora.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	vkoul@kernel.org, alsa-devel@alsa-project.org
Subject: Re: [PATCH v3 02/13] mfd: wcd9335: add support to wcd9335 core
Date: Wed, 12 Sep 2018 09:58:48 +0100	[thread overview]
Message-ID: <20180912085848.GP4185@dell> (raw)
In-Reply-To: <94c68436-b618-40fc-46d6-165799312289@linaro.org>

On Wed, 12 Sep 2018, Srinivas Kandagatla wrote:
> On 11/09/18 16:33, Lee Jones wrote:
> > On Tue, 04 Sep 2018, Srinivas Kandagatla wrote:
> > 
> > > Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC,
> > > It has mulitple blocks like Soundwire controller, codec,
> > > Codec processing engine, ClassH controller, interrupt mux.
> > > It supports both I2S/I2C and SLIMbus audio interfaces.
> > > 
> > > This patch adds support to SLIMbus audio interface.
> > > 
> > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> > > Reviewed-by: Vinod Koul <vkoul@kernel.org>
> > > ---
> > >   drivers/mfd/Kconfig                   |  14 +
> > >   drivers/mfd/Makefile                  |   4 +
> > >   drivers/mfd/wcd9335-core.c            | 291 ++++++++++++
> > >   include/linux/mfd/wcd9335/registers.h | 627 ++++++++++++++++++++++++++
> > >   include/linux/mfd/wcd9335/wcd9335.h   |  32 ++
> > >   5 files changed, 968 insertions(+)
> > >   create mode 100644 drivers/mfd/wcd9335-core.c
> > >   create mode 100644 include/linux/mfd/wcd9335/registers.h
> > >   create mode 100644 include/linux/mfd/wcd9335/wcd9335.h
[...]

> > > +static const struct mfd_cell wcd9335_devices[] = {
> > > +	{ .name = "wcd9335-codec", },
> > > +};
> > 
> > Are there more devices to come?
> > 
> Yes, that is the plan, we are kind of limited in hardware setup to test few
> things like soundwire controller. We are exploring other ways to test these.

I normally don't accept MFDs with just one device enabled.  Since it's
not really an MFD (M == Multi) until it has more than one function.

[...]

> > > +	struct device_node *ifc_dev_np;
> > 
> > ifc isn't very forthcoming.  Any way you can improve the name?
> ifc was suggested in dt bindings by Rob,  I can proably rename to
> interface_node.

ifc is a horrible variable name - just sayin'.

[...]

> > > +	ret = wcd9335_bring_up(wcd);
> > 
> > So the device_status call-back brings up the hardware?
> > 
> 
> device status reports the device status at runtime. We can not communicate
> with the device until it is up, enumerated by slimbus and a logical address
> is assigned to it. So the best place to initialize it is in status callback
> where all the above are expected to be done.

Right, I understand what's happening.  I just think the semantics are
wrong.  The Subsystem (I'm assuming it's a Subsystem) requests for
status and it ends up initiating a start-up sequence.  Just from a
purist's point of view (I understand that it "works"), it's not good
practice.

> Probe is expected to setup the external configurations like regulators/pins
> and so on which gets the device out of reset and ready to be enumerated by
> the slimbus controller.

I suggest fully starting the device in probe() is a better approach.

[...]

> > > +struct wcd9335 {
> > > +	int version;
> > > +	int intr1;
> > 
> > What's this?  If I have to ask, it's probably not a good name.
> > 
> This is a hardware pin name for interrupt line 1.

I don't see how this is used, so it's difficult for me to advise
fully, but I find this confusing.  Pin name/number?  Shouldn't this be
handed by Pinctrl?

intr1 could be quite ambiguous.  Especually as the '1' could easily be
read as an 'l'.  Suggest that 'irq1' or 'irq_1' or 'irq_one'.

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2018-09-12  8:58 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-04 10:24 [PATCH v3 00/13] ASoC: Add support to WCD9335 Audio Codec Srinivas Kandagatla
2018-09-04 10:24 ` [PATCH v3 01/13] ASoC: dt-bindings: update wcd9335 bindings Srinivas Kandagatla
2018-09-04 10:24   ` Srinivas Kandagatla
2018-09-10 20:02   ` Rob Herring
2018-09-10 20:02     ` Rob Herring
2018-09-04 10:24 ` [PATCH v3 02/13] mfd: wcd9335: add support to wcd9335 core Srinivas Kandagatla
2018-09-11 15:33   ` Lee Jones
2018-09-12  7:23     ` Srinivas Kandagatla
2018-09-12  8:58       ` Lee Jones [this message]
2018-09-12  9:32         ` Srinivas Kandagatla
2018-09-12 10:59           ` Lee Jones
2018-09-12 11:11             ` Srinivas Kandagatla
2018-09-12 11:46               ` Lee Jones
2018-09-12 12:43                 ` Srinivas Kandagatla
2018-09-17  1:08                   ` Lee Jones
2018-09-04 10:24 ` [PATCH v3 03/13] mfd: wcd9335: add wcd irq support Srinivas Kandagatla
2018-09-04 10:24   ` Srinivas Kandagatla
2018-09-11 15:35   ` Lee Jones
2018-09-11 15:35     ` Lee Jones
2018-09-04 10:24 ` [PATCH v3 04/13] ASoC: wcd9335: add support to wcd9335 codec Srinivas Kandagatla
2018-09-04 10:24   ` Srinivas Kandagatla
2018-09-04 10:24 ` [PATCH v3 05/13] ASoC: wcd9335: add CLASS-H Controller support Srinivas Kandagatla
2018-09-04 10:24   ` Srinivas Kandagatla
2018-09-04 10:24 ` [PATCH v3 06/13] ASoC: wcd9335: add basic controls Srinivas Kandagatla
2018-09-04 10:24 ` [PATCH v3 07/13] ASoC: wcd9335: add playback dapm widgets Srinivas Kandagatla
2018-09-04 10:24 ` [PATCH v3 08/13] ASoC: wcd9335: add capture " Srinivas Kandagatla
2018-09-04 10:24 ` [PATCH v3 09/13] ASoC: wcd9335: add audio routings Srinivas Kandagatla
2018-09-04 10:24 ` [PATCH v3 10/13] ASoC: dt-bindings: Add WCD9335 MBHC specific properties Srinivas Kandagatla
2018-09-10 20:06   ` Rob Herring
2018-09-12  7:44     ` Srinivas Kandagatla
2018-09-04 10:24 ` [PATCH v3 11/13] ASoC: wcd9335: add mbhc support Srinivas Kandagatla
2018-09-04 10:24 ` [PATCH v3 12/13] ASoC: apq8096: add slim support Srinivas Kandagatla
2018-09-10  8:24   ` kbuild test robot
2018-09-10  8:24     ` kbuild test robot
2018-09-04 10:25 ` [PATCH v3 13/13] ASoC: apq8096: add headset JACK support Srinivas Kandagatla

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=20180912085848.GP4185@dell \
    --to=lee.jones@linaro.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=bgoswami@codeaurora.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=vkoul@kernel.org \
    /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.