All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [lee-mfd:ib-mfd-clk-gpio-regulator-rtc-5.13 12/16] drivers/regulator/bd718x7-regulator.c:351:20: error: 'regulator_set_ramp_delay_regmap' undeclared here (not in a function); did you mean 'regulator_set_pull_down_regmap'?
Date: Wed, 14 Apr 2021 21:07:59 +0800	[thread overview]
Message-ID: <202104142148.VfEpjGbN-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 19235 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-clk-gpio-regulator-rtc-5.13
head:   5a8a64d9a38b9d3794f9f5e153fc0358b858cc24
commit: 18f3c62586f7b4e1f038f570acda61a25c97c4ee [12/16] regulator: bd718x7, bd71828: Use ramp-delay helper
config: i386-randconfig-s002-20210414 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-280-g2cd6d34e-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git/commit/?id=18f3c62586f7b4e1f038f570acda61a25c97c4ee
        git remote add lee-mfd https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git
        git fetch --no-tags lee-mfd ib-mfd-clk-gpio-regulator-rtc-5.13
        git checkout 18f3c62586f7b4e1f038f570acda61a25c97c4ee
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

>> drivers/regulator/bd718x7-regulator.c:351:20: error: 'regulator_set_ramp_delay_regmap' undeclared here (not in a function); did you mean 'regulator_set_pull_down_regmap'?
     351 |  .set_ramp_delay = regulator_set_ramp_delay_regmap,
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                    regulator_set_pull_down_regmap
>> drivers/regulator/bd718x7-regulator.c:618:5: error: 'struct regulator_desc' has no member named 'ramp_delay_table'; did you mean 'ramp_delay'?
     618 |    .ramp_delay_table = bd718xx_ramp_delay,
         |     ^~~~~~~~~~~~~~~~
         |     ramp_delay
>> drivers/regulator/bd718x7-regulator.c:618:24: warning: initialization of 'unsigned int' from 'const unsigned int *' makes integer from pointer without a cast [-Wint-conversion]
     618 |    .ramp_delay_table = bd718xx_ramp_delay,
         |                        ^~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:618:24: note: (near initialization for 'bd71847_regulators[0].desc.min_uV')
>> drivers/regulator/bd718x7-regulator.c:619:5: error: 'struct regulator_desc' has no member named 'n_ramp_values'
     619 |    .n_ramp_values = ARRAY_SIZE(bd718xx_ramp_delay),
         |     ^~~~~~~~~~~~~
>> drivers/regulator/bd718x7-regulator.c:620:5: error: 'struct regulator_desc' has no member named 'ramp_reg'; did you mean 'ramp_delay'?
     620 |    .ramp_reg = BD718XX_REG_BUCK1_CTRL,
         |     ^~~~~~~~
         |     ramp_delay
>> drivers/regulator/bd718x7-regulator.c:621:5: error: 'struct regulator_desc' has no member named 'ramp_mask'
     621 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |     ^~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:655:5: error: 'struct regulator_desc' has no member named 'ramp_delay_table'; did you mean 'ramp_delay'?
     655 |    .ramp_delay_table = bd718xx_ramp_delay,
         |     ^~~~~~~~~~~~~~~~
         |     ramp_delay
   drivers/regulator/bd718x7-regulator.c:655:24: warning: initialization of 'unsigned int' from 'const unsigned int *' makes integer from pointer without a cast [-Wint-conversion]
     655 |    .ramp_delay_table = bd718xx_ramp_delay,
         |                        ^~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:655:24: note: (near initialization for 'bd71847_regulators[1].desc.off_on_delay')
   drivers/regulator/bd718x7-regulator.c:656:5: error: 'struct regulator_desc' has no member named 'n_ramp_values'
     656 |    .n_ramp_values = ARRAY_SIZE(bd718xx_ramp_delay),
         |     ^~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:657:5: error: 'struct regulator_desc' has no member named 'ramp_reg'; did you mean 'ramp_delay'?
     657 |    .ramp_reg = BD718XX_REG_BUCK2_CTRL,
         |     ^~~~~~~~
         |     ramp_delay
