All of lore.kernel.org
 help / color / mirror / Atom feed
From: Charles Keepax <ckeepax@opensource.cirrus.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: <broonie@kernel.org>, <lee.jones@linaro.org>,
	<linus.walleij@linaro.org>, <mturquette@baylibre.com>,
	<robh+dt@kernel.org>, <mark.rutland@arm.com>,
	<lgirdwood@gmail.com>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <patches@opensource.cirrus.com>,
	<linux-clk@vger.kernel.org>, <linux-gpio@vger.kernel.org>
Subject: Re: [PATCH v2 3/5] clk: lochnagar: Add support for the Cirrus Logic Lochnagar
Date: Mon, 15 Oct 2018 11:49:05 +0100	[thread overview]
Message-ID: <20181015104905.GF1653@imbe.wolfsonmicro.main> (raw)
In-Reply-To: <153935999691.5275.1587207165396958375@swboyd.mtv.corp.google.com>

On Fri, Oct 12, 2018 at 08:59:56AM -0700, Stephen Boyd wrote:
> Quoting Charles Keepax (2018-10-11 06:26:02)
> > On Thu, Oct 11, 2018 at 12:00:46AM -0700, Stephen Boyd wrote:
> > > Quoting Charles Keepax (2018-10-08 06:25:40)
> > > > +struct lochnagar_clk_priv {
> > > > +       struct device *dev;
> > > > +       struct lochnagar *lochnagar;
> > > 
> > > Is this used for anything besides getting the regmap? Can you get the
> > > pointer to the parent in probe and use that to get the regmap pointer
> > > from dev_get_remap() and also use the of_node of the parent to register
> > > a clk provider? It would be nice to avoid including the mfd header file
> > > unless it's providing something useful.
> > > 
> > 
> > It is also used to find out which type of Lochnagar we have
> > connected, which determines which clocks we should register. I
> 
> Can that be done through some device ID? So the driver can be untangled
> from the MFD part.
> 
> > could perhaps pass that using another mechanism but we would
> > still want to include the MFD stuff to get the register
> > definitions. So this approach seems simplest.
> 
> Can the register definitions be moved to this clk driver?
> 
> Maybe you now get the hint, but I'd really like to be able to merge and
> compile the clk driver all by itself without relying on the parent MFD
> device to provide anything at compile time.
> 

If you feel strongly but since the MFD needs to hold the regmap
(which needs to define the read/volatile regs and defaults)
these will need to be duplicate defines and personally i would
rather only have one copy as it makes updating things much less
error prone.

> > > > +       if (lclk->regmap.dir_mask) {
> > > > +               ret = regmap_update_bits(regmap, lclk->regmap.cfg_reg,
> > > > +                                        lclk->regmap.dir_mask,
> > > > +                                        lclk->regmap.dir_mask);
> > > > +               if (ret < 0) {
> > > > +                       dev_err(priv->dev, "Failed to set %s direction: %d\n",
> > > 
> > > What does direction mean?
> > > 
> > 
> > Some of the clocks can both generate and receive a clock. For
> > example the PSIA (external audio interface) MCLKs, the attached
> > device could be expecting or providing a master audio clock. If
> > the user assigns a parent to the clock we assume the attached
> > device is providing a clock to us, otherwise we assume we are
> > providing the clock.
> 
> And this directionality is determined by dir_mask? It would be great if
> this sort of information was in the commit text or in a comment in the
> driver so we know what's going on here.
> 

No problem will make this more clear.

Thanks,
Charles

WARNING: multiple messages have this Message-ID (diff)
From: Charles Keepax <ckeepax@opensource.cirrus.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: broonie@kernel.org, lee.jones@linaro.org,
	linus.walleij@linaro.org, mturquette@baylibre.com,
	robh+dt@kernel.org, mark.rutland@arm.com, lgirdwood@gmail.com,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	patches@opensource.cirrus.com, linux-clk@vger.kernel.org,
	linux-gpio@vger.kernel.org
Subject: Re: [PATCH v2 3/5] clk: lochnagar: Add support for the Cirrus Logic Lochnagar
Date: Mon, 15 Oct 2018 11:49:05 +0100	[thread overview]
Message-ID: <20181015104905.GF1653@imbe.wolfsonmicro.main> (raw)
In-Reply-To: <153935999691.5275.1587207165396958375@swboyd.mtv.corp.google.com>

On Fri, Oct 12, 2018 at 08:59:56AM -0700, Stephen Boyd wrote:
> Quoting Charles Keepax (2018-10-11 06:26:02)
> > On Thu, Oct 11, 2018 at 12:00:46AM -0700, Stephen Boyd wrote:
> > > Quoting Charles Keepax (2018-10-08 06:25:40)
> > > > +struct lochnagar_clk_priv {
> > > > +       struct device *dev;
> > > > +       struct lochnagar *lochnagar;
> > > 
> > > Is this used for anything besides getting the regmap? Can you get the
> > > pointer to the parent in probe and use that to get the regmap pointer
> > > from dev_get_remap() and also use the of_node of the parent to register
> > > a clk provider? It would be nice to avoid including the mfd header file
> > > unless it's providing something useful.
> > > 
> > 
> > It is also used to find out which type of Lochnagar we have
> > connected, which determines which clocks we should register. I
> 
> Can that be done through some device ID? So the driver can be untangled
> from the MFD part.
> 
> > could perhaps pass that using another mechanism but we would
> > still want to include the MFD stuff to get the register
> > definitions. So this approach seems simplest.
> 
> Can the register definitions be moved to this clk driver?
> 
> Maybe you now get the hint, but I'd really like to be able to merge and
> compile the clk driver all by itself without relying on the parent MFD
> device to provide anything at compile time.
> 

If you feel strongly but since the MFD needs to hold the regmap
(which needs to define the read/volatile regs and defaults)
these will need to be duplicate defines and personally i would
rather only have one copy as it makes updating things much less
error prone.

> > > > +       if (lclk->regmap.dir_mask) {
> > > > +               ret = regmap_update_bits(regmap, lclk->regmap.cfg_reg,
> > > > +                                        lclk->regmap.dir_mask,
> > > > +                                        lclk->regmap.dir_mask);
> > > > +               if (ret < 0) {
> > > > +                       dev_err(priv->dev, "Failed to set %s direction: %d\n",
> > > 
> > > What does direction mean?
> > > 
> > 
> > Some of the clocks can both generate and receive a clock. For
> > example the PSIA (external audio interface) MCLKs, the attached
> > device could be expecting or providing a master audio clock. If
> > the user assigns a parent to the clock we assume the attached
> > device is providing a clock to us, otherwise we assume we are
> > providing the clock.
> 
> And this directionality is determined by dir_mask? It would be great if
> this sort of information was in the commit text or in a comment in the
> driver so we know what's going on here.
> 

No problem will make this more clear.

Thanks,
Charles

  reply	other threads:[~2018-10-15 10:49 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-08 13:25 [PATCH v2 1/5] mfd: lochnagar: Add initial binding documentation Charles Keepax
2018-10-08 13:25 ` Charles Keepax
2018-10-08 13:25 ` [PATCH v2 2/5] mfd: lochnagar: Add support for the Cirrus Logic Lochnagar Charles Keepax
2018-10-08 13:25   ` Charles Keepax
2018-10-25  7:44   ` Lee Jones
2018-10-25  8:26     ` Charles Keepax
2018-10-25  8:26       ` Charles Keepax
2018-10-25  9:28       ` Richard Fitzgerald
2018-10-25  9:28         ` Richard Fitzgerald
2018-10-25 10:12         ` Mark Brown
2018-10-25 10:56           ` Charles Keepax
2018-10-25 10:56             ` Charles Keepax
2018-10-25 11:42         ` Lee Jones
2018-10-25 12:49           ` Charles Keepax
2018-10-25 12:49             ` Charles Keepax
2018-10-25 13:20             ` Charles Keepax
2018-10-25 13:20               ` Charles Keepax
2018-10-25 13:47               ` Richard Fitzgerald
2018-10-25 13:47                 ` Richard Fitzgerald
2018-10-26 15:49                 ` Mark Brown
2018-10-26  7:33             ` Lee Jones
2018-10-26 15:47             ` Mark Brown
2018-10-25 13:40           ` Richard Fitzgerald
2018-10-25 13:40             ` Richard Fitzgerald
2018-10-26  8:00             ` Lee Jones
2018-10-26 20:32               ` Mark Brown
2018-10-29 11:04                 ` Lee Jones
2018-10-29 11:52                   ` Richard Fitzgerald
2018-10-29 11:52                     ` Richard Fitzgerald
2018-10-29 12:36                   ` Richard Fitzgerald
2018-10-29 12:36                     ` Richard Fitzgerald
2018-10-29 12:57                   ` Mark Brown
2018-11-01 10:28                   ` Charles Keepax
2018-11-01 10:28                     ` Charles Keepax
2018-11-01 11:40                     ` Richard Fitzgerald
2018-11-01 11:40                       ` Richard Fitzgerald
2018-11-01 12:04                       ` Mark Brown
2018-11-01 12:01                     ` Mark Brown
2018-11-01 14:17                     ` Richard Fitzgerald
2018-11-01 14:17                       ` Richard Fitzgerald
2018-10-08 13:25 ` [PATCH v2 3/5] clk: " Charles Keepax
2018-10-08 13:25   ` Charles Keepax
2018-10-11  7:00   ` Stephen Boyd
2018-10-11 13:26     ` Charles Keepax
2018-10-11 13:26       ` Charles Keepax
2018-10-12 15:59       ` Stephen Boyd
2018-10-15 10:49         ` Charles Keepax [this message]
2018-10-15 10:49           ` Charles Keepax
2018-10-15 16:39           ` Stephen Boyd
2018-10-15 16:55             ` Mark Brown
2018-10-15 21:53               ` Stephen Boyd
2018-10-11 14:54     ` Mark Brown
2018-10-11 19:36       ` Stephen Boyd
2018-10-12 16:52         ` Mark Brown
2018-10-08 13:25 ` [PATCH v2 4/5] regulator: " Charles Keepax
2018-10-08 13:25   ` Charles Keepax
2018-10-08 13:25 ` [PATCH v2 5/5] pinctrl: " Charles Keepax
2018-10-08 13:25   ` Charles Keepax
2018-10-12 22:08 ` [PATCH v2 1/5] mfd: lochnagar: Add initial binding documentation Rob Herring

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=20181015104905.GF1653@imbe.wolfsonmicro.main \
    --to=ckeepax@opensource.cirrus.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lee.jones@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mturquette@baylibre.com \
    --cc=patches@opensource.cirrus.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@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.