Re: [PATCH v2] clk: tegra: Add BPMP clock driver
From: Stephen Boyd <hidden>
Date: 2017-02-06 22:52:24
Also in:
linux-clk
On 02/06, Thierry Reding wrote:
On Fri, Feb 03, 2017 at 12:43:02PM -0800, Stephen Boyd wrote:quoted
On 01/25, Thierry Reding wrote:quoted
On Thu, Nov 17, 2016 at 04:47:31PM +0100, Thierry Reding wrote:quoted
From: Thierry Reding <redacted> 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 <redacted> --- 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.cStephen, 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.
quoted
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. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project