diff for duplicates of <1496050533.7514.9.camel@baylibre.com> diff --git a/a/1.txt b/N1/1.txt index 0612e9a..42212ce 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -18,8 +18,8 @@ Noted, I'll base the v3 on top of this branch > Mike > > > --- -> > ?drivers/clk/clk.c | 39 ++++++++++++++++++--------------------- -> > ?1 file changed, 18 insertions(+), 21 deletions(-) +> > drivers/clk/clk.c | 39 ++++++++++++++++++--------------------- +> > 1 file changed, 18 insertions(+), 21 deletions(-) > > > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > > index fc58c52a26b4..f5c371532509 100644 @@ -27,107 +27,107 @@ Noted, I'll base the v3 on top of this branch > > +++ b/drivers/clk/clk.c > > @@ -1787,7 +1787,8 @@ bool clk_has_parent(struct clk *clk, struct clk > > *parent) -> > ?} -> > ?EXPORT_SYMBOL_GPL(clk_has_parent); -> > ? +> > } +> > EXPORT_SYMBOL_GPL(clk_has_parent); +> > > > -static int clk_core_set_parent(struct clk_core *core, struct clk_core > > *parent) > > +static int clk_core_set_parent_nolock(struct clk_core *core, -> > +?????????????????????????????????????struct clk_core *parent) -> > ?{ -> > ????????int ret = 0; -> > ????????int p_index = 0; +> > + struct clk_core *parent) +> > { +> > int ret = 0; +> > int p_index = 0; > > @@ -1796,23 +1797,16 @@ static int clk_core_set_parent(struct clk_core > > *core, struct clk_core *parent) -> > ????????if (!core) -> > ????????????????return 0; -> > ? -> > -???????/* prevent racing with updates to the clock topology */ -> > -???????clk_prepare_lock(); +> > if (!core) +> > return 0; +> > +> > - /* prevent racing with updates to the clock topology */ +> > - clk_prepare_lock(); > > - -> > ????????if (core->parent == parent) -> > -???????????????goto out; -> > +???????????????return 0; -> > ? -> > ????????/* verify ops for for multi-parent clks */ -> > -???????if ((core->num_parents > 1) && (!core->ops->set_parent)) { -> > -???????????????ret = -ENOSYS; -> > -???????????????goto out; -> > -???????} -> > +???????if ((core->num_parents > 1) && (!core->ops->set_parent)) -> > +???????????????return -ENOSYS; -> > ? -> > ????????/* check that we are allowed to re-parent if the clock is in use */ -> > -???????if ((core->flags & CLK_SET_PARENT_GATE) && core->prepare_count) { -> > -???????????????ret = -EBUSY; -> > -???????????????goto out; -> > -???????} -> > +???????if ((core->flags & CLK_SET_PARENT_GATE) && core->prepare_count) -> > +???????????????return -EBUSY; -> > ? -> > ????????/* try finding the new parent index */ -> > ????????if (parent) { +> > if (core->parent == parent) +> > - goto out; +> > + return 0; +> > +> > /* verify ops for for multi-parent clks */ +> > - if ((core->num_parents > 1) && (!core->ops->set_parent)) { +> > - ret = -ENOSYS; +> > - goto out; +> > - } +> > + if ((core->num_parents > 1) && (!core->ops->set_parent)) +> > + return -ENOSYS; +> > +> > /* check that we are allowed to re-parent if the clock is in use */ +> > - if ((core->flags & CLK_SET_PARENT_GATE) && core->prepare_count) { +> > - ret = -EBUSY; +> > - goto out; +> > - } +> > + if ((core->flags & CLK_SET_PARENT_GATE) && core->prepare_count) +> > + return -EBUSY; +> > +> > /* try finding the new parent index */ +> > if (parent) { > > @@ -1820,8 +1814,7 @@ static int clk_core_set_parent(struct clk_core *core, > > struct clk_core *parent) -> > ????????????????if (p_index < 0) { -> > ????????????????????????pr_debug("%s: clk %s can not be parent of clk %s\n", -> > ????????????????????????????????????????__func__, parent->name, core->name); -> > -???????????????????????ret = p_index; -> > -???????????????????????goto out; -> > +???????????????????????return p_index; -> > ????????????????} -> > ????????????????p_rate = parent->rate; -> > ????????} +> > if (p_index < 0) { +> > pr_debug("%s: clk %s can not be parent of clk %s\n", +> > __func__, parent->name, core->name); +> > - ret = p_index; +> > - goto out; +> > + return p_index; +> > } +> > p_rate = parent->rate; +> > } > > @@ -1831,7 +1824,7 @@ static int clk_core_set_parent(struct clk_core *core, > > struct clk_core *parent) -> > ? -> > ????????/* abort if a driver objects */ -> > ????????if (ret & NOTIFY_STOP_MASK) -> > -???????????????goto out; -> > +???????????????return ret; -> > ? -> > ????????/* do the re-parent */ -> > ????????ret = __clk_set_parent(core, parent, p_index); +> > +> > /* abort if a driver objects */ +> > if (ret & NOTIFY_STOP_MASK) +> > - goto out; +> > + return ret; +> > +> > /* do the re-parent */ +> > ret = __clk_set_parent(core, parent, p_index); > > @@ -1844,9 +1837,6 @@ static int clk_core_set_parent(struct clk_core *core, > > struct clk_core *parent) -> > ????????????????__clk_recalc_accuracies(core); -> > ????????} -> > ? +> > __clk_recalc_accuracies(core); +> > } +> > > > -out: -> > -???????clk_prepare_unlock(); +> > - clk_prepare_unlock(); > > - -> > ????????return ret; -> > ?} -> > ? +> > return ret; +> > } +> > > > @@ -1869,10 +1859,17 @@ static int clk_core_set_parent(struct clk_core > > *core, struct clk_core *parent) -> > ? */ -> > ?int clk_set_parent(struct clk *clk, struct clk *parent) -> > ?{ -> > +???????int ret; +> > */ +> > int clk_set_parent(struct clk *clk, struct clk *parent) +> > { +> > + int ret; > > + -> > ????????if (!clk) -> > ????????????????return 0; -> > ? -> > -???????return clk_core_set_parent(clk->core, parent ? parent->core : NULL); -> > +???????clk_prepare_lock(); -> > +???????ret = clk_core_set_parent_nolock(clk->core, -> > +????????????????????????????????????????parent ? parent->core : NULL); -> > +???????clk_prepare_unlock(); +> > if (!clk) +> > return 0; +> > +> > - return clk_core_set_parent(clk->core, parent ? parent->core : NULL); +> > + clk_prepare_lock(); +> > + ret = clk_core_set_parent_nolock(clk->core, +> > + parent ? parent->core : NULL); +> > + clk_prepare_unlock(); > > + -> > +???????return ret; -> > ?} -> > ?EXPORT_SYMBOL_GPL(clk_set_parent); -> > ? +> > + return ret; +> > } +> > EXPORT_SYMBOL_GPL(clk_set_parent); +> > > > @@ -2753,7 +2750,7 @@ void clk_unregister(struct clk *clk) -> > ????????????????/* Reparent all children to the orphan list. */ -> > ????????????????hlist_for_each_entry_safe(child, t, &clk->core->children, -> > ??????????????????????????????????????????child_node) -> > -???????????????????????clk_core_set_parent(child, NULL); -> > +???????????????????????clk_core_set_parent_nolock(child, NULL); -> > ????????} -> > ? -> > ????????hlist_del_init(&clk->core->child_node); -> > --? +> > /* Reparent all children to the orphan list. */ +> > hlist_for_each_entry_safe(child, t, &clk->core->children, +> > child_node) +> > - clk_core_set_parent(child, NULL); +> > + clk_core_set_parent_nolock(child, NULL); +> > } +> > +> > hlist_del_init(&clk->core->child_node); +> > -- > > 2.9.4 > > diff --git a/a/content_digest b/N1/content_digest index 60db283..66e10fb 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,10 +1,16 @@ "ref\020170521215958.19743-1-jbrunet@baylibre.com\0" "ref\020170521215958.19743-2-jbrunet@baylibre.com\0" "ref\0149573849978.52617.292626696549937056@resonance\0" - "From\0jbrunet@baylibre.com (Jerome Brunet)\0" - "Subject\0[PATCH v2 01/11] clk: take the prepare lock out of clk_core_set_parent\0" + "From\0Jerome Brunet <jbrunet@baylibre.com>\0" + "Subject\0Re: [PATCH v2 01/11] clk: take the prepare lock out of clk_core_set_parent\0" "Date\0Mon, 29 May 2017 11:35:33 +0200\0" - "To\0linus-amlogic@lists.infradead.org\0" + "To\0Michael Turquette <mturquette@baylibre.com>" + Stephen Boyd <sboyd@codeaurora.org> + " Kevin Hilman <khilman@baylibre.com>\0" + "Cc\0linux-clk@vger.kernel.org" + linux-amlogic@lists.infradead.org + Linus Walleij <linus.walleij@linaro.org> + " Boris Brezillon <boris.brezillon@free-electrons.com>\0" "\00:1\0" "b\0" "On Thu, 2017-05-25 at 11:54 -0700, Michael Turquette wrote:\n" @@ -27,8 +33,8 @@ "> Mike\n" "> \n" "> > ---\n" - "> > ?drivers/clk/clk.c | 39 ++++++++++++++++++---------------------\n" - "> > ?1 file changed, 18 insertions(+), 21 deletions(-)\n" + "> > \302\240drivers/clk/clk.c | 39 ++++++++++++++++++---------------------\n" + "> > \302\2401 file changed, 18 insertions(+), 21 deletions(-)\n" "> > \n" "> > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c\n" "> > index fc58c52a26b4..f5c371532509 100644\n" @@ -36,109 +42,109 @@ "> > +++ b/drivers/clk/clk.c\n" "> > @@ -1787,7 +1787,8 @@ bool clk_has_parent(struct clk *clk, struct clk\n" "> > *parent)\n" - "> > ?}\n" - "> > ?EXPORT_SYMBOL_GPL(clk_has_parent);\n" - "> > ?\n" + "> > \302\240}\n" + "> > \302\240EXPORT_SYMBOL_GPL(clk_has_parent);\n" + "> > \302\240\n" "> > -static int clk_core_set_parent(struct clk_core *core, struct clk_core\n" "> > *parent)\n" "> > +static int clk_core_set_parent_nolock(struct clk_core *core,\n" - "> > +?????????????????????????????????????struct clk_core *parent)\n" - "> > ?{\n" - "> > ????????int ret = 0;\n" - "> > ????????int p_index = 0;\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240struct clk_core *parent)\n" + "> > \302\240{\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240int ret = 0;\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240int p_index = 0;\n" "> > @@ -1796,23 +1797,16 @@ static int clk_core_set_parent(struct clk_core\n" "> > *core, struct clk_core *parent)\n" - "> > ????????if (!core)\n" - "> > ????????????????return 0;\n" - "> > ?\n" - "> > -???????/* prevent racing with updates to the clock topology */\n" - "> > -???????clk_prepare_lock();\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (!core)\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return 0;\n" + "> > \302\240\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240/* prevent racing with updates to the clock topology */\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240clk_prepare_lock();\n" "> > -\n" - "> > ????????if (core->parent == parent)\n" - "> > -???????????????goto out;\n" - "> > +???????????????return 0;\n" - "> > ?\n" - "> > ????????/* verify ops for for multi-parent clks */\n" - "> > -???????if ((core->num_parents > 1) && (!core->ops->set_parent)) {\n" - "> > -???????????????ret = -ENOSYS;\n" - "> > -???????????????goto out;\n" - "> > -???????}\n" - "> > +???????if ((core->num_parents > 1) && (!core->ops->set_parent))\n" - "> > +???????????????return -ENOSYS;\n" - "> > ?\n" - "> > ????????/* check that we are allowed to re-parent if the clock is in use */\n" - "> > -???????if ((core->flags & CLK_SET_PARENT_GATE) && core->prepare_count) {\n" - "> > -???????????????ret = -EBUSY;\n" - "> > -???????????????goto out;\n" - "> > -???????}\n" - "> > +???????if ((core->flags & CLK_SET_PARENT_GATE) && core->prepare_count)\n" - "> > +???????????????return -EBUSY;\n" - "> > ?\n" - "> > ????????/* try finding the new parent index */\n" - "> > ????????if (parent) {\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (core->parent == parent)\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240goto out;\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return 0;\n" + "> > \302\240\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240/* verify ops for for multi-parent clks */\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240if ((core->num_parents > 1) && (!core->ops->set_parent)) {\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240ret = -ENOSYS;\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240goto out;\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240}\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240if ((core->num_parents > 1) && (!core->ops->set_parent))\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return -ENOSYS;\n" + "> > \302\240\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240/* check that we are allowed to re-parent if the clock is in use */\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240if ((core->flags & CLK_SET_PARENT_GATE) && core->prepare_count) {\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240ret = -EBUSY;\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240goto out;\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240}\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240if ((core->flags & CLK_SET_PARENT_GATE) && core->prepare_count)\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return -EBUSY;\n" + "> > \302\240\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240/* try finding the new parent index */\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (parent) {\n" "> > @@ -1820,8 +1814,7 @@ static int clk_core_set_parent(struct clk_core *core,\n" "> > struct clk_core *parent)\n" - "> > ????????????????if (p_index < 0) {\n" - "> > ????????????????????????pr_debug(\"%s: clk %s can not be parent of clk %s\\n\",\n" - "> > ????????????????????????????????????????__func__, parent->name, core->name);\n" - "> > -???????????????????????ret = p_index;\n" - "> > -???????????????????????goto out;\n" - "> > +???????????????????????return p_index;\n" - "> > ????????????????}\n" - "> > ????????????????p_rate = parent->rate;\n" - "> > ????????}\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (p_index < 0) {\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240pr_debug(\"%s: clk %s can not be parent of clk %s\\n\",\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240__func__, parent->name, core->name);\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240ret = p_index;\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240goto out;\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return p_index;\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240}\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240p_rate = parent->rate;\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240}\n" "> > @@ -1831,7 +1824,7 @@ static int clk_core_set_parent(struct clk_core *core,\n" "> > struct clk_core *parent)\n" - "> > ?\n" - "> > ????????/* abort if a driver objects */\n" - "> > ????????if (ret & NOTIFY_STOP_MASK)\n" - "> > -???????????????goto out;\n" - "> > +???????????????return ret;\n" - "> > ?\n" - "> > ????????/* do the re-parent */\n" - "> > ????????ret = __clk_set_parent(core, parent, p_index);\n" + "> > \302\240\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240/* abort if a driver objects */\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (ret & NOTIFY_STOP_MASK)\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240goto out;\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return ret;\n" + "> > \302\240\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240/* do the re-parent */\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240ret = __clk_set_parent(core, parent, p_index);\n" "> > @@ -1844,9 +1837,6 @@ static int clk_core_set_parent(struct clk_core *core,\n" "> > struct clk_core *parent)\n" - "> > ????????????????__clk_recalc_accuracies(core);\n" - "> > ????????}\n" - "> > ?\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240__clk_recalc_accuracies(core);\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240}\n" + "> > \302\240\n" "> > -out:\n" - "> > -???????clk_prepare_unlock();\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240clk_prepare_unlock();\n" "> > -\n" - "> > ????????return ret;\n" - "> > ?}\n" - "> > ?\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return ret;\n" + "> > \302\240}\n" + "> > \302\240\n" "> > @@ -1869,10 +1859,17 @@ static int clk_core_set_parent(struct clk_core\n" "> > *core, struct clk_core *parent)\n" - "> > ? */\n" - "> > ?int clk_set_parent(struct clk *clk, struct clk *parent)\n" - "> > ?{\n" - "> > +???????int ret;\n" + "> > \302\240 */\n" + "> > \302\240int clk_set_parent(struct clk *clk, struct clk *parent)\n" + "> > \302\240{\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240int ret;\n" "> > +\n" - "> > ????????if (!clk)\n" - "> > ????????????????return 0;\n" - "> > ?\n" - "> > -???????return clk_core_set_parent(clk->core, parent ? parent->core : NULL);\n" - "> > +???????clk_prepare_lock();\n" - "> > +???????ret = clk_core_set_parent_nolock(clk->core,\n" - "> > +????????????????????????????????????????parent ? parent->core : NULL);\n" - "> > +???????clk_prepare_unlock();\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (!clk)\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return 0;\n" + "> > \302\240\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240return clk_core_set_parent(clk->core, parent ? parent->core : NULL);\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240clk_prepare_lock();\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240ret = clk_core_set_parent_nolock(clk->core,\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240parent ? parent->core : NULL);\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240clk_prepare_unlock();\n" "> > +\n" - "> > +???????return ret;\n" - "> > ?}\n" - "> > ?EXPORT_SYMBOL_GPL(clk_set_parent);\n" - "> > ?\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240return ret;\n" + "> > \302\240}\n" + "> > \302\240EXPORT_SYMBOL_GPL(clk_set_parent);\n" + "> > \302\240\n" "> > @@ -2753,7 +2750,7 @@ void clk_unregister(struct clk *clk)\n" - "> > ????????????????/* Reparent all children to the orphan list. */\n" - "> > ????????????????hlist_for_each_entry_safe(child, t, &clk->core->children,\n" - "> > ??????????????????????????????????????????child_node)\n" - "> > -???????????????????????clk_core_set_parent(child, NULL);\n" - "> > +???????????????????????clk_core_set_parent_nolock(child, NULL);\n" - "> > ????????}\n" - "> > ?\n" - "> > ????????hlist_del_init(&clk->core->child_node);\n" - "> > --?\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240/* Reparent all children to the orphan list. */\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240hlist_for_each_entry_safe(child, t, &clk->core->children,\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240child_node)\n" + "> > -\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240clk_core_set_parent(child, NULL);\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240clk_core_set_parent_nolock(child, NULL);\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240}\n" + "> > \302\240\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240hlist_del_init(&clk->core->child_node);\n" + "> > --\302\240\n" "> > 2.9.4\n" > > -baa3de289ea6794a3e382bc02204801667362c50e28290bdbdaf05a52441c17c +3c188a0fbac6811bc93a795a6565cc4c7ef54588cb89160e58dc20d8cc970844
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.