All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1507189629.5452.69.camel@aj.id.au>

diff --git a/a/1.txt b/N1/1.txt
index b147d58..dbbddc3 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,39 +1,39 @@
 On Tue, 2017-10-03 at 17:25 +1030, Joel Stanley wrote:
 > There are some resets that are not associated with gates. These are
 > represented by a reset controller.
-> 
+>?
 > Signed-off-by: Joel Stanley <joel@jms.id.au>
 
 With respect to the Aspeed hardware reset bits:
 
 Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
 
-> 
+>?
 > ---
 > v3:
->   - Add named initalisers for the reset defines
->   - Add define for ADC
+> ? - Add named initalisers for the reset defines
+> ? - Add define for ADC
 > ---
->  drivers/clk/clk-aspeed.c                 | 82 +++++++++++++++++++++++++++++++-
->  include/dt-bindings/clock/aspeed-clock.h | 10 ++++
->  2 files changed, 91 insertions(+), 1 deletion(-)
-> 
+> ?drivers/clk/clk-aspeed.c?????????????????| 82 +++++++++++++++++++++++++++++++-
+> ?include/dt-bindings/clock/aspeed-clock.h | 10 ++++
+> ?2 files changed, 91 insertions(+), 1 deletion(-)
+>?
 > diff --git a/drivers/clk/clk-aspeed.c b/drivers/clk/clk-aspeed.c
 > index a424b056e767..de491dc7f955 100644
 > --- a/drivers/clk/clk-aspeed.c
 > +++ b/drivers/clk/clk-aspeed.c
 > @@ -17,6 +17,7 @@
->  #include <linux/of_device.h>
->  #include <linux/platform_device.h>
->  #include <linux/regmap.h>
+> ?#include <linux/of_device.h>
+> ?#include <linux/platform_device.h>
+> ?#include <linux/regmap.h>
 > +#include <linux/reset-controller.h>
