All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20150528035143.22384.88862@quantum>

diff --git a/a/1.txt b/N1/1.txt
index 5529938..3a2eafd 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,7 +1,6 @@
 Quoting Michael Turquette (2015-05-27 20:44:24)
 > Hi Joachim,
-> =
-
+> 
 > Quoting Joachim Eastwood (2015-05-18 15:35:57)
 > <snip>
 > > +static void lpc18xx_ccu_register_branch_clks(void __iomem *reg_base,
@@ -10,16 +9,15 @@ Quoting Michael Turquette (2015-05-27 20:44:24)
 > > +{
 > > +       int i;
 > > +
-> > +       for (i =3D 0; i < ARRAY_SIZE(clk_branches); i++) {
-> > +               if (clk_branches[i].base_id !=3D base_clk_id)
+> > +       for (i = 0; i < ARRAY_SIZE(clk_branches); i++) {
+> > +               if (clk_branches[i].base_id != base_clk_id)
 > > +                       continue;
 > > +
-> > +               lpc18xx_ccu_register_branch_gate_div(&clk_branches[i], =
-reg_base,
+> > +               lpc18xx_ccu_register_branch_gate_div(&clk_branches[i], reg_base,
 > > +                                                    parent);
 > > +
 > > +               if (clk_branches[i].flags & CCU_BRANCH_IS_BUS)
-> > +                       parent =3D clk_branches[i].name;
+> > +                       parent = clk_branches[i].name;
 > > +       }
 > > +}
 > > +
@@ -32,46 +30,44 @@ reg_base,
 > > +       int base_clk_id;
 > > +       int i;
 > > +
-> > +       reg_base =3D of_iomap(np, 0);
+> > +       reg_base = of_iomap(np, 0);
 > > +       if (!reg_base) {
 > > +               pr_warn("%s: failed to map address range\n", __func__);
 > > +               return;
 > > +       }
 > > +
-> > +       clk_data =3D kzalloc(sizeof(*clk_data), GFP_KERNEL);
+> > +       clk_data = kzalloc(sizeof(*clk_data), GFP_KERNEL);
 > > +       if (!clk_data)
 > > +               return;
 > > +
-> > +       num_base_ids =3D of_clk_get_parent_count(np);
+> > +       num_base_ids = of_clk_get_parent_count(np);
 > > +
-> > +       base_ids =3D kcalloc(num_base_ids, sizeof(int), GFP_KERNEL);
+> > +       base_ids = kcalloc(num_base_ids, sizeof(int), GFP_KERNEL);
 > > +       if (!base_ids) {
 > > +               kfree(clk_data);
 > > +               return;
 > > +       }
 > > +
-> > +       clk_data->base_ids =3D base_ids;
-> > +       clk_data->num_base_ids =3D num_base_ids;
+> > +       clk_data->base_ids = base_ids;
+> > +       clk_data->num_base_ids = num_base_ids;
 > > +
-> > +       for (i =3D 0; i < num_base_ids; i++) {
-> > +               struct clk *clk =3D of_clk_get(np, i);
+> > +       for (i = 0; i < num_base_ids; i++) {
+> > +               struct clk *clk = of_clk_get(np, i);
 > > +               if (IS_ERR(clk)) {
 > > +                       pr_warn("%s: failed to get clock at idx %d\n",
 > > +                               __func__, i);
 > > +                       continue;
 > > +               }
 > > +
-> > +               parent =3D __clk_get_name(clk);
-> > +               base_clk_id =3D of_clk_get_index(np, i);
+> > +               parent = __clk_get_name(clk);
+> > +               base_clk_id = of_clk_get_index(np, i);
 > > +
-> > +               clk_data->base_ids[i] =3D base_clk_id;
+> > +               clk_data->base_ids[i] = base_clk_id;
 > > +               lpc18xx_ccu_register_branch_clks(reg_base, base_clk_id,
 > > +                                                parent);
-> =
-
+> 
 > Thanks for sending V3. This driver is getting close!
-> =
-
+> 
 > So the main thing I don't understand is why you do not encode the CGU
 > clock parent string names into this CCU driver. If I understand your
 > approach correctly, you do the following in lpc18xx_ccu_init:
@@ -85,8 +81,7 @@ should be good to go after that.
 Thanks,
 Mike
 
-> =
-
+> 
 > 1) count the number of parent clocks (ostensibly CGU clocks)
 > 2) iterate through all of those CGU clocks, extracting a base_id value
 > (loop #1)
@@ -98,37 +93,30 @@ Mike
 > 5) using of_clk_get you fetch its name with __clk_get_name
 > 6) you pass this parent name into a fairly typical looking registration
 > function
-> =
-
+> 
 > Assuming I got all of that right, I hope we can simplify it
 > considerably.
-> =
-
+> 
 > You already have an array of CCU clock information in this driver,
 > clk_branches[]. Why not encode the parent string name here? This would
 > involve adding a "parent_name" member to struct lpc18xx_clk_branch.
-> =
-
+> 
 > Doing the above, your O(n^2)-ish registration function becomes O(n):
-> =
-
+> 
 > 1) iterate through the array of the CCU clocks (clk_branchs[])
 > 2) register them
 > 3) profit
