Lines Matching refs:bcm_clk

43 static bool clk_requires_trigger(struct kona_clk *bcm_clk)
45 struct peri_clk_data *peri = bcm_clk->u.peri;
49 if (bcm_clk->type != bcm_clk_peri)
69 static bool peri_clk_data_offsets_valid(struct kona_clk *bcm_clk)
82 BUG_ON(bcm_clk->type != bcm_clk_peri);
83 peri = bcm_clk->u.peri;
84 name = bcm_clk->init_data.name;
85 range = bcm_clk->ccu->range;
360 static bool kona_dividers_valid(struct kona_clk *bcm_clk)
362 struct peri_clk_data *peri = bcm_clk->u.peri;
367 BUG_ON(bcm_clk->type != bcm_clk_peri);
392 peri_clk_data_valid(struct kona_clk *bcm_clk)
404 BUG_ON(bcm_clk->type != bcm_clk_peri);
411 if (!peri_clk_data_offsets_valid(bcm_clk))
414 peri = bcm_clk->u.peri;
415 name = bcm_clk->init_data.name;
466 if (!clk_requires_trigger(bcm_clk)) {
475 } else if (clk_requires_trigger(bcm_clk)) {
481 return kona_dividers_valid(bcm_clk);
484 static bool kona_clk_valid(struct kona_clk *bcm_clk)
486 switch (bcm_clk->type) {
488 if (!peri_clk_data_valid(bcm_clk))
493 (int)bcm_clk->type);
673 static void bcm_clk_teardown(struct kona_clk *bcm_clk)
675 switch (bcm_clk->type) {
677 peri_clk_teardown(bcm_clk->u.data, &bcm_clk->init_data);
682 bcm_clk->u.data = NULL;
683 bcm_clk->type = bcm_clk_none;
688 struct kona_clk *bcm_clk;
695 bcm_clk = to_kona_clk(hw);
696 bcm_clk_teardown(bcm_clk);
699 static int kona_clk_setup(struct kona_clk *bcm_clk)
702 struct clk_init_data *init_data = &bcm_clk->init_data;
704 switch (bcm_clk->type) {
706 ret = peri_clk_setup(bcm_clk->u.data, init_data);
712 (int)bcm_clk->type, init_data->name);
717 if (!kona_clk_valid(bcm_clk)) {
724 bcm_clk->hw.init = init_data;
725 ret = clk_hw_register(NULL, &bcm_clk->hw);
734 bcm_clk_teardown(bcm_clk);