Loading drivers/clk/ti/clkctrl.c +22 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ static bool _early_timeout = true; struct omap_clkctrl_provider { void __iomem *base; struct list_head clocks; char *clkdm_name; }; struct omap_clkctrl_clk { Loading Loading @@ -208,6 +209,7 @@ static const struct clk_ops omap4_clkctrl_clk_ops = { .enable = _omap4_clkctrl_clk_enable, .disable = _omap4_clkctrl_clk_disable, .is_enabled = _omap4_clkctrl_clk_is_enabled, .init = omap2_init_clk_clkdm, }; static struct clk_hw *_ti_omap4_clkctrl_xlate(struct of_phandle_args *clkspec, Loading Loading @@ -438,6 +440,21 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) provider->base = of_iomap(node, 0); provider->clkdm_name = kmalloc(strlen(node->parent->name) + 3, GFP_KERNEL); if (!provider->clkdm_name) { kfree(provider); return; } /* * Create default clkdm name, replace _cm from end of parent node * name with _clkdm */ strcpy(provider->clkdm_name, node->parent->name); provider->clkdm_name[strlen(provider->clkdm_name) - 2] = 0; strcat(provider->clkdm_name, "clkdm"); INIT_LIST_HEAD(&provider->clocks); /* Generate clocks */ Loading @@ -460,6 +477,11 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) if (reg_data->flags & CLKF_NO_IDLEST) hw->flags |= NO_IDLEST; if (reg_data->clkdm_name) hw->clkdm_name = reg_data->clkdm_name; else hw->clkdm_name = provider->clkdm_name; init.parent_names = ®_data->parent; init.num_parents = 1; init.flags = 0; Loading drivers/clk/ti/clock.h +1 −0 Original line number Diff line number Diff line Loading @@ -221,6 +221,7 @@ struct omap_clkctrl_reg_data { const struct omap_clkctrl_bit_data *bit_data; u16 flags; const char *parent; const char *clkdm_name; }; struct omap_clkctrl_data { Loading Loading
drivers/clk/ti/clkctrl.c +22 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ static bool _early_timeout = true; struct omap_clkctrl_provider { void __iomem *base; struct list_head clocks; char *clkdm_name; }; struct omap_clkctrl_clk { Loading Loading @@ -208,6 +209,7 @@ static const struct clk_ops omap4_clkctrl_clk_ops = { .enable = _omap4_clkctrl_clk_enable, .disable = _omap4_clkctrl_clk_disable, .is_enabled = _omap4_clkctrl_clk_is_enabled, .init = omap2_init_clk_clkdm, }; static struct clk_hw *_ti_omap4_clkctrl_xlate(struct of_phandle_args *clkspec, Loading Loading @@ -438,6 +440,21 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) provider->base = of_iomap(node, 0); provider->clkdm_name = kmalloc(strlen(node->parent->name) + 3, GFP_KERNEL); if (!provider->clkdm_name) { kfree(provider); return; } /* * Create default clkdm name, replace _cm from end of parent node * name with _clkdm */ strcpy(provider->clkdm_name, node->parent->name); provider->clkdm_name[strlen(provider->clkdm_name) - 2] = 0; strcat(provider->clkdm_name, "clkdm"); INIT_LIST_HEAD(&provider->clocks); /* Generate clocks */ Loading @@ -460,6 +477,11 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) if (reg_data->flags & CLKF_NO_IDLEST) hw->flags |= NO_IDLEST; if (reg_data->clkdm_name) hw->clkdm_name = reg_data->clkdm_name; else hw->clkdm_name = provider->clkdm_name; init.parent_names = ®_data->parent; init.num_parents = 1; init.flags = 0; Loading
drivers/clk/ti/clock.h +1 −0 Original line number Diff line number Diff line Loading @@ -221,6 +221,7 @@ struct omap_clkctrl_reg_data { const struct omap_clkctrl_bit_data *bit_data; u16 flags; const char *parent; const char *clkdm_name; }; struct omap_clkctrl_data { Loading