-> =
-
+> 
 > I'm starting to think any reference to base_id is sign that things are
 > wrong in your driver. I am unconvinced that you need to "share" this
 > base_id across CGU and CCU drivers in the way you do. If I'm wrong
 > please help me to understand.
-> =
-
+> 
 > As a wild thought, if you do not want to encode parent string names into
 > this driver, have you tried to use the clock-names property in the CCU
 > blob? You do not need clock-output-names in the CGU blob either. But
 > this is just an idea. It is far for straightforward for you t encode the
 > parent names in your clk_branches[] array.
-> =
-
+> 
 > Thanks,
 > Mike
diff --git a/a/content_digest b/N1/content_digest
index 89536a0..39f33c2 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,22 +1,15 @@
  "ref\01431988559-23338-1-git-send-email-manabian@gmail.com\0"
  "ref\01431988559-23338-5-git-send-email-manabian@gmail.com\0"
  "ref\020150528034424.22384.83956@quantum\0"
- "From\0Michael Turquette <mturquette@linaro.org>\0"
- "Subject\0Re: [PATCH v3 4/6] clk: add lpc18xx ccu clk driver\0"
+ "From\0mturquette@linaro.org (Michael Turquette)\0"
+ "Subject\0[PATCH v3 4/6] clk: add lpc18xx ccu clk driver\0"
  "Date\0Wed, 27 May 2015 20:51:43 -0700\0"
- "To\0Joachim Eastwood <manabian@gmail.com>"
- " sboyd@codeaurora.org\0"
- "Cc\0Joachim Eastwood <manabian@gmail.com>"
-  devicetree@vger.kernel.org
-  linux-clk@vger.kernel.org
-  linux-arm-kernel@lists.infradead.org
- " ezequiel@vanguardiasur.com.ar\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
  "\00:1\0"
  "b\0"
  "Quoting Michael Turquette (2015-05-27 20:44:24)\n"
  "> Hi Joachim,\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Quoting Joachim Eastwood (2015-05-18 15:35:57)\n"
  "> <snip>\n"
  "> > +static void lpc18xx_ccu_register_branch_clks(void __iomem *reg_base,\n"
@@ -25,16 +18,15 @@
  "> > +{\n"
  "> > +       int i;\n"
  "> > +\n"
- "> > +       for (i =3D 0; i < ARRAY_SIZE(clk_branches); i++) {\n"
- "> > +               if (clk_branches[i].base_id !=3D base_clk_id)\n"
+ "> > +       for (i = 0; i < ARRAY_SIZE(clk_branches); i++) {\n"
+ "> > +               if (clk_branches[i].base_id != base_clk_id)\n"
  "> > +                       continue;\n"
  "> > +\n"