>> drivers/regulator/bd718x7-regulator.c:657:16: warning: initialization of 'unsigned int (*)(unsigned int)' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     657 |    .ramp_reg = BD718XX_REG_BUCK2_CTRL,
         |                ^~~~~~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:657:16: note: (near initialization for 'bd71847_regulators[1].desc.of_map_mode')
   drivers/regulator/bd718x7-regulator.c:658:5: error: 'struct regulator_desc' has no member named 'ramp_mask'
     658 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |     ^~~~~~~~~
   In file included from drivers/regulator/bd718x7-regulator.c:9:
>> include/linux/mfd/rohm-bd718x7.h:122:28: warning: excess elements in struct initializer
     122 | #define BUCK_RAMPRATE_MASK 0xC0
         |                            ^~~~
   drivers/regulator/bd718x7-regulator.c:658:17: note: in expansion of macro 'BUCK_RAMPRATE_MASK'
     658 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |                 ^~~~~~~~~~~~~~~~~~
   include/linux/mfd/rohm-bd718x7.h:122:28: note: (near initialization for 'bd71847_regulators[1].desc')
     122 | #define BUCK_RAMPRATE_MASK 0xC0
         |                            ^~~~
   drivers/regulator/bd718x7-regulator.c:658:17: note: in expansion of macro 'BUCK_RAMPRATE_MASK'
     658 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |                 ^~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:966:5: error: 'struct regulator_desc' has no member named 'ramp_delay_table'; did you mean 'ramp_delay'?
     966 |    .ramp_delay_table = bd718xx_ramp_delay,
         |     ^~~~~~~~~~~~~~~~
         |     ramp_delay
   drivers/regulator/bd718x7-regulator.c:966:24: warning: initialization of 'unsigned int' from 'const unsigned int *' makes integer from pointer without a cast [-Wint-conversion]
     966 |    .ramp_delay_table = bd718xx_ramp_delay,
         |                        ^~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:966:24: note: (near initialization for 'bd71837_regulators[0].desc.off_on_delay')
   drivers/regulator/bd718x7-regulator.c:967:5: error: 'struct regulator_desc' has no member named 'n_ramp_values'
     967 |    .n_ramp_values = ARRAY_SIZE(bd718xx_ramp_delay),
         |     ^~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:968:5: error: 'struct regulator_desc' has no member named 'ramp_reg'; did you mean 'ramp_delay'?
     968 |    .ramp_reg = BD718XX_REG_BUCK1_CTRL,
         |     ^~~~~~~~
         |     ramp_delay
   drivers/regulator/bd718x7-regulator.c:968:16: warning: initialization of 'unsigned int (*)(unsigned int)' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     968 |    .ramp_reg = BD718XX_REG_BUCK1_CTRL,
         |                ^~~~~~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:968:16: note: (near initialization for 'bd71837_regulators[0].desc.of_map_mode')
   drivers/regulator/bd718x7-regulator.c:969:5: error: 'struct regulator_desc' has no member named 'ramp_mask'
     969 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |     ^~~~~~~~~
   In file included from drivers/regulator/bd718x7-regulator.c:9:
