clk: tegra: Add peripheral clock registration helper
authorThierry Reding <treding@nvidia.com>
Wed, 30 Aug 2017 10:11:53 +0000 (12:11 +0200)
committerThierry Reding <treding@nvidia.com>
Thu, 19 Oct 2017 14:38:40 +0000 (16:38 +0200)
There is a common pattern that registers individual peripheral clocks
from an initialization table. Add a common implementation to remove the
duplication from various call sites.

Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/clk/tegra/clk-periph.c
drivers/clk/tegra/clk.h

index cf80831..9475c00 100644 (file)
@@ -203,3 +203,11 @@ struct clk *tegra_clk_register_periph_nodiv(const char *name,
        return _tegra_clk_register_periph(name, parent_names, num_parents,
                        periph, clk_base, offset, CLK_SET_RATE_PARENT);
 }
+
+struct clk *tegra_clk_register_periph_data(void __iomem *clk_base,
+                                          struct tegra_periph_init_data *init)
+{
+       return _tegra_clk_register_periph(init->name, init->p.parent_names,
+                                         init->num_parents, &init->periph,
+                                         clk_base, init->offset, init->flags);
+}
index 872f118..3b2763d 100644 (file)
@@ -662,6 +662,9 @@ struct tegra_periph_init_data {
                        _clk_num, _gate_flags, _clk_id,\
                        NULL, 0, NULL)
 
+struct clk *tegra_clk_register_periph_data(void __iomem *clk_base,
+                                          struct tegra_periph_init_data *init);
+
 /**
  * struct clk_super_mux - super clock
  *