- "> > +               lpc18xx_ccu_register_branch_gate_div(&clk_branches[i], =\n"
- "reg_base,\n"
+ "> > +               lpc18xx_ccu_register_branch_gate_div(&clk_branches[i], reg_base,\n"
  "> > +                                                    parent);\n"
  "> > +\n"
  "> > +               if (clk_branches[i].flags & CCU_BRANCH_IS_BUS)\n"
- "> > +                       parent =3D clk_branches[i].name;\n"
+ "> > +                       parent = clk_branches[i].name;\n"
  "> > +       }\n"
  "> > +}\n"
  "> > +\n"
@@ -47,46 +39,44 @@
  "> > +       int base_clk_id;\n"
  "> > +       int i;\n"
  "> > +\n"
- "> > +       reg_base =3D of_iomap(np, 0);\n"
+ "> > +       reg_base = of_iomap(np, 0);\n"
  "> > +       if (!reg_base) {\n"
  "> > +               pr_warn(\"%s: failed to map address range\\n\", __func__);\n"
  "> > +               return;\n"
  "> > +       }\n"
  "> > +\n"
- "> > +       clk_data =3D kzalloc(sizeof(*clk_data), GFP_KERNEL);\n"
+ "> > +       clk_data = kzalloc(sizeof(*clk_data), GFP_KERNEL);\n"
  "> > +       if (!clk_data)\n"
  "> > +               return;\n"
  "> > +\n"
- "> > +       num_base_ids =3D of_clk_get_parent_count(np);\n"
+ "> > +       num_base_ids = of_clk_get_parent_count(np);\n"
  "> > +\n"
- "> > +       base_ids =3D kcalloc(num_base_ids, sizeof(int), GFP_KERNEL);\n"
+ "> > +       base_ids = kcalloc(num_base_ids, sizeof(int), GFP_KERNEL);\n"
  "> > +       if (!base_ids) {\n"
  "> > +               kfree(clk_data);\n"
  "> > +               return;\n"
  "> > +       }\n"
  "> > +\n"
- "> > +       clk_data->base_ids =3D base_ids;\n"
- "> > +       clk_data->num_base_ids =3D num_base_ids;\n"
+ "> > +       clk_data->base_ids = base_ids;\n"
+ "> > +       clk_data->num_base_ids = num_base_ids;\n"
  "> > +\n"
- "> > +       for (i =3D 0; i < num_base_ids; i++) {\n"
- "> > +               struct clk *clk =3D of_clk_get(np, i);\n"
+ "> > +       for (i = 0; i < num_base_ids; i++) {\n"
+ "> > +               struct clk *clk = of_clk_get(np, i);\n"
  "> > +               if (IS_ERR(clk)) {\n"
  "> > +                       pr_warn(\"%s: failed to get clock at idx %d\\n\",\n"
  "> > +                               __func__, i);\n"
  "> > +                       continue;\n"
  "> > +               }\n"
  "> > +\n"
- "> > +               parent =3D __clk_get_name(clk);\n"
- "> > +               base_clk_id =3D of_clk_get_index(np, i);\n"
+ "> > +               parent = __clk_get_name(clk);\n"
+ "> > +               base_clk_id = of_clk_get_index(np, i);\n"
  "> > +\n"
- "> > +               clk_data->base_ids[i] =3D base_clk_id;\n"
+ "> > +               clk_data->base_ids[i] = base_clk_id;\n"
  "> > +               lpc18xx_ccu_register_branch_clks(reg_base, base_clk_id,\n"
  "> > +                                                parent);\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Thanks for sending V3. This driver is getting close!\n"
- "> =\n"
- "\n"
+ "> \n"
  "> So the main thing I don't understand is why you do not encode the CGU\n"
  "> clock parent string names into this CCU driver. If I understand your\n"
  "> approach correctly, you do the following in lpc18xx_ccu_init:\n"
@@ -100,8 +90,7 @@
  "Thanks,\n"
  "Mike\n"
  "\n"
- "> =\n"
- "\n"
+ "> \n"
  "> 1) count the number of parent clocks (ostensibly CGU clocks)\n"
  "> 2) iterate through all of those CGU clocks, extracting a base_id value\n"
  "> (loop #1)\n"