>> include/linux/mfd/rohm-bd718x7.h:122:28: warning: excess elements in struct initializer
     122 | #define BUCK_RAMPRATE_MASK 0xC0
         |                            ^~~~
   drivers/regulator/bd718x7-regulator.c:969:17: note: in expansion of macro 'BUCK_RAMPRATE_MASK'
     969 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |                 ^~~~~~~~~~~~~~~~~~
   include/linux/mfd/rohm-bd718x7.h:122:28: note: (near initialization for 'bd71837_regulators[0].desc')
     122 | #define BUCK_RAMPRATE_MASK 0xC0
         |                            ^~~~
   drivers/regulator/bd718x7-regulator.c:969:17: note: in expansion of macro 'BUCK_RAMPRATE_MASK'
     969 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |                 ^~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1004:5: error: 'struct regulator_desc' has no member named 'ramp_delay_table'; did you mean 'ramp_delay'?
    1004 |    .ramp_delay_table = bd718xx_ramp_delay,
         |     ^~~~~~~~~~~~~~~~
         |     ramp_delay
   drivers/regulator/bd718x7-regulator.c:1004:24: warning: initialization of 'unsigned int' from 'const unsigned int *' makes integer from pointer without a cast [-Wint-conversion]
    1004 |    .ramp_delay_table = bd718xx_ramp_delay,
         |                        ^~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1004:24: note: (near initialization for 'bd71837_regulators[1].desc.off_on_delay')
   drivers/regulator/bd718x7-regulator.c:1005:5: error: 'struct regulator_desc' has no member named 'n_ramp_values'
    1005 |    .n_ramp_values = ARRAY_SIZE(bd718xx_ramp_delay),
         |     ^~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1006:5: error: 'struct regulator_desc' has no member named 'ramp_reg'; did you mean 'ramp_delay'?
    1006 |    .ramp_reg = BD718XX_REG_BUCK2_CTRL,
         |     ^~~~~~~~
         |     ramp_delay
   drivers/regulator/bd718x7-regulator.c:1006:16: warning: initialization of 'unsigned int (*)(unsigned int)' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    1006 |    .ramp_reg = BD718XX_REG_BUCK2_CTRL,
         |                ^~~~~~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1006:16: note: (near initialization for 'bd71837_regulators[1].desc.of_map_mode')
   drivers/regulator/bd718x7-regulator.c:1007:5: error: 'struct regulator_desc' has no member named 'ramp_mask'
    1007 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |     ^~~~~~~~~
   In file included from drivers/regulator/bd718x7-regulator.c:9:
>> include/linux/mfd/rohm-bd718x7.h:122:28: warning: excess elements in struct initializer
     122 | #define BUCK_RAMPRATE_MASK 0xC0
         |                            ^~~~
   drivers/regulator/bd718x7-regulator.c:1007:17: note: in expansion of macro 'BUCK_RAMPRATE_MASK'
    1007 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |                 ^~~~~~~~~~~~~~~~~~
   include/linux/mfd/rohm-bd718x7.h:122:28: note: (near initialization for 'bd71837_regulators[1].desc')
     122 | #define BUCK_RAMPRATE_MASK 0xC0
         |                            ^~~~
   drivers/regulator/bd718x7-regulator.c:1007:17: note: in expansion of macro 'BUCK_RAMPRATE_MASK'
    1007 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |                 ^~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1039:5: error: 'struct regulator_desc' has no member named 'ramp_delay_table'; did you mean 'ramp_delay'?
    1039 |    .ramp_delay_table = bd718xx_ramp_delay,
         |     ^~~~~~~~~~~~~~~~
         |     ramp_delay
   drivers/regulator/bd718x7-regulator.c:1039:24: warning: initialization of 'unsigned int' from 'const unsigned int *' makes integer from pointer without a cast [-Wint-conversion]
    1039 |    .ramp_delay_table = bd718xx_ramp_delay,
         |                        ^~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1039:24: note: (near initialization for 'bd71837_regulators[2].desc.off_on_delay')
   drivers/regulator/bd718x7-regulator.c:1040:5: error: 'struct regulator_desc' has no member named 'n_ramp_values'
    1040 |    .n_ramp_values = ARRAY_SIZE(bd718xx_ramp_delay),
         |     ^~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1041:5: error: 'struct regulator_desc' has no member named 'ramp_reg'; did you mean 'ramp_delay'?
    1041 |    .ramp_reg = BD71837_REG_BUCK3_CTRL,
         |     ^~~~~~~~
         |     ramp_delay
   drivers/regulator/bd718x7-regulator.c:1041:16: warning: initialization of 'unsigned int (*)(unsigned int)' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    1041 |    .ramp_reg = BD71837_REG_BUCK3_CTRL,
         |                ^~~~~~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1041:16: note: (near initialization for 'bd71837_regulators[2].desc.of_map_mode')
   drivers/regulator/bd718x7-regulator.c:1042:5: error: 'struct regulator_desc' has no member named 'ramp_mask'
    1042 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |     ^~~~~~~~~
   In file included from drivers/regulator/bd718x7-regulator.c:9:
