From: Thierry Reding <thierry.reding@gmail.com>
To: Stephen Boyd <sboyd@codeaurora.org>
Cc: Michael Turquette <mturquette@baylibre.com>,
Stephen Warren <swarren@wwwdotorg.org>,
Alexandre Courbot <gnurou@gmail.com>,
Jon Hunter <jonathanh@nvidia.com>,
linux-clk@vger.kernel.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH v2] clk: tegra: Add BPMP clock driver
Date: Tue, 7 Feb 2017 11:52:40 +0100 [thread overview]
Message-ID: <20170207105240.GA29507@ulmo.ba.sec> (raw)
In-Reply-To: <20170206225224.GI25384@codeaurora.org>
[-- Attachment #1: Type: text/plain, Size: 4034 bytes --]
On Mon, Feb 06, 2017 at 02:52:24PM -0800, Stephen Boyd wrote:
> On 02/06, Thierry Reding wrote:
> > On Fri, Feb 03, 2017 at 12:43:02PM -0800, Stephen Boyd wrote:
> > > On 01/25, Thierry Reding wrote:
> > > > On Thu, Nov 17, 2016 at 04:47:31PM +0100, Thierry Reding wrote:
> > > > > From: Thierry Reding <treding@nvidia.com>
> > > > >
> > > > > This driver uses the services provided by the BPMP firmware driver to
> > > > > implement a clock driver based on the MRQ_CLK request. This part of the
> > > > > BPMP ABI provides a means to enumerate and control clocks and should
> > > > > allow the driver to work on any chip that supports this ABI.
> > > > >
> > > > > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > > > > ---
> > > > > Changes in v2:
> > > > > - rename ->prepare() and ->unprepare() implementations for consistency
> > > > > - implement ->is_prepared() instead of ->is_enabled() to avoid the need
> > > > > for atomic operations
> > > > > - rename tegra_bpmp_clk_message.clk member to id
> > > > > - remove a double semi-colon and a stray ampersand
> > > > > - drop extra check for validity of parent index, the core does it
> > > > > already
> > > > > - make struct tegra_bpmp carry an array of struct tegra_bpmp_clk instead
> > > > > of struct clk_hw to simplify some driver code
> > > > > - zero out struct clk_init_data to avoid potentially uninitialized data
> > > > > - use devm_clk_hw_register() instead of clk_register() because we never
> > > > > need the opaque struct clk cookie
> > > > > - rearrange functions so that they appear in the order specified by
> > > > > struct clk_ops
> > > > >
> > > > > drivers/clk/tegra/Kconfig | 4 +
> > > > > drivers/clk/tegra/Makefile | 1 +
> > > > > drivers/clk/tegra/clk-bpmp.c | 620 +++++++++++++++++++++++++++++++++++++++++++
> > > > > 3 files changed, 625 insertions(+)
> > > > > create mode 100644 drivers/clk/tegra/clk-bpmp.c
> > > >
> > > > Stephen, Mike,
> > > >
> > > > we missed the last merge window with this, but it would be nice to get
> > > > it in this time. Any more comments?
> > > >
> > >
> > > Don't think so. Shall I merge it into clk-next?
> >
> > Yeah, let me know if you do, then I can drop it from the Tegra tree.
>
> Ok. I've applied it to clk-next now.
>
> >
> > > Sadly it's not easy to test compile this single driver on the
> > > commandline. Grumble.
> >
> > Any way I could help with that? I did put this into the Tegra tree a
> > while ago after not getting any further responses to at least get it
> > some broader build coverage.
> >
> > I personally use a set of scripts to make sure the proper drivers are
> > compiled. If you can provide information about what you use, perhaps I
> > can work with you to make this easier for you.
>
> Ideally I'd like to compile the driver with
>
> make drivers/clk/tegra/clk-bmpm.o
>
> and have that just work. To do so, I have to make sure my config
> has the right settings, which is the annoying part. If it wasn't
> one-off APIs with #ifdefs to make things compile out when configs
> aren't set it would work better.
>
> Similar problems happen for I2C drivers. I should probably just
> put the work into making a script figure out the right config to
> compile a file or something. If you have a good solution here it
> would be great if I could incorporate it into my flow.
A while back I had written about the setup that I use for the PWM and
DRM subsystems. It doesn't have anything magic to figure out how to
build a certain file, so some manual effort will be required to come
up with a good configuration, but I think there's a nice balance
between flexibility and automation:
https://sietch-tagr.blogspot.de/2016/03/compile-testing-for-linux-kernel.html
There's a couple of links to earlier blog posts and a github repository
with the scripts and configurations. I suspect it would be fairly easy
to do the same thing for the clock tree.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Cc: Michael Turquette
<mturquette-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>,
Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
Alexandre Courbot
<gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Jon Hunter <jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v2] clk: tegra: Add BPMP clock driver
Date: Tue, 7 Feb 2017 11:52:40 +0100 [thread overview]
Message-ID: <20170207105240.GA29507@ulmo.ba.sec> (raw)
In-Reply-To: <20170206225224.GI25384-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 4092 bytes --]
On Mon, Feb 06, 2017 at 02:52:24PM -0800, Stephen Boyd wrote:
> On 02/06, Thierry Reding wrote:
> > On Fri, Feb 03, 2017 at 12:43:02PM -0800, Stephen Boyd wrote:
> > > On 01/25, Thierry Reding wrote:
> > > > On Thu, Nov 17, 2016 at 04:47:31PM +0100, Thierry Reding wrote:
> > > > > From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> > > > >
> > > > > This driver uses the services provided by the BPMP firmware driver to
> > > > > implement a clock driver based on the MRQ_CLK request. This part of the
> > > > > BPMP ABI provides a means to enumerate and control clocks and should
> > > > > allow the driver to work on any chip that supports this ABI.
> > > > >
> > > > > Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> > > > > ---
> > > > > Changes in v2:
> > > > > - rename ->prepare() and ->unprepare() implementations for consistency
> > > > > - implement ->is_prepared() instead of ->is_enabled() to avoid the need
> > > > > for atomic operations
> > > > > - rename tegra_bpmp_clk_message.clk member to id
> > > > > - remove a double semi-colon and a stray ampersand
> > > > > - drop extra check for validity of parent index, the core does it
> > > > > already
> > > > > - make struct tegra_bpmp carry an array of struct tegra_bpmp_clk instead
> > > > > of struct clk_hw to simplify some driver code
> > > > > - zero out struct clk_init_data to avoid potentially uninitialized data
> > > > > - use devm_clk_hw_register() instead of clk_register() because we never
> > > > > need the opaque struct clk cookie
> > > > > - rearrange functions so that they appear in the order specified by
> > > > > struct clk_ops
> > > > >
> > > > > drivers/clk/tegra/Kconfig | 4 +
> > > > > drivers/clk/tegra/Makefile | 1 +
> > > > > drivers/clk/tegra/clk-bpmp.c | 620 +++++++++++++++++++++++++++++++++++++++++++
> > > > > 3 files changed, 625 insertions(+)
> > > > > create mode 100644 drivers/clk/tegra/clk-bpmp.c
> > > >
> > > > Stephen, Mike,
> > > >
> > > > we missed the last merge window with this, but it would be nice to get
> > > > it in this time. Any more comments?
> > > >
> > >
> > > Don't think so. Shall I merge it into clk-next?
> >
> > Yeah, let me know if you do, then I can drop it from the Tegra tree.
>
> Ok. I've applied it to clk-next now.
>
> >
> > > Sadly it's not easy to test compile this single driver on the
> > > commandline. Grumble.
> >
> > Any way I could help with that? I did put this into the Tegra tree a
> > while ago after not getting any further responses to at least get it
> > some broader build coverage.
> >
> > I personally use a set of scripts to make sure the proper drivers are
> > compiled. If you can provide information about what you use, perhaps I
> > can work with you to make this easier for you.
>
> Ideally I'd like to compile the driver with
>
> make drivers/clk/tegra/clk-bmpm.o
>
> and have that just work. To do so, I have to make sure my config
> has the right settings, which is the annoying part. If it wasn't
> one-off APIs with #ifdefs to make things compile out when configs
> aren't set it would work better.
>
> Similar problems happen for I2C drivers. I should probably just
> put the work into making a script figure out the right config to
> compile a file or something. If you have a good solution here it
> would be great if I could incorporate it into my flow.
A while back I had written about the setup that I use for the PWM and
DRM subsystems. It doesn't have anything magic to figure out how to
build a certain file, so some manual effort will be required to come
up with a good configuration, but I think there's a nice balance
between flexibility and automation:
https://sietch-tagr.blogspot.de/2016/03/compile-testing-for-linux-kernel.html
There's a couple of links to earlier blog posts and a github repository
with the scripts and configurations. I suspect it would be fairly easy
to do the same thing for the clock tree.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2017-02-07 10:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-15 16:11 [PATCH v4] clk: tegra: Add BPMP clock driver Thierry Reding
2016-11-17 1:19 ` Stephen Boyd
2016-11-17 1:19 ` Stephen Boyd
2016-11-17 9:58 ` Thierry Reding
2016-11-17 9:58 ` Thierry Reding
2016-11-17 15:57 ` Thierry Reding
2016-11-17 15:57 ` Thierry Reding
2016-11-17 15:47 ` [PATCH v2] " Thierry Reding
2016-11-17 15:47 ` Thierry Reding
2017-01-25 7:41 ` Thierry Reding
2017-02-03 20:43 ` Stephen Boyd
2017-02-03 20:43 ` Stephen Boyd
2017-02-06 11:13 ` Thierry Reding
2017-02-06 11:13 ` Thierry Reding
2017-02-06 22:52 ` Stephen Boyd
2017-02-06 22:52 ` Stephen Boyd
2017-02-07 10:52 ` Thierry Reding [this message]
2017-02-07 10:52 ` Thierry Reding
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=20170207105240.GA29507@ulmo.ba.sec \
--to=thierry.reding@gmail.com \
--cc=gnurou@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=linux-clk@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=sboyd@codeaurora.org \
--cc=swarren@wwwdotorg.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.