@@ -113,39 +102,32 @@
  "> 5) using of_clk_get you fetch its name with __clk_get_name\n"
  "> 6) you pass this parent name into a fairly typical looking registration\n"
  "> function\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Assuming I got all of that right, I hope we can simplify it\n"
  "> considerably.\n"
- "> =\n"
- "\n"
+ "> \n"
  "> You already have an array of CCU clock information in this driver,\n"
  "> clk_branches[]. Why not encode the parent string name here? This would\n"
  "> involve adding a \"parent_name\" member to struct lpc18xx_clk_branch.\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Doing the above, your O(n^2)-ish registration function becomes O(n):\n"
- "> =\n"
- "\n"
+ "> \n"
  "> 1) iterate through the array of the CCU clocks (clk_branchs[])\n"
  "> 2) register them\n"
  "> 3) profit\n"
- "> =\n"
- "\n"
+ "> \n"
  "> I'm starting to think any reference to base_id is sign that things are\n"
  "> wrong in your driver. I am unconvinced that you need to \"share\" this\n"
  "> base_id across CGU and CCU drivers in the way you do. If I'm wrong\n"
  "> please help me to understand.\n"
- "> =\n"
- "\n"
+ "> \n"
  "> As a wild thought, if you do not want to encode parent string names into\n"
  "> this driver, have you tried to use the clock-names property in the CCU\n"
  "> blob? You do not need clock-output-names in the CGU blob either. But\n"
  "> this is just an idea. It is far for straightforward for you t encode the\n"
  "> parent names in your clk_branches[] array.\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Thanks,\n"
  > Mike
 
-37df1b80c7d0281848136c947653bfffa7ec2ddfd2b73a7b6b4e659d3131c084
+2d9159b1d75acaf47b39473a8d86a706b84c557f5bf76924c481319150cdca76

diff --git a/a/1.txt b/N2/1.txt
index 5529938..24272c7 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -1,7 +1,6 @@
 Quoting Michael Turquette (2015-05-27 20:44:24)
 > Hi Joachim,
