All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] constify usb attribute_group structures.
@ 2017-08-04 12:06 Arvind Yadav
  2017-08-04 12:06 ` [PATCH 01/11] usb: atm: ueagle-atm: constify " Arvind Yadav
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Arvind Yadav (11):
  [PATCH 01/11] usb: atm: ueagle-atm: constify attribute_group structures.
  [PATCH 02/11] usb: chipidea: constify attribute_group structures.
  [PATCH 03/11] usb: chipidea: otg_fsm: constify attribute_group structures.
  [PATCH 04/11] usb: usbtmc: constify attribute_group structures.
  [PATCH 05/11] usb: hcd: constify attribute_group structures.
  [PATCH 06/11] usb: usbsevseg: constify attribute_group structures.
  [PATCH 07/11] usb: phy-mv-usb: constify attribute_group structures.
  [PATCH 08/11] usb: phy-tahvo: constify attribute_group structures.
  [PATCH 09/11] usb: wusbcore: cbaf: constify attribute_group structures.
  [PATCH 10/11] usb: wusbcore: dev-sysfs: constify attribute_group structures.
  [PATCH 11/11] usb: wusbcore: wusbhc: constify attribute_group structures.

 drivers/usb/atm/ueagle-atm.c     | 2 +-
 drivers/usb/chipidea/core.c      | 2 +-
 drivers/usb/chipidea/otg_fsm.c   | 2 +-
 drivers/usb/class/usbtmc.c       | 4 ++--
 drivers/usb/core/hcd.c           | 2 +-
 drivers/usb/misc/usbsevseg.c     | 2 +-
 drivers/usb/phy/phy-mv-usb.c     | 2 +-
 drivers/usb/phy/phy-tahvo.c      | 2 +-
 drivers/usb/wusbcore/cbaf.c      | 2 +-
 drivers/usb/wusbcore/dev-sysfs.c | 2 +-
 drivers/usb/wusbcore/wusbhc.c    | 2 +-
 11 files changed, 12 insertions(+), 12 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 01/11] usb: atm: ueagle-atm: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  2017-08-04 12:06 ` [PATCH 02/11] usb: chipidea: " Arvind Yadav
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/atm/ueagle-atm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c
index df67815..5f31d88 100644
--- a/drivers/usb/atm/ueagle-atm.c
+++ b/drivers/usb/atm/ueagle-atm.c
@@ -2522,7 +2522,7 @@ static int claim_interface(struct usb_device *usb_dev,
 	&dev_attr_stat_firmid.attr,
 	NULL,
 };
-static struct attribute_group attr_grp = {
+static const struct attribute_group attr_grp = {
 	.attrs = attrs,
 };
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 02/11] usb: chipidea: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
  2017-08-04 12:06 ` [PATCH 01/11] usb: atm: ueagle-atm: constify " Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  2017-08-04 12:06 ` [PATCH 03/11] usb: chipidea: otg_fsm: " Arvind Yadav
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/chipidea/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index b17ed3a..1ef3ae4 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -887,7 +887,7 @@ static ssize_t ci_role_store(struct device *dev,
 	NULL,
 };
 
-static struct attribute_group ci_attr_group = {
+static const struct attribute_group ci_attr_group = {
 	.attrs = ci_attrs,
 };
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 03/11] usb: chipidea: otg_fsm: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
  2017-08-04 12:06 ` [PATCH 01/11] usb: atm: ueagle-atm: constify " Arvind Yadav
  2017-08-04 12:06 ` [PATCH 02/11] usb: chipidea: " Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  2017-08-04 12:06 ` [PATCH 04/11] usb: usbtmc: " Arvind Yadav
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/chipidea/otg_fsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/chipidea/otg_fsm.c b/drivers/usb/chipidea/otg_fsm.c
index 949183e..5ea0246 100644
--- a/drivers/usb/chipidea/otg_fsm.c
+++ b/drivers/usb/chipidea/otg_fsm.c
@@ -193,7 +193,7 @@ static DEVICE_ATTR(a_bus_drop, S_IRUGO | S_IWUSR, get_a_bus_drop,
 	NULL,
 };
 
-static struct attribute_group inputs_attr_group = {
+static const struct attribute_group inputs_attr_group = {
 	.name = "inputs",
 	.attrs = inputs_attrs,
 };
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 04/11] usb: usbtmc: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
                   ` (2 preceding siblings ...)
  2017-08-04 12:06 ` [PATCH 03/11] usb: chipidea: otg_fsm: " Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  2017-08-04 12:06 ` [PATCH 05/11] usb: hcd: " Arvind Yadav
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/class/usbtmc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c
index 578f424..6ebfabf 100644
--- a/drivers/usb/class/usbtmc.c
+++ b/drivers/usb/class/usbtmc.c
@@ -1085,7 +1085,7 @@ static DEVICE_ATTR_RO(name)
 	NULL,
 };
 
