|
@@ -298,9 +298,10 @@ static u8 dmn_clk_get_parent(struct clk_hw *hw)
|
|
|
{
|
|
{
|
|
|
struct clk_dmn *clk = to_dmnclk(hw);
|
|
struct clk_dmn *clk = to_dmnclk(hw);
|
|
|
u32 cfg = clkc_readl(clk->regofs);
|
|
u32 cfg = clkc_readl(clk->regofs);
|
|
|
|
|
+ const char *name = clk_hw_get_name(hw);
|
|
|
|
|
|
|
|
/* parent of io domain can only be pll3 */
|
|
/* parent of io domain can only be pll3 */
|
|
|
- if (strcmp(hw->init->name, "io") == 0)
|
|
|
|
|
|
|
+ if (strcmp(name, "io") == 0)
|
|
|
return 4;
|
|
return 4;
|
|
|
|
|
|
|
|
WARN_ON((cfg & (BIT(3) - 1)) > 4);
|
|
WARN_ON((cfg & (BIT(3) - 1)) > 4);
|
|
@@ -312,9 +313,10 @@ static int dmn_clk_set_parent(struct clk_hw *hw, u8 parent)
|
|
|
{
|
|
{
|
|
|
struct clk_dmn *clk = to_dmnclk(hw);
|
|
struct clk_dmn *clk = to_dmnclk(hw);
|
|
|
u32 cfg = clkc_readl(clk->regofs);
|
|
u32 cfg = clkc_readl(clk->regofs);
|
|
|
|
|
+ const char *name = clk_hw_get_name(hw);
|
|
|
|
|
|
|
|
/* parent of io domain can only be pll3 */
|
|
/* parent of io domain can only be pll3 */
|
|
|
- if (strcmp(hw->init->name, "io") == 0)
|
|
|
|
|
|
|
+ if (strcmp(name, "io") == 0)
|
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
|
|
cfg &= ~(BIT(3) - 1);
|
|
cfg &= ~(BIT(3) - 1);
|
|
@@ -354,7 +356,8 @@ static long dmn_clk_round_rate(struct clk_hw *hw, unsigned long rate,
|
|
|
{
|
|
{
|
|
|
unsigned long fin;
|
|
unsigned long fin;
|
|
|
unsigned ratio, wait, hold;
|
|
unsigned ratio, wait, hold;
|
|
|
- unsigned bits = (strcmp(hw->init->name, "mem") == 0) ? 3 : 4;
|
|
|
|
|
|
|
+ const char *name = clk_hw_get_name(hw);
|
|
|
|
|
+ unsigned bits = (strcmp(name, "mem") == 0) ? 3 : 4;
|
|
|
|
|
|
|
|
fin = *parent_rate;
|
|
fin = *parent_rate;
|
|
|
ratio = fin / rate;
|
|
ratio = fin / rate;
|
|
@@ -376,7 +379,8 @@ static int dmn_clk_set_rate(struct clk_hw *hw, unsigned long rate,
|
|
|
struct clk_dmn *clk = to_dmnclk(hw);
|
|
struct clk_dmn *clk = to_dmnclk(hw);
|
|
|
unsigned long fin;
|
|
unsigned long fin;
|
|
|
unsigned ratio, wait, hold, reg;
|
|
unsigned ratio, wait, hold, reg;
|
|
|
- unsigned bits = (strcmp(hw->init->name, "mem") == 0) ? 3 : 4;
|
|
|
|
|
|
|
+ const char *name = clk_hw_get_name(hw);
|
|
|
|
|
+ unsigned bits = (strcmp(name, "mem") == 0) ? 3 : 4;
|
|
|
|
|
|
|
|
fin = parent_rate;
|
|
fin = parent_rate;
|
|
|
ratio = fin / rate;
|
|
ratio = fin / rate;
|