-> =
-
+> 
 > Quoting Joachim Eastwood (2015-05-18 15:35:57)
 > <snip>
 > > +static void lpc18xx_ccu_register_branch_clks(void __iomem *reg_base,
@@ -10,16 +9,15 @@ Quoting Michael Turquette (2015-05-27 20:44:24)
 > > +{
 > > +       int i;
 > > +
-> > +       for (i =3D 0; i < ARRAY_SIZE(clk_branches); i++) {
-> > +               if (clk_branches[i].base_id !=3D base_clk_id)
+> > +       for (i = 0; i < ARRAY_SIZE(clk_branches); i++) {
+> > +               if (clk_branches[i].base_id != base_clk_id)
 > > +                       continue;
 > > +
-> > +               lpc18xx_ccu_register_branch_gate_div(&clk_branches[i], =
-reg_base,
+> > +               lpc18xx_ccu_register_branch_gate_div(&clk_branches[i], reg_base,
 > > +                                                    parent);
 > > +
 > > +               if (clk_branches[i].flags & CCU_BRANCH_IS_BUS)
-> > +                       parent =3D clk_branches[i].name;
+> > +                       parent = clk_branches[i].name;
 > > +       }
 > > +}
 > > +
@@ -32,46 +30,44 @@ reg_base,
 > > +       int base_clk_id;
 > > +       int i;
 > > +
-> > +       reg_base =3D of_iomap(np, 0);
+> > +       reg_base = of_iomap(np, 0);
 > > +       if (!reg_base) {
 > > +               pr_warn("%s: failed to map address range\n", __func__);
 > > +               return;
 > > +       }
 > > +
-> > +       clk_data =3D kzalloc(sizeof(*clk_data), GFP_KERNEL);
+> > +       clk_data = kzalloc(sizeof(*clk_data), GFP_KERNEL);
 > > +       if (!clk_data)
 > > +               return;
 > > +
-> > +       num_base_ids =3D of_clk_get_parent_count(np);
+> > +       num_base_ids = of_clk_get_parent_count(np);
 > > +
-> > +       base_ids =3D kcalloc(num_base_ids, sizeof(int), GFP_KERNEL);
+> > +       base_ids = kcalloc(num_base_ids, sizeof(int), GFP_KERNEL);
 > > +       if (!base_ids) {
 > > +               kfree(clk_data);
 > > +               return;
 > > +       }
 > > +
-> > +       clk_data->base_ids =3D base_ids;
-> > +       clk_data->num_base_ids =3D num_base_ids;
+> > +       clk_data->base_ids = base_ids;
+> > +       clk_data->num_base_ids = num_base_ids;
 > > +
-> > +       for (i =3D 0; i < num_base_ids; i++) {
-> > +               struct clk *clk =3D of_clk_get(np, i);
+> > +       for (i = 0; i < num_base_ids; i++) {
+> > +               struct clk *clk = of_clk_get(np, i);
 > > +               if (IS_ERR(clk)) {
 > > +                       pr_warn("%s: failed to get clock at idx %d\n",
 > > +                               __func__, i);
 > > +                       continue;
 > > +               }
 > > +
-> > +               parent =3D __clk_get_name(clk);
-> > +               base_clk_id =3D of_clk_get_index(np, i);
+> > +               parent = __clk_get_name(clk);
+> > +               base_clk_id = of_clk_get_index(np, i);
 > > +
-> > +               clk_data->base_ids[i] =3D base_clk_id;
+> > +               clk_data->base_ids[i] = base_clk_id;
 > > +               lpc18xx_ccu_register_branch_clks(reg_base, base_clk_id,
 > > +                                                parent);
-> =
-
+> 
 > Thanks for sending V3. This driver is getting close!
-> =
-
+> 
 > So the main thing I don't understand is why you do not encode the CGU
 > clock parent string names into this CCU driver. If I understand your
 > approach correctly, you do the following in lpc18xx_ccu_init:
@@ -85,8 +81,7 @@ should be good to go after that.
 Thanks,
 Mike
 
-> =
-
+> 
 > 1) count the number of parent clocks (ostensibly CGU clocks)
 > 2) iterate through all of those CGU clocks, extracting a base_id value
 > (loop #1)
@@ -98,37 +93,34 @@ Mike
 > 5) using of_clk_get you fetch its name with __clk_get_name
 > 6) you pass this parent name into a fairly typical looking registration
 > function
-> =
-
+> 
 > Assuming I got all of that right, I hope we can simplify it
 > considerably.
-> =
-
+> 
 > You already have an array of CCU clock information in this driver,
 > clk_branches[]. Why not encode the parent string name here? This would
 > involve adding a "parent_name" member to struct lpc18xx_clk_branch.
-> =
-
+> 
 > Doing the above, your O(n^2)-ish registration function becomes O(n):
-> =
-
+> 
 > 1) iterate through the array of the CCU clocks (clk_branchs[])
 > 2) register them
 > 3) profit
-> =
-
+> 
 > I'm starting to think any reference to base_id is sign that things are
 > wrong in your driver. I am unconvinced that you need to "share" this
 > base_id across CGU and CCU drivers in the way you do. If I'm wrong
 > please help me to understand.
-> =
-
+> 
 > As a wild thought, if you do not want to encode parent string names into
 > this driver, have you tried to use the clock-names property in the CCU
 > blob? You do not need clock-output-names in the CGU blob either. But
 > this is just an idea. It is far for straightforward for you t encode the
 > parent names in your clk_branches[] array.
-> =
-
+> 
 > Thanks,
 > Mike
+--
+To unsubscribe from this list: send the line "unsubscribe devicetree" in
+the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
+More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff --git a/a/content_digest b/N2/content_digest
index 89536a0..80e4f06 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,22 +1,20 @@
  "ref\01431988559-23338-1-git-send-email-manabian@gmail.com\0"
  "ref\01431988559-23338-5-git-send-email-manabian@gmail.com\0"
  "ref\020150528034424.22384.83956@quantum\0"