-static struct attribute_group capability_attr_grp = {
+static const struct attribute_group capability_attr_grp = {
 	.attrs = capability_attrs,
 };
 
@@ -1151,7 +1151,7 @@ static DEVICE_ATTR_RW(name)
 	NULL,
 };
 
-static struct attribute_group data_attr_grp = {
+static const struct attribute_group data_attr_grp = {
 	.attrs = data_attrs,
 };
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 05/11] usb: hcd: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
                   ` (3 preceding siblings ...)
  2017-08-04 12:06 ` [PATCH 04/11] usb: usbtmc: " Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  2017-08-04 12:06 ` [PATCH 06/11] usb: usbsevseg: " Arvind Yadav
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/core/hcd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index ab1bb3b..df978d6 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -972,7 +972,7 @@ static ssize_t interface_authorized_default_store(struct device *dev,
 		NULL,
 };
 
-static struct attribute_group usb_bus_attr_group = {
+static const struct attribute_group usb_bus_attr_group = {
 	.name = NULL,	/* we want them in the same directory */
 	.attrs = usb_bus_attrs,
 };
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 06/11] usb: usbsevseg: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
                   ` (4 preceding siblings ...)
  2017-08-04 12:06 ` [PATCH 05/11] usb: hcd: " Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  2017-08-04 12:06 ` [PATCH 07/11] usb: phy-mv-usb: " Arvind Yadav
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/misc/usbsevseg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/misc/usbsevseg.c b/drivers/usb/misc/usbsevseg.c
index 388fae6..3f6a280 100644
--- a/drivers/usb/misc/usbsevseg.c
+++ b/drivers/usb/misc/usbsevseg.c
@@ -330,7 +330,7 @@ static ssize_t set_attr_textmode(struct device *dev,
 	NULL
 };
 
-static struct attribute_group dev_attr_grp = {
+static const struct attribute_group dev_attr_grp = {
 	.attrs = dev_attrs,
 };
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 07/11] usb: phy-mv-usb: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
                   ` (5 preceding siblings ...)
  2017-08-04 12:06 ` [PATCH 06/11] usb: usbsevseg: " Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  2017-08-04 12:06 ` [PATCH 08/11] usb: phy-tahvo: " Arvind Yadav
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/phy/phy-mv-usb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/phy/phy-mv-usb.c b/drivers/usb/phy/phy-mv-usb.c
index 697a741..d17cc92 100644
--- a/drivers/usb/phy/phy-mv-usb.c
+++ b/drivers/usb/phy/phy-mv-usb.c
@@ -650,7 +650,7 @@ static DEVICE_ATTR(a_bus_drop, S_IRUGO | S_IWUSR,
 	NULL,
 };
 
-static struct attribute_group inputs_attr_group = {
+static const struct attribute_group inputs_attr_group = {
 	.name = "inputs",
 	.attrs = inputs_attrs,
 };
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 08/11] usb: phy-tahvo: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
                   ` (6 preceding siblings ...)
  2017-08-04 12:06 ` [PATCH 07/11] usb: phy-mv-usb: " Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  2017-08-04 12:06 ` [PATCH 09/11] usb: wusbcore: cbaf: " Arvind Yadav
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/phy/phy-tahvo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/phy/phy-tahvo.c b/drivers/usb/phy/phy-tahvo.c
index a31c868..8babd31 100644
--- a/drivers/usb/phy/phy-tahvo.c
+++ b/drivers/usb/phy/phy-tahvo.c
@@ -326,7 +326,7 @@ static ssize_t otg_mode_store(struct device *device,
 	NULL
 };
 