>> include/linux/mfd/rohm-bd718x7.h:122:28: warning: excess elements in struct initializer
     122 | #define BUCK_RAMPRATE_MASK 0xC0
         |                            ^~~~
   drivers/regulator/bd718x7-regulator.c:1042:17: note: in expansion of macro 'BUCK_RAMPRATE_MASK'
    1042 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |                 ^~~~~~~~~~~~~~~~~~
   include/linux/mfd/rohm-bd718x7.h:122:28: note: (near initialization for 'bd71837_regulators[2].desc')
     122 | #define BUCK_RAMPRATE_MASK 0xC0
         |                            ^~~~
   drivers/regulator/bd718x7-regulator.c:1042:17: note: in expansion of macro 'BUCK_RAMPRATE_MASK'
    1042 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |                 ^~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1072:5: error: 'struct regulator_desc' has no member named 'ramp_delay_table'; did you mean 'ramp_delay'?
    1072 |    .ramp_delay_table = bd718xx_ramp_delay,
         |     ^~~~~~~~~~~~~~~~
         |     ramp_delay
   drivers/regulator/bd718x7-regulator.c:1072:24: warning: initialization of 'unsigned int' from 'const unsigned int *' makes integer from pointer without a cast [-Wint-conversion]
    1072 |    .ramp_delay_table = bd718xx_ramp_delay,
         |                        ^~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1072:24: note: (near initialization for 'bd71837_regulators[3].desc.off_on_delay')
   drivers/regulator/bd718x7-regulator.c:1073:5: error: 'struct regulator_desc' has no member named 'n_ramp_values'
    1073 |    .n_ramp_values = ARRAY_SIZE(bd718xx_ramp_delay),
         |     ^~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1074:5: error: 'struct regulator_desc' has no member named 'ramp_reg'; did you mean 'ramp_delay'?
    1074 |    .ramp_reg = BD71837_REG_BUCK4_CTRL,
         |     ^~~~~~~~
         |     ramp_delay
   drivers/regulator/bd718x7-regulator.c:1074:16: warning: initialization of 'unsigned int (*)(unsigned int)' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    1074 |    .ramp_reg = BD71837_REG_BUCK4_CTRL,
         |                ^~~~~~~~~~~~~~~~~~~~~~
   drivers/regulator/bd718x7-regulator.c:1074:16: note: (near initialization for 'bd71837_regulators[3].desc.of_map_mode')
   drivers/regulator/bd718x7-regulator.c:1075:5: error: 'struct regulator_desc' has no member named 'ramp_mask'
    1075 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |     ^~~~~~~~~
   In file included from drivers/regulator/bd718x7-regulator.c:9:
>> include/linux/mfd/rohm-bd718x7.h:122:28: warning: excess elements in struct initializer
     122 | #define BUCK_RAMPRATE_MASK 0xC0
         |                            ^~~~
   drivers/regulator/bd718x7-regulator.c:1075:17: note: in expansion of macro 'BUCK_RAMPRATE_MASK'
    1075 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |                 ^~~~~~~~~~~~~~~~~~
   include/linux/mfd/rohm-bd718x7.h:122:28: note: (near initialization for 'bd71837_regulators[3].desc')
     122 | #define BUCK_RAMPRATE_MASK 0xC0
         |                            ^~~~
   drivers/regulator/bd718x7-regulator.c:1075:17: note: in expansion of macro 'BUCK_RAMPRATE_MASK'
    1075 |    .ramp_mask = BUCK_RAMPRATE_MASK,
         |                 ^~~~~~~~~~~~~~~~~~