->  #include <linux/slab.h>
->  #include <linux/spinlock.h>
->  
+> ?#include <linux/slab.h>
+> ?#include <linux/spinlock.h>
+> ?
 > @@ -292,6 +293,68 @@ static const struct clk_ops aspeed_clk_gate_ops = {
->  	.is_enabled = aspeed_clk_is_enabled,
->  };
->  
+> ?	.is_enabled = aspeed_clk_is_enabled,
+> ?};
+> ?
 > +/**
 > + * struct aspeed_reset - Aspeed reset controller
 > + * @map: regmap to access the containing system controller
@@ -52,14 +52,14 @@ Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
 > +	[ASPEED_RESET_ADC]	= 23,
 > +	[ASPEED_RESET_JTAG_MASTER] = 22,
 > +	[ASPEED_RESET_MIC]	= 18,
-> +	[ASPEED_RESET_PWM]	=  9,
-> +	[ASPEED_RESET_PCIVGA]	=  8,
-> +	[ASPEED_RESET_I2C]	=  2,
-> +	[ASPEED_RESET_AHB]	=  1,
+> +	[ASPEED_RESET_PWM]	=??9,
+> +	[ASPEED_RESET_PCIVGA]	=??8,
+> +	[ASPEED_RESET_I2C]	=??2,
+> +	[ASPEED_RESET_AHB]	=??1,
 > +};
 > +
 > +static int aspeed_reset_deassert(struct reset_controller_dev *rcdev,
-> +				 unsigned long id)
+> +				?unsigned long id)
 > +{
 > +	struct aspeed_reset *ar = to_aspeed_reset(rcdev);
 > +	u32 rst = BIT(aspeed_resets[id]);
@@ -68,7 +68,7 @@ Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
 > +}
 > +
 > +static int aspeed_reset_assert(struct reset_controller_dev *rcdev,
-> +			       unsigned long id)
+> +			???????unsigned long id)
 > +{
 > +	struct aspeed_reset *ar = to_aspeed_reset(rcdev);
 > +	u32 rst = BIT(aspeed_resets[id]);
@@ -77,7 +77,7 @@ Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
 > +}
 > +
 > +static int aspeed_reset_status(struct reset_controller_dev *rcdev,
-> +			       unsigned long id)
+> +			???????unsigned long id)
 > +{
 > +	struct aspeed_reset *ar = to_aspeed_reset(rcdev);
 > +	u32 val, rst = BIT(aspeed_resets[id]);
@@ -96,26 +96,26 @@ Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
 > +	.status = aspeed_reset_status,
 > +};
 > +
->  static struct clk_hw *aspeed_clk_hw_register_gate(struct device *dev,
->  		const char *name, const char *parent_name, unsigned long flags,
->  		struct regmap *map, u8 clock_idx, u8 reset_idx,
+> ?static struct clk_hw *aspeed_clk_hw_register_gate(struct device *dev,
+> ?		const char *name, const char *parent_name, unsigned long flags,
+> ?		struct regmap *map, u8 clock_idx, u8 reset_idx,
 > @@ -333,10 +396,11 @@ static int aspeed_clk_probe(struct platform_device *pdev)
->  {
->  	const struct aspeed_clk_soc_data *soc_data;
->  	struct device *dev = &pdev->dev;
+> ?{
+> ?	const struct aspeed_clk_soc_data *soc_data;
+> ?	struct device *dev = &pdev->dev;
 > +	struct aspeed_reset *ar;
->  	struct regmap *map;
->  	struct clk_hw *hw;
->  	u32 val, rate;
+> ?	struct regmap *map;
+> ?	struct clk_hw *hw;
+> ?	u32 val, rate;
 > -	int i;
 > +	int i, ret;
->  
->  	map = syscon_node_to_regmap(dev->of_node);
->  	if (IS_ERR(map)) {
+> ?
+> ?	map = syscon_node_to_regmap(dev->of_node);
+> ?	if (IS_ERR(map)) {
 > @@ -344,6 +408,22 @@ static int aspeed_clk_probe(struct platform_device *pdev)
->  		return PTR_ERR(map);
->  	}
->  
+> ?		return PTR_ERR(map);
+> ?	}
+> ?
 > +	ar = devm_kzalloc(dev, sizeof(*ar), GFP_KERNEL);
 > +	if (!ar)
 > +		return -ENOMEM;
@@ -132,17 +132,17 @@ Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
 > +		return ret;
 > +	}
 > +
->  	/* SoC generations share common layouts but have different divisors */
->  	soc_data = of_device_get_match_data(dev);
->  	if (!soc_data) {
+> ?	/* SoC generations share common layouts but have different divisors */
+> ?	soc_data = of_device_get_match_data(dev);
+> ?	if (!soc_data) {
 > diff --git a/include/dt-bindings/clock/aspeed-clock.h b/include/dt-bindings/clock/aspeed-clock.h
 > index 4a99421d77c8..8e19646d8025 100644
 > --- a/include/dt-bindings/clock/aspeed-clock.h
 > +++ b/include/dt-bindings/clock/aspeed-clock.h
 > @@ -39,4 +39,14 @@
->  
->  #define ASPEED_NUM_CLKS			35
->  
+> ?
+> ?#define ASPEED_NUM_CLKS			35
+> ?
 > +#define ASPEED_RESET_XDMA		0
 > +#define ASPEED_RESET_MCTP		1
 > +#define ASPEED_RESET_ADC		2
@@ -153,4 +153,11 @@ Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
 > +#define ASPEED_RESET_I2C		7
 > +#define ASPEED_RESET_AHB		8
 > +
->  #endif
+> ?#endif
+-------------- next part --------------
+A non-text attachment was scrubbed...
+Name: signature.asc
+Type: application/pgp-signature
+Size: 801 bytes
+Desc: This is a digitally signed message part
+URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171005/75109006/attachment-0001.sig>
diff --git a/a/2.bin b/a/2.bin
deleted file mode 100644
index 4723cc7..0000000
--- a/a/2.bin
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN PGP SIGNATURE-----
-
-iQIcBAABCgAGBQJZ1eN9AAoJEJ0dnzgO5LT51pYQAItQ7KxkuRPhx3xBj2w6XvlU
-OIad1Ympj9ucWF6oop9QvnoxZzDlXE2KUKr4t+ysF3cpqmf11AJU9hCVTgn5Ni2d
-zriGMwh0v55p2hAZ8/MPdWlrVZ2vWpuGgaRgiKz/rwkatpJ2Vq8CH3lxYoIHtBIo
-uwvocBPo4rUETHy6eTHup5+2O7nlz6dF5TaLRIfEcKAr7cpsKsmI3SxFdTekSTsz
-bwxRCPun5oV4WKGBgioCoU4tGCwMlxY3Aiw5LEF5evHziVegtQRQrSILpUeeiVFC
-EEDpl/wiJoSCHYqMQK2+FQF5jZlv77JyCu8x5+Um11ln/zpN4XqEsDx972JNLXpx
-cNqgLTqHTgdsnAE5NFDpiRX03mNJ1A5/oNJPocQ/z4wkwZIgHJB1s7uxKS2AqEF3
-oxxKDsB5EffzMxatls7EEtkWqsraJJb+1/mMbQ5z+d23XGYt331jjRebWuoAGNEG
-PxBohwQJX/Y/bAsTZy5RU8Rz2m8i1t1KyamQ0tLDXLZZusUOls7fLpBnA8pFyrIm
-tqMniMh/urlplQEd52p1uG5irJYS5YHD//L6snD8syXVsA1BqTqFilj+7ij8yZkT
-R8uqO0pk2BnJD53QlyX8xlQL5cPqsrRtcB0FjRxLZTwLCbZ8dvO/2EcjIUiWwi9S
-a7OAlINUgjwrW+RfzVaL
-=Sc1p
------END PGP SIGNATURE-----
diff --git a/a/2.hdr b/a/2.hdr
deleted file mode 100644
index da6d245..0000000
--- a/a/2.hdr
+++ /dev/null
@@ -1,3 +0,0 @@
-Content-Type: application/pgp-signature; name="signature.asc"
-Content-Description: This is a digitally signed message part
-Content-Transfer-Encoding: 7bit
diff --git a/a/content_digest b/N1/content_digest
index fc65a66..de37a14 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,58 +1,47 @@
  "ref\020171003065540.11722-1-joel@jms.id.au\0"
  "ref\020171003065540.11722-6-joel@jms.id.au\0"
- "From\0Andrew Jeffery <andrew@aj.id.au>\0"
- "Subject\0Re: [PATCH v4 5/5] clk: aspeed: Add reset controller\0"
+ "From\0andrew@aj.id.au (Andrew Jeffery)\0"
+ "Subject\0[PATCH v4 5/5] clk: aspeed: Add reset controller\0"
  "Date\0Thu, 05 Oct 2017 18:17:09 +1030\0"
- "To\0Joel Stanley <joel@jms.id.au>"
-  Lee Jones <lee.jones@linaro.org>
-  Michael Turquette <mturquette@baylibre.com>
- " Stephen Boyd <sboyd@codeaurora.org>\0"
- "Cc\0linux-kernel@vger.kernel.org"
-  linux-clk@vger.kernel.org
-  linux-arm-kernel@lists.infradead.org
-  Benjamin Herrenschmidt <benh@kernel.crashing.org>
-  Jeremy Kerr <jk@ozlabs.org>
-  Rick Altherr <raltherr@google.com>
-  Ryan Chen <ryan_chen@aspeedtech.com>
- " Arnd Bergmann <arnd@arndb.de>\0"
- "\01:1\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
+ "\00:1\0"
  "b\0"
  "On Tue, 2017-10-03 at 17:25 +1030, Joel Stanley wrote:\n"
  "> There are some resets that are not associated with gates. These are\n"
  "> represented by a reset controller.\n"
- ">\302\240\n"
+ ">?\n"
  "> Signed-off-by: Joel Stanley <joel@jms.id.au>\n"
  "\n"
  "With respect to the Aspeed hardware reset bits:\n"
  "\n"
  "Reviewed-by: Andrew Jeffery <andrew@aj.id.au>\n"
  "\n"
- ">\302\240\n"
+ ">?\n"
  "> ---\n"
  "> v3:\n"
- "> \302\240 - Add named initalisers for the reset defines\n"
- "> \302\240 - Add define for ADC\n"
+ "> ? - Add named initalisers for the reset defines\n"
+ "> ? - Add define for ADC\n"
  "> ---\n"
- "> \302\240drivers/clk/clk-aspeed.c\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| 82 +++++++++++++++++++++++++++++++-\n"
- "> \302\240include/dt-bindings/clock/aspeed-clock.h | 10 ++++\n"
- "> \302\2402 files changed, 91 insertions(+), 1 deletion(-)\n"
- ">\302\240\n"
+ "> ?drivers/clk/clk-aspeed.c?????????????????| 82 +++++++++++++++++++++++++++++++-\n"
+ "> ?include/dt-bindings/clock/aspeed-clock.h | 10 ++++\n"
+ "> ?2 files changed, 91 insertions(+), 1 deletion(-)\n"
+ ">?\n"
  "> diff --git a/drivers/clk/clk-aspeed.c b/drivers/clk/clk-aspeed.c\n"
  "> index a424b056e767..de491dc7f955 100644\n"
  "> --- a/drivers/clk/clk-aspeed.c\n"
  "> +++ b/drivers/clk/clk-aspeed.c\n"
  "> @@ -17,6 +17,7 @@\n"
- "> \302\240#include <linux/of_device.h>\n"
- "> \302\240#include <linux/platform_device.h>\n"
- "> \302\240#include <linux/regmap.h>\n"
+ "> ?#include <linux/of_device.h>\n"
+ "> ?#include <linux/platform_device.h>\n"
+ "> ?#include <linux/regmap.h>\n"
  "> +#include <linux/reset-controller.h>\n"
- "> \302\240#include <linux/slab.h>\n"
- "> \302\240#include <linux/spinlock.h>\n"
- "> \302\240\n"
+ "> ?#include <linux/slab.h>\n"
+ "> ?#include <linux/spinlock.h>\n"
+ "> ?\n"
  "> @@ -292,6 +293,68 @@ static const struct clk_ops aspeed_clk_gate_ops = {\n"
- "> \302\240\t.is_enabled = aspeed_clk_is_enabled,\n"
- "> \302\240};\n"
- "> \302\240\n"
+ "> ?\t.is_enabled = aspeed_clk_is_enabled,\n"
+ "> ?};\n"
+ "> ?\n"
  "> +/**\n"
  "> + * struct aspeed_reset - Aspeed reset controller\n"
  "> + * @map: regmap to access the containing system controller\n"
@@ -71,14 +60,14 @@
  "> +\t[ASPEED_RESET_ADC]\t= 23,\n"
  "> +\t[ASPEED_RESET_JTAG_MASTER] = 22,\n"
  "> +\t[ASPEED_RESET_MIC]\t= 18,\n"
- "> +\t[ASPEED_RESET_PWM]\t=\302\240\302\2409,\n"
- "> +\t[ASPEED_RESET_PCIVGA]\t=\302\240\302\2408,\n"
- "> +\t[ASPEED_RESET_I2C]\t=\302\240\302\2402,\n"
- "> +\t[ASPEED_RESET_AHB]\t=\302\240\302\2401,\n"
+ "> +\t[ASPEED_RESET_PWM]\t=??9,\n"
+ "> +\t[ASPEED_RESET_PCIVGA]\t=??8,\n"
+ "> +\t[ASPEED_RESET_I2C]\t=??2,\n"
+ "> +\t[ASPEED_RESET_AHB]\t=??1,\n"
  "> +};\n"
  "> +\n"
  "> +static int aspeed_reset_deassert(struct reset_controller_dev *rcdev,\n"
- "> +\t\t\t\t\302\240unsigned long id)\n"
+ "> +\t\t\t\t?unsigned long id)\n"
  "> +{\n"
  "> +\tstruct aspeed_reset *ar = to_aspeed_reset(rcdev);\n"
  "> +\tu32 rst = BIT(aspeed_resets[id]);\n"
@@ -87,7 +76,7 @@
  "> +}\n"
  "> +\n"
  "> +static int aspeed_reset_assert(struct reset_controller_dev *rcdev,\n"
- "> +\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240unsigned long id)\n"
+ "> +\t\t\t???????unsigned long id)\n"
  "> +{\n"
  "> +\tstruct aspeed_reset *ar = to_aspeed_reset(rcdev);\n"
  "> +\tu32 rst = BIT(aspeed_resets[id]);\n"
@@ -96,7 +85,7 @@
  "> +}\n"
  "> +\n"
  "> +static int aspeed_reset_status(struct reset_controller_dev *rcdev,\n"
- "> +\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240unsigned long id)\n"
+ "> +\t\t\t???????unsigned long id)\n"
  "> +{\n"
  "> +\tstruct aspeed_reset *ar = to_aspeed_reset(rcdev);\n"
  "> +\tu32 val, rst = BIT(aspeed_resets[id]);\n"
@@ -115,26 +104,26 @@
  "> +\t.status = aspeed_reset_status,\n"
  "> +};\n"
  "> +\n"
- "> \302\240static struct clk_hw *aspeed_clk_hw_register_gate(struct device *dev,\n"
- "> \302\240\t\tconst char *name, const char *parent_name, unsigned long flags,\n"
- "> \302\240\t\tstruct regmap *map, u8 clock_idx, u8 reset_idx,\n"
+ "> ?static struct clk_hw *aspeed_clk_hw_register_gate(struct device *dev,\n"
+ "> ?\t\tconst char *name, const char *parent_name, unsigned long flags,\n"
+ "> ?\t\tstruct regmap *map, u8 clock_idx, u8 reset_idx,\n"
  "> @@ -333,10 +396,11 @@ static int aspeed_clk_probe(struct platform_device *pdev)\n"
- "> \302\240{\n"
- "> \302\240\tconst struct aspeed_clk_soc_data *soc_data;\n"
- "> \302\240\tstruct device *dev = &pdev->dev;\n"
+ "> ?{\n"
+ "> ?\tconst struct aspeed_clk_soc_data *soc_data;\n"
+ "> ?\tstruct device *dev = &pdev->dev;\n"
  "> +\tstruct aspeed_reset *ar;\n"
- "> \302\240\tstruct regmap *map;\n"
- "> \302\240\tstruct clk_hw *hw;\n"
- "> \302\240\tu32 val, rate;\n"
+ "> ?\tstruct regmap *map;\n"
+ "> ?\tstruct clk_hw *hw;\n"
+ "> ?\tu32 val, rate;\n"
  "> -\tint i;\n"
  "> +\tint i, ret;\n"
- "> \302\240\n"
- "> \302\240\tmap = syscon_node_to_regmap(dev->of_node);\n"
- "> \302\240\tif (IS_ERR(map)) {\n"
+ "> ?\n"
+ "> ?\tmap = syscon_node_to_regmap(dev->of_node);\n"
+ "> ?\tif (IS_ERR(map)) {\n"
  "> @@ -344,6 +408,22 @@ static int aspeed_clk_probe(struct platform_device *pdev)\n"
- "> \302\240\t\treturn PTR_ERR(map);\n"
- "> \302\240\t}\n"
- "> \302\240\n"
+ "> ?\t\treturn PTR_ERR(map);\n"
+ "> ?\t}\n"
+ "> ?\n"
  "> +\tar = devm_kzalloc(dev, sizeof(*ar), GFP_KERNEL);\n"
  "> +\tif (!ar)\n"
  "> +\t\treturn -ENOMEM;\n"
@@ -151,17 +140,17 @@
  "> +\t\treturn ret;\n"
  "> +\t}\n"
  "> +\n"
- "> \302\240\t/* SoC generations share common layouts but have different divisors */\n"
- "> \302\240\tsoc_data = of_device_get_match_data(dev);\n"
- "> \302\240\tif (!soc_data) {\n"
+ "> ?\t/* SoC generations share common layouts but have different divisors */\n"
+ "> ?\tsoc_data = of_device_get_match_data(dev);\n"
+ "> ?\tif (!soc_data) {\n"
  "> diff --git a/include/dt-bindings/clock/aspeed-clock.h b/include/dt-bindings/clock/aspeed-clock.h\n"
  "> index 4a99421d77c8..8e19646d8025 100644\n"
  "> --- a/include/dt-bindings/clock/aspeed-clock.h\n"
  "> +++ b/include/dt-bindings/clock/aspeed-clock.h\n"
  "> @@ -39,4 +39,14 @@\n"
- "> \302\240\n"
- "> \302\240#define ASPEED_NUM_CLKS\t\t\t35\n"
- "> \302\240\n"
+ "> ?\n"
+ "> ?#define ASPEED_NUM_CLKS\t\t\t35\n"
+ "> ?\n"
  "> +#define ASPEED_RESET_XDMA\t\t0\n"
  "> +#define ASPEED_RESET_MCTP\t\t1\n"
  "> +#define ASPEED_RESET_ADC\t\t2\n"
@@ -172,26 +161,13 @@
  "> +#define ASPEED_RESET_I2C\t\t7\n"
  "> +#define ASPEED_RESET_AHB\t\t8\n"
  "> +\n"
- "> \302\240#endif"
- "\01:2\0"
- "fn\0signature.asc\0"
- "d\0This is a digitally signed message part\0"
- "b\0"
- "-----BEGIN PGP SIGNATURE-----\n"
- "\n"
- "iQIcBAABCgAGBQJZ1eN9AAoJEJ0dnzgO5LT51pYQAItQ7KxkuRPhx3xBj2w6XvlU\n"
- "OIad1Ympj9ucWF6oop9QvnoxZzDlXE2KUKr4t+ysF3cpqmf11AJU9hCVTgn5Ni2d\n"
- "zriGMwh0v55p2hAZ8/MPdWlrVZ2vWpuGgaRgiKz/rwkatpJ2Vq8CH3lxYoIHtBIo\n"
- "uwvocBPo4rUETHy6eTHup5+2O7nlz6dF5TaLRIfEcKAr7cpsKsmI3SxFdTekSTsz\n"
- "bwxRCPun5oV4WKGBgioCoU4tGCwMlxY3Aiw5LEF5evHziVegtQRQrSILpUeeiVFC\n"
- "EEDpl/wiJoSCHYqMQK2+FQF5jZlv77JyCu8x5+Um11ln/zpN4XqEsDx972JNLXpx\n"
- "cNqgLTqHTgdsnAE5NFDpiRX03mNJ1A5/oNJPocQ/z4wkwZIgHJB1s7uxKS2AqEF3\n"
- "oxxKDsB5EffzMxatls7EEtkWqsraJJb+1/mMbQ5z+d23XGYt331jjRebWuoAGNEG\n"
- "PxBohwQJX/Y/bAsTZy5RU8Rz2m8i1t1KyamQ0tLDXLZZusUOls7fLpBnA8pFyrIm\n"
- "tqMniMh/urlplQEd52p1uG5irJYS5YHD//L6snD8syXVsA1BqTqFilj+7ij8yZkT\n"
- "R8uqO0pk2BnJD53QlyX8xlQL5cPqsrRtcB0FjRxLZTwLCbZ8dvO/2EcjIUiWwi9S\n"
- "a7OAlINUgjwrW+RfzVaL\n"
- "=Sc1p\n"
- "-----END PGP SIGNATURE-----\n"
+ "> ?#endif\n"
+ "-------------- next part --------------\n"
+ "A non-text attachment was scrubbed...\n"
+ "Name: signature.asc\n"
+ "Type: application/pgp-signature\n"
+ "Size: 801 bytes\n"
+ "Desc: This is a digitally signed message part\n"
+ URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171005/75109006/attachment-0001.sig>
 
-3604b2fb38805d93b6ca361e6df63483e25408377457c4cad60c6dc257561b17
+2f696edb75980d9a9b79d1a2d07817d33512a540d711a1b10dcb492e0123232b

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.