-static struct attribute_group tahvo_attr_group = {
+static const struct attribute_group tahvo_attr_group = {
 	.attrs = tahvo_attributes,
 };
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 09/11] usb: wusbcore: cbaf: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
                   ` (7 preceding siblings ...)
  2017-08-04 12:06 ` [PATCH 08/11] usb: phy-tahvo: " Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  2017-08-04 12:06 ` [PATCH 10/11] usb: wusbcore: dev-sysfs: " Arvind Yadav
  2017-08-04 12:06 ` [PATCH 11/11] usb: wusbcore: wusbhc: " Arvind Yadav
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/wusbcore/cbaf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/wusbcore/cbaf.c b/drivers/usb/wusbcore/cbaf.c
index fb70cbef..aa4e440 100644
--- a/drivers/usb/wusbcore/cbaf.c
+++ b/drivers/usb/wusbcore/cbaf.c
@@ -586,7 +586,7 @@ static ssize_t cbaf_wusb_ck_store(struct device *dev,
 	NULL,
 };
 
-static struct attribute_group cbaf_dev_attr_group = {
+static const struct attribute_group cbaf_dev_attr_group = {
 	.name = NULL,	/* we want them in the same directory */
 	.attrs = cbaf_dev_attrs,
 };
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 10/11] usb: wusbcore: dev-sysfs: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
                   ` (8 preceding siblings ...)
  2017-08-04 12:06 ` [PATCH 09/11] usb: wusbcore: cbaf: " Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  2017-08-04 12:06 ` [PATCH 11/11] usb: wusbcore: wusbhc: " Arvind Yadav
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/wusbcore/dev-sysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/wusbcore/dev-sysfs.c b/drivers/usb/wusbcore/dev-sysfs.c
index d4de56b..78212f8 100644
--- a/drivers/usb/wusbcore/dev-sysfs.c
+++ b/drivers/usb/wusbcore/dev-sysfs.c
@@ -114,7 +114,7 @@ static ssize_t wusb_ck_store(struct device *dev,
 		NULL,
 };
 
-static struct attribute_group wusb_dev_attr_group = {
+static const struct attribute_group wusb_dev_attr_group = {
 	.name = NULL,	/* we want them in the same directory */
 	.attrs = wusb_dev_attrs,
 };
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 11/11] usb: wusbcore: wusbhc: constify attribute_group structures.
  2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
                   ` (9 preceding siblings ...)
  2017-08-04 12:06 ` [PATCH 10/11] usb: wusbcore: dev-sysfs: " Arvind Yadav
@ 2017-08-04 12:06 ` Arvind Yadav
  10 siblings, 0 replies; 12+ messages in thread
From: Arvind Yadav @ 2017-08-04 12:06 UTC (permalink / raw
  To: Peter.Chen, balbi, baoyou.xie, castet.matthieu, stf_xl, gregkh
  Cc: linux-kernel, linux-usb

attribute_group are not supposed to change at runtime. All functions
working with attribute_group provided by <linux/sysfs.h> work with
const attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/usb/wusbcore/wusbhc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/wusbcore/wusbhc.c b/drivers/usb/wusbcore/wusbhc.c
index a273a91..5338e42 100644
--- a/drivers/usb/wusbcore/wusbhc.c
+++ b/drivers/usb/wusbcore/wusbhc.c
@@ -244,7 +244,7 @@ static ssize_t wusb_retry_count_store(struct device *dev,
 		NULL,
 };
 
-static struct attribute_group wusbhc_attr_group = {
+static const struct attribute_group wusbhc_attr_group = {
 	.name = NULL,	/* we want them in the same directory */
 	.attrs = wusbhc_attrs,
 };
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-08-04 12:10 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-04 12:06 [PATCH 00/11] constify usb attribute_group structures Arvind Yadav
2017-08-04 12:06 ` [PATCH 01/11] usb: atm: ueagle-atm: constify " Arvind Yadav
2017-08-04 12:06 ` [PATCH 02/11] usb: chipidea: " Arvind Yadav
2017-08-04 12:06 ` [PATCH 03/11] usb: chipidea: otg_fsm: " Arvind Yadav
2017-08-04 12:06 ` [PATCH 04/11] usb: usbtmc: " Arvind Yadav
2017-08-04 12:06 ` [PATCH 05/11] usb: hcd: " Arvind Yadav
2017-08-04 12:06 ` [PATCH 06/11] usb: usbsevseg: " Arvind Yadav
2017-08-04 12:06 ` [PATCH 07/11] usb: phy-mv-usb: " Arvind Yadav
2017-08-04 12:06 ` [PATCH 08/11] usb: phy-tahvo: " Arvind Yadav
2017-08-04 12:06 ` [PATCH 09/11] usb: wusbcore: cbaf: " Arvind Yadav
2017-08-04 12:06 ` [PATCH 10/11] usb: wusbcore: dev-sysfs: " Arvind Yadav
2017-08-04 12:06 ` [PATCH 11/11] usb: wusbcore: wusbhc: " Arvind Yadav

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.