vim +351 drivers/regulator/bd718x7-regulator.c

   284	
   285	BD718XX_OPS(bd718xx_pickable_range_buck_ops,
   286		    regulator_list_voltage_pickable_linear_range, NULL,
   287		    regulator_set_voltage_sel_pickable_regmap,
   288		    regulator_get_voltage_sel_pickable_regmap,
   289		    regulator_set_voltage_time_sel, NULL);
   290	
   291	BD718XX_OPS(bd718xx_ldo_regulator_ops, regulator_list_voltage_linear_range,
   292		    NULL, bd718xx_set_voltage_sel_restricted,
   293		    regulator_get_voltage_sel_regmap, NULL, NULL);
   294	
   295	BD718XX_OPS(bd718xx_ldo_regulator_nolinear_ops, regulator_list_voltage_table,
   296		    NULL, bd718xx_set_voltage_sel_restricted,
   297		    regulator_get_voltage_sel_regmap, NULL, NULL);
   298	
   299	BD718XX_OPS(bd718xx_buck_regulator_ops, regulator_list_voltage_linear_range,
   300		    NULL, regulator_set_voltage_sel_regmap,
   301		    regulator_get_voltage_sel_regmap, regulator_set_voltage_time_sel,
   302		    NULL);
   303	
   304	BD718XX_OPS(bd718xx_buck_regulator_nolinear_ops, regulator_list_voltage_table,
   305		    regulator_map_voltage_ascend, regulator_set_voltage_sel_regmap,
   306		    regulator_get_voltage_sel_regmap, regulator_set_voltage_time_sel,
   307		    NULL);
   308	
   309	/*
   310	 * OPS for BD71837
   311	 */
   312	BD718XX_OPS(bd71837_pickable_range_ldo_ops,
   313		    regulator_list_voltage_pickable_linear_range, NULL,
   314		    bd71837_set_voltage_sel_pickable_restricted,
   315		    regulator_get_voltage_sel_pickable_regmap, NULL, NULL);
   316	
   317	BD718XX_OPS(bd71837_pickable_range_buck_ops,
   318		    regulator_list_voltage_pickable_linear_range, NULL,
   319		    bd71837_set_voltage_sel_pickable_restricted,
   320		    regulator_get_voltage_sel_pickable_regmap,
   321		    regulator_set_voltage_time_sel, NULL);
   322	
   323	BD718XX_OPS(bd71837_ldo_regulator_ops, regulator_list_voltage_linear_range,
   324		    NULL, bd71837_set_voltage_sel_restricted,
   325		    regulator_get_voltage_sel_regmap, NULL, NULL);
   326	
   327	BD718XX_OPS(bd71837_ldo_regulator_nolinear_ops, regulator_list_voltage_table,
   328		    NULL, bd71837_set_voltage_sel_restricted,
   329		    regulator_get_voltage_sel_regmap, NULL, NULL);
   330	
   331	BD718XX_OPS(bd71837_buck_regulator_ops, regulator_list_voltage_linear_range,
   332		    NULL, bd71837_set_voltage_sel_restricted,
   333		    regulator_get_voltage_sel_regmap, regulator_set_voltage_time_sel,
   334		    NULL);
   335	
   336	BD718XX_OPS(bd71837_buck_regulator_nolinear_ops, regulator_list_voltage_table,
   337		    regulator_map_voltage_ascend, bd718xx_set_voltage_sel_restricted,
   338		    regulator_get_voltage_sel_regmap, regulator_set_voltage_time_sel,
   339		    NULL);
   340	/*
   341	 * BD71837 bucks 3 and 4 support defining their enable/disable state also
   342	 * when buck enable state is under HW state machine control. In that case the
   343	 * bit [2] in CTRL register is used to indicate if regulator should be ON.
   344	 */
   345	static const struct regulator_ops bd71837_buck34_ops_hwctrl = {
   346		.is_enabled = bd71837_get_buck34_enable_hwctrl,
   347		.list_voltage = regulator_list_voltage_linear_range,
   348		.set_voltage_sel = regulator_set_voltage_sel_regmap,
   349		.get_voltage_sel = regulator_get_voltage_sel_regmap,
   350		.set_voltage_time_sel = regulator_set_voltage_time_sel,
 > 351		.set_ramp_delay = regulator_set_ramp_delay_regmap,
   352	};
   353	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 38195 bytes --]

                 reply	other threads:[~2021-04-14 13:07 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202104142148.VfEpjGbN-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.