- "From\0Michael Turquette <mturquette@linaro.org>\0"
+ "From\0Michael Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>\0"
  "Subject\0Re: [PATCH v3 4/6] clk: add lpc18xx ccu clk driver\0"
  "Date\0Wed, 27 May 2015 20:51:43 -0700\0"
- "To\0Joachim Eastwood <manabian@gmail.com>"
- " sboyd@codeaurora.org\0"
- "Cc\0Joachim Eastwood <manabian@gmail.com>"
-  devicetree@vger.kernel.org
-  linux-clk@vger.kernel.org
-  linux-arm-kernel@lists.infradead.org
- " ezequiel@vanguardiasur.com.ar\0"
+ "To\0sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org\0"
+ "Cc\0Joachim Eastwood <manabian-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>"
+  devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
+  linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
+  linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
+ " ezequiel-30ULvvUtt6G51wMPkGsGjgyUoB5FGQPZ@public.gmane.org\0"
  "\00:1\0"
  "b\0"
  "Quoting Michael Turquette (2015-05-27 20:44:24)\n"
  "> Hi Joachim,\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Quoting Joachim Eastwood (2015-05-18 15:35:57)\n"
  "> <snip>\n"
  "> > +static void lpc18xx_ccu_register_branch_clks(void __iomem *reg_base,\n"
@@ -25,16 +23,15 @@
  "> > +{\n"
  "> > +       int i;\n"
  "> > +\n"
- "> > +       for (i =3D 0; i < ARRAY_SIZE(clk_branches); i++) {\n"
- "> > +               if (clk_branches[i].base_id !=3D base_clk_id)\n"
+ "> > +       for (i = 0; i < ARRAY_SIZE(clk_branches); i++) {\n"
+ "> > +               if (clk_branches[i].base_id != base_clk_id)\n"
  "> > +                       continue;\n"
  "> > +\n"
- "> > +               lpc18xx_ccu_register_branch_gate_div(&clk_branches[i], =\n"
- "reg_base,\n"
+ "> > +               lpc18xx_ccu_register_branch_gate_div(&clk_branches[i], reg_base,\n"
  "> > +                                                    parent);\n"
  "> > +\n"
  "> > +               if (clk_branches[i].flags & CCU_BRANCH_IS_BUS)\n"
- "> > +                       parent =3D clk_branches[i].name;\n"
+ "> > +                       parent = clk_branches[i].name;\n"
  "> > +       }\n"
  "> > +}\n"
  "> > +\n"
@@ -47,46 +44,44 @@
  "> > +       int base_clk_id;\n"
  "> > +       int i;\n"
  "> > +\n"
- "> > +       reg_base =3D of_iomap(np, 0);\n"
+ "> > +       reg_base = of_iomap(np, 0);\n"
  "> > +       if (!reg_base) {\n"
  "> > +               pr_warn(\"%s: failed to map address range\\n\", __func__);\n"
  "> > +               return;\n"
  "> > +       }\n"
  "> > +\n"
- "> > +       clk_data =3D kzalloc(sizeof(*clk_data), GFP_KERNEL);\n"
+ "> > +       clk_data = kzalloc(sizeof(*clk_data), GFP_KERNEL);\n"
  "> > +       if (!clk_data)\n"
  "> > +               return;\n"
  "> > +\n"
- "> > +       num_base_ids =3D of_clk_get_parent_count(np);\n"
+ "> > +       num_base_ids = of_clk_get_parent_count(np);\n"
  "> > +\n"
- "> > +       base_ids =3D kcalloc(num_base_ids, sizeof(int), GFP_KERNEL);\n"
+ "> > +       base_ids = kcalloc(num_base_ids, sizeof(int), GFP_KERNEL);\n"
  "> > +       if (!base_ids) {\n"
  "> > +               kfree(clk_data);\n"
  "> > +               return;\n"
  "> > +       }\n"
  "> > +\n"
