aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/bcm
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2014-04-21 17:11:38 -0400
committerMike Turquette <mturquette@linaro.org>2014-04-30 14:51:30 -0400
commite756325206ebf284d00410077ea43eb53de8e9bf (patch)
tree83a457f304e8f2ec9b3e5f998ff10545bb28c8fc /drivers/clk/bcm
parent4bac65ca7d86b7e219138706e9f687753ccbfee9 (diff)
clk: bcm281xx: use init_data.name for clock name
Use the init_data.name field to hold the name of a Kona clock rather than duplicating it. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Mike Turquette <mturquette@linaro.org>
Diffstat (limited to 'drivers/clk/bcm')
-rw-r--r--drivers/clk/bcm/clk-kona-setup.c6
-rw-r--r--drivers/clk/bcm/clk-kona.c17
-rw-r--r--drivers/clk/bcm/clk-kona.h3
3 files changed, 14 insertions, 12 deletions
diff --git a/drivers/clk/bcm/clk-kona-setup.c b/drivers/clk/bcm/clk-kona-setup.c
index 54a06526f64f..9e7a9c11c951 100644
--- a/drivers/clk/bcm/clk-kona-setup.c
+++ b/drivers/clk/bcm/clk-kona-setup.c
@@ -64,7 +64,7 @@ static bool peri_clk_data_offsets_valid(struct kona_clk *bcm_clk)
64 64
65 BUG_ON(bcm_clk->type != bcm_clk_peri); 65 BUG_ON(bcm_clk->type != bcm_clk_peri);
66 peri = bcm_clk->u.peri; 66 peri = bcm_clk->u.peri;
67 name = bcm_clk->name; 67 name = bcm_clk->init_data.name;
68 range = bcm_clk->ccu->range; 68 range = bcm_clk->ccu->range;
69 69
70 limit = range - sizeof(u32); 70 limit = range - sizeof(u32);
@@ -330,7 +330,7 @@ peri_clk_data_valid(struct kona_clk *bcm_clk)
330 return false; 330 return false;
331 331
332 peri = bcm_clk->u.peri; 332 peri = bcm_clk->u.peri;
333 name = bcm_clk->name; 333 name = bcm_clk->init_data.name;
334 gate = &peri->gate; 334 gate = &peri->gate;
335 if (gate_exists(gate) && !gate_valid(gate, "gate", name)) 335 if (gate_exists(gate) && !gate_valid(gate, "gate", name))
336 return false; 336 return false;
@@ -631,7 +631,7 @@ struct clk *kona_clk_setup(struct ccu_data *ccu, const char *name,
631 return NULL; 631 return NULL;
632 } 632 }
633 bcm_clk->ccu = ccu; 633 bcm_clk->ccu = ccu;
634 bcm_clk->name = name; 634 bcm_clk->init_data.name = name;
635 635
636 init_data = &bcm_clk->init_data; 636 init_data = &bcm_clk->init_data;
637 init_data->name = name; 637 init_data->name = name;
diff --git a/drivers/clk/bcm/clk-kona.c b/drivers/clk/bcm/clk-kona.c
index 4b4e35aeb778..bf0b70e87014 100644
--- a/drivers/clk/bcm/clk-kona.c
+++ b/drivers/clk/bcm/clk-kona.c
@@ -809,7 +809,7 @@ static int kona_peri_clk_enable(struct clk_hw *hw)
809 struct kona_clk *bcm_clk = to_kona_clk(hw); 809 struct kona_clk *bcm_clk = to_kona_clk(hw);
810 struct bcm_clk_gate *gate = &bcm_clk->u.peri->gate; 810 struct bcm_clk_gate *gate = &bcm_clk->u.peri->gate;
811 811
812 return clk_gate(bcm_clk->ccu, bcm_clk->name, gate, true); 812 return clk_gate(bcm_clk->ccu, bcm_clk->init_data.name, gate, true);
813} 813}
814 814
815static void kona_peri_clk_disable(struct clk_hw *hw) 815static void kona_peri_clk_disable(struct clk_hw *hw)
@@ -817,7 +817,7 @@ static void kona_peri_clk_disable(struct clk_hw *hw)
817 struct kona_clk *bcm_clk = to_kona_clk(hw); 817 struct kona_clk *bcm_clk = to_kona_clk(hw);
818 struct bcm_clk_gate *gate = &bcm_clk->u.peri->gate; 818 struct bcm_clk_gate *gate = &bcm_clk->u.peri->gate;
819 819
820 (void)clk_gate(bcm_clk->ccu, bcm_clk->name, gate, false); 820 (void)clk_gate(bcm_clk->ccu, bcm_clk->init_data.name, gate, false);
821} 821}
822 822
823static int kona_peri_clk_is_enabled(struct clk_hw *hw) 823static int kona_peri_clk_is_enabled(struct clk_hw *hw)
@@ -875,12 +875,13 @@ static int kona_peri_clk_set_parent(struct clk_hw *hw, u8 index)
875 875
876 ret = selector_write(bcm_clk->ccu, &data->gate, sel, trig, index); 876 ret = selector_write(bcm_clk->ccu, &data->gate, sel, trig, index);
877 if (ret == -ENXIO) { 877 if (ret == -ENXIO) {
878 pr_err("%s: gating failure for %s\n", __func__, bcm_clk->name); 878 pr_err("%s: gating failure for %s\n", __func__,
879 bcm_clk->init_data.name);
879 ret = -EIO; /* Don't proliferate weird errors */ 880 ret = -EIO; /* Don't proliferate weird errors */
880 } else if (ret == -EIO) { 881 } else if (ret == -EIO) {
881 pr_err("%s: %strigger failed for %s\n", __func__, 882 pr_err("%s: %strigger failed for %s\n", __func__,
882 trig == &data->pre_trig ? "pre-" : "", 883 trig == &data->pre_trig ? "pre-" : "",
883 bcm_clk->name); 884 bcm_clk->init_data.name);
884 } 885 }
885 886
886 return ret; 887 return ret;
@@ -939,10 +940,12 @@ static int kona_peri_clk_set_rate(struct clk_hw *hw, unsigned long rate,
939 ret = divider_write(bcm_clk->ccu, &data->gate, &data->div, 940 ret = divider_write(bcm_clk->ccu, &data->gate, &data->div,
940 &data->trig, scaled_div); 941 &data->trig, scaled_div);
941 if (ret == -ENXIO) { 942 if (ret == -ENXIO) {
942 pr_err("%s: gating failure for %s\n", __func__, bcm_clk->name); 943 pr_err("%s: gating failure for %s\n", __func__,
944 bcm_clk->init_data.name);
943 ret = -EIO; /* Don't proliferate weird errors */ 945 ret = -EIO; /* Don't proliferate weird errors */
944 } else if (ret == -EIO) { 946 } else if (ret == -EIO) {
945 pr_err("%s: trigger failed for %s\n", __func__, bcm_clk->name); 947 pr_err("%s: trigger failed for %s\n", __func__,
948 bcm_clk->init_data.name);
946 } 949 }
947 950
948 return ret; 951 return ret;
@@ -964,7 +967,7 @@ static bool __peri_clk_init(struct kona_clk *bcm_clk)
964{ 967{
965 struct ccu_data *ccu = bcm_clk->ccu; 968 struct ccu_data *ccu = bcm_clk->ccu;
966 struct peri_clk_data *peri = bcm_clk->u.peri; 969 struct peri_clk_data *peri = bcm_clk->u.peri;
967 const char *name = bcm_clk->name; 970 const char *name = bcm_clk->init_data.name;
968 struct bcm_clk_trig *trig; 971 struct bcm_clk_trig *trig;
969 972
970 BUG_ON(bcm_clk->type != bcm_clk_peri); 973 BUG_ON(bcm_clk->type != bcm_clk_peri);
diff --git a/drivers/clk/bcm/clk-kona.h b/drivers/clk/bcm/clk-kona.h
index dee690951bb6..1a7eba4ac33a 100644
--- a/drivers/clk/bcm/clk-kona.h
+++ b/drivers/clk/bcm/clk-kona.h
@@ -373,8 +373,7 @@ struct peri_clk_data {
373 373
374struct kona_clk { 374struct kona_clk {
375 struct clk_hw hw; 375 struct clk_hw hw;
376 struct clk_init_data init_data; 376 struct clk_init_data init_data; /* includes name of this clock */
377 const char *name; /* name of this clock */
378 struct ccu_data *ccu; /* ccu this clock is associated with */ 377 struct ccu_data *ccu; /* ccu this clock is associated with */
379 enum bcm_clk_type type; 378 enum bcm_clk_type type;
380 union { 379 union {