* [PATCH] ARM: Drop CONFIG_RTC_LIB dependency @ 2016-04-02 4:00 Ezequiel Garcia 2016-04-15 17:58 ` Ezequiel Garcia 0 siblings, 1 reply; 6+ messages in thread From: Ezequiel Garcia @ 2016-04-02 4:00 UTC (permalink / raw) To: linux-arm-kernel The rtc-lib dependency seems to be here for very old historical reasons, but nowadays it shouldn't be needed. If any ARM platform requires rtc-lib, they should select it individually. Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> --- arch/arm/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index cdfa6c2b7626..8efb1c605ac8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -84,7 +84,6 @@ config ARM select OLD_SIGACTION select OLD_SIGSUSPEND3 select PERF_USE_VMALLOC - select RTC_LIB select SYS_SUPPORTS_APM_EMULATION # Above selects are sorted alphabetically; please add new ones # according to that. Thanks. -- 2.7.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] ARM: Drop CONFIG_RTC_LIB dependency 2016-04-02 4:00 [PATCH] ARM: Drop CONFIG_RTC_LIB dependency Ezequiel Garcia @ 2016-04-15 17:58 ` Ezequiel Garcia 2016-04-15 18:31 ` Arnd Bergmann 0 siblings, 1 reply; 6+ messages in thread From: Ezequiel Garcia @ 2016-04-15 17:58 UTC (permalink / raw) To: linux-arm-kernel +Arnd On 2 April 2016 at 01:00, Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> wrote: > The rtc-lib dependency seems to be here for very old historical > reasons, but nowadays it shouldn't be needed. If any ARM > platform requires rtc-lib, they should select it individually. > > Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> > --- > arch/arm/Kconfig | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index cdfa6c2b7626..8efb1c605ac8 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -84,7 +84,6 @@ config ARM > select OLD_SIGACTION > select OLD_SIGSUSPEND3 > select PERF_USE_VMALLOC > - select RTC_LIB > select SYS_SUPPORTS_APM_EMULATION > # Above selects are sorted alphabetically; please add new ones > # according to that. Thanks. > -- > 2.7.0 > If there's no feedback on this, I'll add it to Russell's patch tracker. Thanks, -- Ezequiel Garc?a, VanguardiaSur www.vanguardiasur.com.ar ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] ARM: Drop CONFIG_RTC_LIB dependency 2016-04-15 17:58 ` Ezequiel Garcia @ 2016-04-15 18:31 ` Arnd Bergmann 2016-04-15 19:22 ` Ezequiel Garcia 0 siblings, 1 reply; 6+ messages in thread From: Arnd Bergmann @ 2016-04-15 18:31 UTC (permalink / raw) To: linux-arm-kernel On Friday 15 April 2016 14:58:10 Ezequiel Garcia wrote: > +Arnd > > On 2 April 2016 at 01:00, Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> wrote: > > The rtc-lib dependency seems to be here for very old historical > > reasons, but nowadays it shouldn't be needed. If any ARM > > platform requires rtc-lib, they should select it individually. > > > > Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> > > --- > > arch/arm/Kconfig | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > index cdfa6c2b7626..8efb1c605ac8 100644 > > --- a/arch/arm/Kconfig > > +++ b/arch/arm/Kconfig > > @@ -84,7 +84,6 @@ config ARM > > select OLD_SIGACTION > > select OLD_SIGSUSPEND3 > > select PERF_USE_VMALLOC > > - select RTC_LIB > > select SYS_SUPPORTS_APM_EMULATION > > # Above selects are sorted alphabetically; please add new ones > > # according to that. Thanks. > > -- > > 2.7.0 > > > > If there's no feedback on this, I'll add it to Russell's patch tracker. Sorry for missing this the first time around. The patch looks fine to me, but I wonder if we should just do this for all architectures, the patch below looks like it should do the trick. If you want to have your ARM patch merged separately, that's fine too, please add my Reviewed-by: Arnd Bergmann <arnd@arndb.de> Arnd 8<------ [PATCH] RTC: Drop CONFIG_RTC_LIB symbol The rtc-lib dependency seems to be here for very old historical reasons, but nowadays it shouldn't be needed. If any architecture platform requires rtc-lib support, it already needs to enable the CONFIG_RTC_CLASS along with the specific driver. This also fixes the dependency list for CONFIG_RTC and CONFIG_GEN_RTC so they don't include x86, which could no longer select these drivers after 3195ef59cb42 ("x86: Do full rtc synchronization with ntp"). Based on patch from Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: Arnd Bergmann <arnd@arndb.de> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 5cba8bd6172c..62c209504c0a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -85,7 +85,6 @@ config ARM select OLD_SIGACTION select OLD_SIGSUSPEND3 select PERF_USE_VMALLOC - select RTC_LIB select SYS_SUPPORTS_APM_EMULATION # Above selects are sorted alphabetically; please add new ones # according to that. Thanks. diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index c9a3161e0aed..635dce3ee9cc 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -93,7 +93,6 @@ config ARM64 select PERF_USE_VMALLOC select POWER_RESET select POWER_SUPPLY - select RTC_LIB select SPARSE_IRQ select SYSCTL_EXCEPTION_TRACE select HAVE_CONTEXT_TRACKING diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 35d92a119f9d..2dbc7893fba8 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -28,7 +28,6 @@ config MIPS select HAVE_SYSCALL_TRACEPOINTS select ARCH_HAS_ELF_RANDOMIZE select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT - select RTC_LIB if !MACH_LOONGSON64 select GENERIC_ATOMIC64 if !64BIT select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select HAVE_DMA_CONTIGUOUS diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index cb93af8f8017..86c180436396 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -30,7 +30,6 @@ config SUPERH select HAVE_REGS_AND_STACK_ACCESS_API select MAY_HAVE_SPARSE_IRQ select IRQ_FORCED_THREADING - select RTC_LIB select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW select GENERIC_SMP_IDLE_THREAD diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 2632f6017cc1..3fea91106533 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -149,7 +149,6 @@ config X86 select OLD_SIGACTION if X86_32 select OLD_SIGSUSPEND3 if X86_32 || IA32_EMULATION select PERF_EVENTS - select RTC_LIB select SPARSE_IRQ select SRCU select SYSCTL_EXCEPTION_TRACE diff --git a/drivers/Makefile b/drivers/Makefile index 8be1ea2d1936..e71f4c7cd579 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -98,7 +98,7 @@ obj-y += usb/ obj-$(CONFIG_SERIO) += input/serio/ obj-$(CONFIG_GAMEPORT) += input/gameport/ obj-$(CONFIG_INPUT) += input/ -obj-$(CONFIG_RTC_LIB) += rtc/ +obj-$(CONFIG_RTC_CLASS) += rtc/ obj-y += i2c/ media/ obj-$(CONFIG_PPS) += pps/ obj-$(CONFIG_PTP_1588_CLOCK) += ptp/ diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig index 629f1ff389b6..b5abc048362f 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig @@ -275,11 +275,11 @@ config NVRAM # These legacy RTC drivers just cause too many conflicts with the generic # RTC framework ... let's not even try to coexist any more. # -if RTC_LIB=n +if RTC_CLASS=n config RTC tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)" - depends on ALPHA || M32R || M68K || MIPS || MN10300 || PPC || X86 + depends on ALPHA || M32R || M68K || (MIPS && MACH_LOONGSON64) || MN10300 || PPC ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you @@ -328,7 +328,7 @@ config JS_RTC config GEN_RTC tristate "Generic /dev/rtc emulation" depends on RTC!=y - depends on ALPHA || M68K || MN10300 || PARISC || PPC || X86 + depends on ALPHA || M68K || MN10300 || PARISC || PPC ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you @@ -364,7 +364,7 @@ config DS1302 will get access to the real time clock (or hardware clock) built into your computer. -endif # RTC_LIB +endif # RTC_CLASS config DTLK tristate "Double Talk PC internal speech card support" diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index f1e1f502be5d..59150f6c22f3 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -2,14 +2,10 @@ # RTC class/drivers configuration # -config RTC_LIB - bool - menuconfig RTC_CLASS bool "Real Time Clock" default n depends on !S390 && !UML - select RTC_LIB help Generic RTC class support. If you say yes here, you will be allowed to plug one or more RTCs to your system. You will diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile index ea2833723fa9..e44a0af93e7e 100644 --- a/drivers/rtc/Makefile +++ b/drivers/rtc/Makefile @@ -4,11 +4,10 @@ ccflags-$(CONFIG_RTC_DEBUG) := -DDEBUG -obj-$(CONFIG_RTC_LIB) += rtc-lib.o obj-$(CONFIG_RTC_HCTOSYS) += hctosys.o obj-$(CONFIG_RTC_SYSTOHC) += systohc.o obj-$(CONFIG_RTC_CLASS) += rtc-core.o -rtc-core-y := class.o interface.o +rtc-core-y := class.o interface.o rtc-lib.o ifdef CONFIG_RTC_DRV_EFI rtc-core-y += rtc-efi-platform.o ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] ARM: Drop CONFIG_RTC_LIB dependency 2016-04-15 18:31 ` Arnd Bergmann @ 2016-04-15 19:22 ` Ezequiel Garcia 2016-04-26 20:34 ` Arnd Bergmann 0 siblings, 1 reply; 6+ messages in thread From: Ezequiel Garcia @ 2016-04-15 19:22 UTC (permalink / raw) To: linux-arm-kernel On 15 April 2016 at 15:31, Arnd Bergmann <arnd@arndb.de> wrote: > On Friday 15 April 2016 14:58:10 Ezequiel Garcia wrote: >> +Arnd >> >> On 2 April 2016 at 01:00, Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> wrote: >> > The rtc-lib dependency seems to be here for very old historical >> > reasons, but nowadays it shouldn't be needed. If any ARM >> > platform requires rtc-lib, they should select it individually. >> > >> > Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> >> > --- >> > arch/arm/Kconfig | 1 - >> > 1 file changed, 1 deletion(-) >> > >> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >> > index cdfa6c2b7626..8efb1c605ac8 100644 >> > --- a/arch/arm/Kconfig >> > +++ b/arch/arm/Kconfig >> > @@ -84,7 +84,6 @@ config ARM >> > select OLD_SIGACTION >> > select OLD_SIGSUSPEND3 >> > select PERF_USE_VMALLOC >> > - select RTC_LIB >> > select SYS_SUPPORTS_APM_EMULATION >> > # Above selects are sorted alphabetically; please add new ones >> > # according to that. Thanks. >> > -- >> > 2.7.0 >> > >> >> If there's no feedback on this, I'll add it to Russell's patch tracker. > > Sorry for missing this the first time around. The patch looks fine to me, > but I wonder if we should just do this for all architectures, the patch > below looks like it should do the trick. If you want to have your ARM > patch merged separately, that's fine too, please add my > > Reviewed-by: Arnd Bergmann <arnd@arndb.de> > Sure, if your patch does not break any platform, then I think it's much better than taking mine. Thanks! > Arnd > > 8<------ > [PATCH] RTC: Drop CONFIG_RTC_LIB symbol > > The rtc-lib dependency seems to be here for very old historical > reasons, but nowadays it shouldn't be needed. If any architecture > platform requires rtc-lib support, it already needs to enable the > CONFIG_RTC_CLASS along with the specific driver. > > This also fixes the dependency list for CONFIG_RTC and CONFIG_GEN_RTC > so they don't include x86, which could no longer select these drivers > after 3195ef59cb42 ("x86: Do full rtc synchronization with ntp"). > > Based on patch from Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 5cba8bd6172c..62c209504c0a 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -85,7 +85,6 @@ config ARM > select OLD_SIGACTION > select OLD_SIGSUSPEND3 > select PERF_USE_VMALLOC > - select RTC_LIB > select SYS_SUPPORTS_APM_EMULATION > # Above selects are sorted alphabetically; please add new ones > # according to that. Thanks. > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index c9a3161e0aed..635dce3ee9cc 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -93,7 +93,6 @@ config ARM64 > select PERF_USE_VMALLOC > select POWER_RESET > select POWER_SUPPLY > - select RTC_LIB > select SPARSE_IRQ > select SYSCTL_EXCEPTION_TRACE > select HAVE_CONTEXT_TRACKING > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig > index 35d92a119f9d..2dbc7893fba8 100644 > --- a/arch/mips/Kconfig > +++ b/arch/mips/Kconfig > @@ -28,7 +28,6 @@ config MIPS > select HAVE_SYSCALL_TRACEPOINTS > select ARCH_HAS_ELF_RANDOMIZE > select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT > - select RTC_LIB if !MACH_LOONGSON64 > select GENERIC_ATOMIC64 if !64BIT > select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE > select HAVE_DMA_CONTIGUOUS > diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig > index cb93af8f8017..86c180436396 100644 > --- a/arch/sh/Kconfig > +++ b/arch/sh/Kconfig > @@ -30,7 +30,6 @@ config SUPERH > select HAVE_REGS_AND_STACK_ACCESS_API > select MAY_HAVE_SPARSE_IRQ > select IRQ_FORCED_THREADING > - select RTC_LIB > select GENERIC_ATOMIC64 > select GENERIC_IRQ_SHOW > select GENERIC_SMP_IDLE_THREAD > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index 2632f6017cc1..3fea91106533 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -149,7 +149,6 @@ config X86 > select OLD_SIGACTION if X86_32 > select OLD_SIGSUSPEND3 if X86_32 || IA32_EMULATION > select PERF_EVENTS > - select RTC_LIB > select SPARSE_IRQ > select SRCU > select SYSCTL_EXCEPTION_TRACE > diff --git a/drivers/Makefile b/drivers/Makefile > index 8be1ea2d1936..e71f4c7cd579 100644 > --- a/drivers/Makefile > +++ b/drivers/Makefile > @@ -98,7 +98,7 @@ obj-y += usb/ > obj-$(CONFIG_SERIO) += input/serio/ > obj-$(CONFIG_GAMEPORT) += input/gameport/ > obj-$(CONFIG_INPUT) += input/ > -obj-$(CONFIG_RTC_LIB) += rtc/ > +obj-$(CONFIG_RTC_CLASS) += rtc/ > obj-y += i2c/ media/ > obj-$(CONFIG_PPS) += pps/ > obj-$(CONFIG_PTP_1588_CLOCK) += ptp/ > diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig > index 629f1ff389b6..b5abc048362f 100644 > --- a/drivers/char/Kconfig > +++ b/drivers/char/Kconfig > @@ -275,11 +275,11 @@ config NVRAM > # These legacy RTC drivers just cause too many conflicts with the generic > # RTC framework ... let's not even try to coexist any more. > # > -if RTC_LIB=n > +if RTC_CLASS=n > > config RTC > tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)" > - depends on ALPHA || M32R || M68K || MIPS || MN10300 || PPC || X86 > + depends on ALPHA || M32R || M68K || (MIPS && MACH_LOONGSON64) || MN10300 || PPC > ---help--- > If you say Y here and create a character special file /dev/rtc with > major number 10 and minor number 135 using mknod ("man mknod"), you > @@ -328,7 +328,7 @@ config JS_RTC > config GEN_RTC > tristate "Generic /dev/rtc emulation" > depends on RTC!=y > - depends on ALPHA || M68K || MN10300 || PARISC || PPC || X86 > + depends on ALPHA || M68K || MN10300 || PARISC || PPC > ---help--- > If you say Y here and create a character special file /dev/rtc with > major number 10 and minor number 135 using mknod ("man mknod"), you > @@ -364,7 +364,7 @@ config DS1302 > will get access to the real time clock (or hardware clock) built > into your computer. > > -endif # RTC_LIB > +endif # RTC_CLASS > > config DTLK > tristate "Double Talk PC internal speech card support" > diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig > index f1e1f502be5d..59150f6c22f3 100644 > --- a/drivers/rtc/Kconfig > +++ b/drivers/rtc/Kconfig > @@ -2,14 +2,10 @@ > # RTC class/drivers configuration > # > > -config RTC_LIB > - bool > - > menuconfig RTC_CLASS > bool "Real Time Clock" > default n > depends on !S390 && !UML > - select RTC_LIB > help > Generic RTC class support. If you say yes here, you will > be allowed to plug one or more RTCs to your system. You will > diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile > index ea2833723fa9..e44a0af93e7e 100644 > --- a/drivers/rtc/Makefile > +++ b/drivers/rtc/Makefile > @@ -4,11 +4,10 @@ > > ccflags-$(CONFIG_RTC_DEBUG) := -DDEBUG > > -obj-$(CONFIG_RTC_LIB) += rtc-lib.o > obj-$(CONFIG_RTC_HCTOSYS) += hctosys.o > obj-$(CONFIG_RTC_SYSTOHC) += systohc.o > obj-$(CONFIG_RTC_CLASS) += rtc-core.o > -rtc-core-y := class.o interface.o > +rtc-core-y := class.o interface.o rtc-lib.o > > ifdef CONFIG_RTC_DRV_EFI > rtc-core-y += rtc-efi-platform.o > -- Ezequiel Garc?a, VanguardiaSur www.vanguardiasur.com.ar ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] ARM: Drop CONFIG_RTC_LIB dependency 2016-04-15 19:22 ` Ezequiel Garcia @ 2016-04-26 20:34 ` Arnd Bergmann 2016-04-27 16:58 ` Ezequiel Garcia 0 siblings, 1 reply; 6+ messages in thread From: Arnd Bergmann @ 2016-04-26 20:34 UTC (permalink / raw) To: linux-arm-kernel On Friday 15 April 2016 16:22:18 Ezequiel Garcia wrote: > > Sorry for missing this the first time around. The patch looks fine to me, > > but I wonder if we should just do this for all architectures, the patch > > below looks like it should do the trick. If you want to have your ARM > > patch merged separately, that's fine too, please add my > > > > Reviewed-by: Arnd Bergmann <arnd@arndb.de> > > > > Sure, if your patch does not break any platform, then > I think it's much better than taking mine. I've gone through my patches again to see which ones to submit and it turned out that mine was wrong: we can't remove the symbol because some architectures (not ARM) symbols exported by drivers/rtc/rtc-lib.c. Your patch is fine, and we can do the same thing on arm64. Arnd ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] ARM: Drop CONFIG_RTC_LIB dependency 2016-04-26 20:34 ` Arnd Bergmann @ 2016-04-27 16:58 ` Ezequiel Garcia 0 siblings, 0 replies; 6+ messages in thread From: Ezequiel Garcia @ 2016-04-27 16:58 UTC (permalink / raw) To: linux-arm-kernel On 26 April 2016 at 17:34, Arnd Bergmann <arnd@arndb.de> wrote: > On Friday 15 April 2016 16:22:18 Ezequiel Garcia wrote: >> > Sorry for missing this the first time around. The patch looks fine to me, >> > but I wonder if we should just do this for all architectures, the patch >> > below looks like it should do the trick. If you want to have your ARM >> > patch merged separately, that's fine too, please add my >> > >> > Reviewed-by: Arnd Bergmann <arnd@arndb.de> >> > >> >> Sure, if your patch does not break any platform, then >> I think it's much better than taking mine. > > I've gone through my patches again to see which ones to submit and > it turned out that mine was wrong: we can't remove the symbol > because some architectures (not ARM) symbols exported by > drivers/rtc/rtc-lib.c. > Yeah, that was my impression, but I wasn't sure about it. Thanks for confirming it. > Your patch is fine, and we can do the same thing on arm64. > OK, I just sent a patch for arm64 and I'll be pushing this one to Russell's tracker. -- Ezequiel Garc?a, VanguardiaSur www.vanguardiasur.com.ar ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-04-27 16:58 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-04-02 4:00 [PATCH] ARM: Drop CONFIG_RTC_LIB dependency Ezequiel Garcia 2016-04-15 17:58 ` Ezequiel Garcia 2016-04-15 18:31 ` Arnd Bergmann 2016-04-15 19:22 ` Ezequiel Garcia 2016-04-26 20:34 ` Arnd Bergmann 2016-04-27 16:58 ` Ezequiel Garcia
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.