- "> > +       clk_data->base_ids =3D base_ids;\n"
- "> > +       clk_data->num_base_ids =3D num_base_ids;\n"
+ "> > +       clk_data->base_ids = base_ids;\n"
+ "> > +       clk_data->num_base_ids = num_base_ids;\n"
  "> > +\n"
- "> > +       for (i =3D 0; i < num_base_ids; i++) {\n"
- "> > +               struct clk *clk =3D of_clk_get(np, i);\n"
+ "> > +       for (i = 0; i < num_base_ids; i++) {\n"
+ "> > +               struct clk *clk = of_clk_get(np, i);\n"
  "> > +               if (IS_ERR(clk)) {\n"
  "> > +                       pr_warn(\"%s: failed to get clock at idx %d\\n\",\n"
  "> > +                               __func__, i);\n"
  "> > +                       continue;\n"
  "> > +               }\n"
  "> > +\n"
- "> > +               parent =3D __clk_get_name(clk);\n"
- "> > +               base_clk_id =3D of_clk_get_index(np, i);\n"
+ "> > +               parent = __clk_get_name(clk);\n"
+ "> > +               base_clk_id = of_clk_get_index(np, i);\n"
  "> > +\n"
- "> > +               clk_data->base_ids[i] =3D base_clk_id;\n"
+ "> > +               clk_data->base_ids[i] = base_clk_id;\n"
  "> > +               lpc18xx_ccu_register_branch_clks(reg_base, base_clk_id,\n"
  "> > +                                                parent);\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Thanks for sending V3. This driver is getting close!\n"
- "> =\n"
- "\n"
+ "> \n"
  "> So the main thing I don't understand is why you do not encode the CGU\n"
  "> clock parent string names into this CCU driver. If I understand your\n"
  "> approach correctly, you do the following in lpc18xx_ccu_init:\n"
@@ -100,8 +95,7 @@
  "Thanks,\n"
  "Mike\n"
  "\n"
- "> =\n"
- "\n"
+ "> \n"
  "> 1) count the number of parent clocks (ostensibly CGU clocks)\n"
  "> 2) iterate through all of those CGU clocks, extracting a base_id value\n"
  "> (loop #1)\n"
@@ -113,39 +107,36 @@
  "> 5) using of_clk_get you fetch its name with __clk_get_name\n"
  "> 6) you pass this parent name into a fairly typical looking registration\n"
  "> function\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Assuming I got all of that right, I hope we can simplify it\n"
  "> considerably.\n"
- "> =\n"
- "\n"
+ "> \n"
  "> You already have an array of CCU clock information in this driver,\n"
  "> clk_branches[]. Why not encode the parent string name here? This would\n"
  "> involve adding a \"parent_name\" member to struct lpc18xx_clk_branch.\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Doing the above, your O(n^2)-ish registration function becomes O(n):\n"
- "> =\n"
- "\n"
+ "> \n"
  "> 1) iterate through the array of the CCU clocks (clk_branchs[])\n"
  "> 2) register them\n"
  "> 3) profit\n"
- "> =\n"
- "\n"
+ "> \n"
  "> I'm starting to think any reference to base_id is sign that things are\n"
  "> wrong in your driver. I am unconvinced that you need to \"share\" this\n"
  "> base_id across CGU and CCU drivers in the way you do. If I'm wrong\n"
  "> please help me to understand.\n"
- "> =\n"
- "\n"
+ "> \n"
  "> As a wild thought, if you do not want to encode parent string names into\n"
  "> this driver, have you tried to use the clock-names property in the CCU\n"
  "> blob? You do not need clock-output-names in the CGU blob either. But\n"
  "> this is just an idea. It is far for straightforward for you t encode the\n"
  "> parent names in your clk_branches[] array.\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Thanks,\n"
- > Mike
+ "> Mike\n"
+ "--\n"
+ "To unsubscribe from this list: send the line \"unsubscribe devicetree\" in\n"
+ "the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org\n"
+ More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
-37df1b80c7d0281848136c947653bfffa7ec2ddfd2b73a7b6b4e659d3131c084
+ef0cec19b2fb7f26a51afddffaef541811ff09912c2de0dcc5748dbc966adeba

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.