All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
To: Linus Torvalds
	<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Cc: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PULL REQUEST] i2c for 3.12
Date: Thu, 5 Sep 2013 11:03:41 +0200	[thread overview]
Message-ID: <20130905090322.GA3429@katana> (raw)

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

Linus,

please pull the changes from the I2C subsystem for the 3.12 release. Highlights:

* OF and ACPI helpers are now included in the core, and not in external files anymore.
  This removes dependency problems for modules and is cleaner, in general.
* mv64xxx-driver gains fifo usage to support mv78230
* imx-driver overhaul to support VF610
* various cleanups, most notably related to devm_* and CONFIG_PM usage
* driver bugfixes and smaller feature additions

Thanks,

   Wolfram


The following changes since commit c095ba7224d8edc71dcef0d655911399a8bd4a3f:

  Linux 3.11-rc4 (2013-08-04 13:46:46 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next

for you to fetch changes up to b720423a2627f045133bec39a31fe2bc0dab86f3:

  i2c: rcar: add rcar-H2 support (2013-09-04 11:49:16 +0100)

----------------------------------------------------------------
Andy Lutomirski (1):
      i2c: Improve logging on failure to probe for ->class devices

Chew, Chiau Ee (1):
      i2c: designware: Manually set RESTART bit between messages

Fabio Estevam (2):
      i2c: i2c-mxs: Use DMA mode even for small transfers
      i2c: mxs: Check the return value from stmp_reset_block()

Gerhard Sittig (1):
      i2c: mpc: cleanup clock API use

Gregory CLEMENT (2):
      i2c: mv64xxx: Add I2C Transaction Generator support
      i2c: mv64xxx: Fix timing issue on Armada XP (errata FE-8471889)

Grygorii Strashko (1):
      i2c: omap: query STP always when NACK is received

Guenter Roeck (1):
      i2c: mpc: Define unique I2C adapter names

Jingchang Lu (9):
      i2c: imx: use struct representing i2c clk{div, val} pair
      i2c: imx: enable clk before write to registers
      i2c: imx: don't change platform device id_entry directly
      i2c: imx: wrap registers read/write to inline function
      i2c: imx: change register offset representation
      i2c: imx: add INT flag and IEN bit operatation codes
      i2c: imx: add struct to hold more configurable quirks
      i2c: imx: Add Vybrid VF610 I2C controller support
      i2c: imx: use exact SoC revision to document binding

Jingoo Han (8):
      i2c: i2c-mpc: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: designware: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: ocores: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: stu300: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: pnx: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: puv3: add CONFIG_PM_SLEEP to suspend function
      i2c: i2c-bfin-twi: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: use dev_get_platdata()

Julia Lawall (1):
      drivers/i2c/busses/i2c-ocores.c: simplify use of devm_ioremap_resource

Jussi Kivilinna (1):
      i2c: tiny-usb: do not use stack as URB transfer_buffer

Leilei Shang (1):
      i2c: pxa: enable high speed mode for i2c bus

Lothar Waßmann (1):
      i2c: mxs: fix broken timing calculation

Maxime Ripard (1):
      i2c: mv64xxx: Document the newly introduced allwinner compatible

Michael Brunner (1):
      i2c: Fix Kontron PLD prescaler calculation

Mika Westerberg (3):
      i2c: move ACPI helpers into the core
      i2c: designware: make HCNT/LCNT values configurable
      i2c: designware: get SDA hold time, HCNT and LCNT configuration from ACPI

Nguyen Viet Dung (1):
      i2c: rcar: add rcar-H2 support

Phil Carmody (1):
      i2c: reduce parent checking to a NOOP in non-I2C_MUX case

Rudolf Marek (1):
      i2c: piix4: Add support for secondary SMBus on AMD SB800 and AMD FCH chipsets

Sachin Kamat (1):
      Documentation: i2c: Fix example in instantiating-devices

Santosh Shilimkar (2):
      i2c: davinci: remove useless mach/hardware include
      i2c: davinci: Allow i2c driver available for keystone platforms

Sebastian Hesselbarth (1):
      i2c: add sanity check to i2c_put_adapter

Wei Yongjun (1):
      i2c: pnx: fix error return code in i2c_pnx_probe()

Wolfram Sang (6):
      drivers/i2c/busses: don't use devm_pinctrl_get_select_default() in probe
      drivers/i2c/busses: don't check resource with devm_ioremap_resource
      i2c: powermac: fix return path on error
      i2c: move OF helpers into the core
      i2c: mv64xxx: fix typo in binding documentation
      i2c: ismt: add error return code in probe()

Zhiwu Song (5):
      i2c: sirf: reset i2c controller early after we get a noack
      i2c: sirf: we need to wait I2C_RESET status in resume
      i2c: sirf: fix the typo for setting bitrate to less than 100k
      i2c: sirf: support reverse direction of address
      i2c: sirf: retry 3 times as sometimes we get random noack and timeout

 Documentation/acpi/enumeration.txt                 |   16 +-
 Documentation/devicetree/bindings/i2c/i2c-imx.txt  |    5 +-
 .../devicetree/bindings/i2c/i2c-mv64xxx.txt        |   12 +-
 Documentation/i2c/busses/i2c-piix4                 |    7 +-
 Documentation/i2c/instantiating-devices            |    2 +-
 arch/powerpc/platforms/44x/warp.c                  |    1 -
 drivers/acpi/Kconfig                               |    6 -
 drivers/acpi/Makefile                              |    1 -
 drivers/acpi/acpi_i2c.c                            |  103 ---------
 drivers/gpu/drm/tilcdc/tilcdc_slave.c              |    1 -
 drivers/gpu/drm/tilcdc/tilcdc_tfp410.c             |    1 -
 drivers/gpu/host1x/drm/output.c                    |    2 +-
 drivers/i2c/busses/Kconfig                         |    2 +-
 drivers/i2c/busses/i2c-at91.c                      |    3 -
 drivers/i2c/busses/i2c-bfin-twi.c                  |   16 +-
 drivers/i2c/busses/i2c-cbus-gpio.c                 |    5 +-
 drivers/i2c/busses/i2c-cpm.c                       |    6 -
 drivers/i2c/busses/i2c-davinci.c                   |    6 +-
 drivers/i2c/busses/i2c-designware-core.c           |   25 +++
 drivers/i2c/busses/i2c-designware-core.h           |   12 ++
 drivers/i2c/busses/i2c-designware-platdrv.c        |   46 +++-
 drivers/i2c/busses/i2c-gpio.c                      |    9 +-
 drivers/i2c/busses/i2c-i801.c                      |    2 -
 drivers/i2c/busses/i2c-ibm_iic.c                   |    4 -
 drivers/i2c/busses/i2c-imx.c                       |  228 +++++++++++++++-----
 drivers/i2c/busses/i2c-ismt.c                      |    1 +
 drivers/i2c/busses/i2c-kempld.c                    |    4 +-
 drivers/i2c/busses/i2c-mpc.c                       |   44 +++-
 drivers/i2c/busses/i2c-mv64xxx.c                   |  207 ++++++++++++++++--
 drivers/i2c/busses/i2c-mxs.c                       |  118 +++++++---
 drivers/i2c/busses/i2c-nomadik.c                   |    5 +-
 drivers/i2c/busses/i2c-nuc900.c                    |    2 +-
 drivers/i2c/busses/i2c-ocores.c                    |   12 +-
 drivers/i2c/busses/i2c-octeon.c                    |    3 -
 drivers/i2c/busses/i2c-omap.c                      |   27 +--
 drivers/i2c/busses/i2c-pca-platform.c              |    2 +-
 drivers/i2c/busses/i2c-piix4.c                     |   41 +++-
 drivers/i2c/busses/i2c-pnx.c                       |    8 +-
 drivers/i2c/busses/i2c-powermac.c                  |   14 +-
 drivers/i2c/busses/i2c-puv3.c                      |    2 +-
 drivers/i2c/busses/i2c-pxa.c                       |   70 +++++-
 drivers/i2c/busses/i2c-rcar.c                      |   37 +++-
 drivers/i2c/busses/i2c-s3c2410.c                   |    4 +-
 drivers/i2c/busses/i2c-s6000.c                     |    5 +-
 drivers/i2c/busses/i2c-sh7760.c                    |    2 +-
 drivers/i2c/busses/i2c-sh_mobile.c                 |    4 +-
 drivers/i2c/busses/i2c-sirf.c                      |   39 ++--
 drivers/i2c/busses/i2c-stu300.c                    |    7 +-
 drivers/i2c/busses/i2c-tegra.c                     |    3 -
 drivers/i2c/busses/i2c-tiny-usb.c                  |   49 +++--
 drivers/i2c/busses/i2c-versatile.c                 |    2 -
 drivers/i2c/busses/i2c-wmt.c                       |    3 -
 drivers/i2c/busses/i2c-xiic.c                      |    5 +-
 drivers/i2c/i2c-core.c                             |  206 +++++++++++++++++-
 drivers/i2c/i2c-mux.c                              |    3 -
 drivers/i2c/i2c-smbus.c                            |    2 +-
 drivers/i2c/muxes/i2c-arb-gpio-challenge.c         |    3 +-
 drivers/i2c/muxes/i2c-mux-gpio.c                   |    9 +-
 drivers/i2c/muxes/i2c-mux-pca9541.c                |    2 +-
 drivers/i2c/muxes/i2c-mux-pca954x.c                |    2 +-
 drivers/i2c/muxes/i2c-mux-pinctrl.c                |    3 +-
 drivers/media/platform/exynos4-is/fimc-is-i2c.c    |    4 +-
 drivers/media/platform/exynos4-is/fimc-is.c        |    2 +-
 drivers/media/platform/exynos4-is/media-dev.c      |    1 -
 drivers/of/Kconfig                                 |    6 -
 drivers/of/Makefile                                |    1 -
 drivers/of/of_i2c.c                                |  114 ----------
 drivers/staging/imx-drm/imx-tve.c                  |    2 +-
 include/linux/i2c.h                                |   24 ++-
 include/linux/i2c/pxa-i2c.h                        |    3 +
 include/linux/of_i2c.h                             |   46 ----
 sound/soc/fsl/imx-sgtl5000.c                       |    2 +-
 sound/soc/fsl/imx-wm8962.c                         |    2 +-
 73 files changed, 1064 insertions(+), 614 deletions(-)
 delete mode 100644 drivers/acpi/acpi_i2c.c
 delete mode 100644 drivers/of/of_i2c.c
 delete mode 100644 include/linux/of_i2c.h

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Wolfram Sang <wsa@the-dreams.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jean Delvare <khali@linux-fr.org>,
	linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PULL REQUEST] i2c for 3.12
Date: Thu, 5 Sep 2013 11:03:41 +0200	[thread overview]
Message-ID: <20130905090322.GA3429@katana> (raw)

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

Linus,

please pull the changes from the I2C subsystem for the 3.12 release. Highlights:

* OF and ACPI helpers are now included in the core, and not in external files anymore.
  This removes dependency problems for modules and is cleaner, in general.
* mv64xxx-driver gains fifo usage to support mv78230
* imx-driver overhaul to support VF610
* various cleanups, most notably related to devm_* and CONFIG_PM usage
* driver bugfixes and smaller feature additions

Thanks,

   Wolfram


The following changes since commit c095ba7224d8edc71dcef0d655911399a8bd4a3f:

  Linux 3.11-rc4 (2013-08-04 13:46:46 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next

for you to fetch changes up to b720423a2627f045133bec39a31fe2bc0dab86f3:

  i2c: rcar: add rcar-H2 support (2013-09-04 11:49:16 +0100)

----------------------------------------------------------------
Andy Lutomirski (1):
      i2c: Improve logging on failure to probe for ->class devices

Chew, Chiau Ee (1):
      i2c: designware: Manually set RESTART bit between messages

Fabio Estevam (2):
      i2c: i2c-mxs: Use DMA mode even for small transfers
      i2c: mxs: Check the return value from stmp_reset_block()

Gerhard Sittig (1):
      i2c: mpc: cleanup clock API use

Gregory CLEMENT (2):
      i2c: mv64xxx: Add I2C Transaction Generator support
      i2c: mv64xxx: Fix timing issue on Armada XP (errata FE-8471889)

Grygorii Strashko (1):
      i2c: omap: query STP always when NACK is received

Guenter Roeck (1):
      i2c: mpc: Define unique I2C adapter names

Jingchang Lu (9):
      i2c: imx: use struct representing i2c clk{div, val} pair
      i2c: imx: enable clk before write to registers
      i2c: imx: don't change platform device id_entry directly
      i2c: imx: wrap registers read/write to inline function
      i2c: imx: change register offset representation
      i2c: imx: add INT flag and IEN bit operatation codes
      i2c: imx: add struct to hold more configurable quirks
      i2c: imx: Add Vybrid VF610 I2C controller support
      i2c: imx: use exact SoC revision to document binding

Jingoo Han (8):
      i2c: i2c-mpc: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: designware: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: ocores: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: stu300: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: pnx: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: puv3: add CONFIG_PM_SLEEP to suspend function
      i2c: i2c-bfin-twi: add CONFIG_PM_SLEEP to suspend/resume functions
      i2c: use dev_get_platdata()

Julia Lawall (1):
      drivers/i2c/busses/i2c-ocores.c: simplify use of devm_ioremap_resource

Jussi Kivilinna (1):
      i2c: tiny-usb: do not use stack as URB transfer_buffer

Leilei Shang (1):
      i2c: pxa: enable high speed mode for i2c bus

Lothar Waßmann (1):
      i2c: mxs: fix broken timing calculation

Maxime Ripard (1):
      i2c: mv64xxx: Document the newly introduced allwinner compatible

Michael Brunner (1):
      i2c: Fix Kontron PLD prescaler calculation

Mika Westerberg (3):
      i2c: move ACPI helpers into the core
      i2c: designware: make HCNT/LCNT values configurable
      i2c: designware: get SDA hold time, HCNT and LCNT configuration from ACPI

Nguyen Viet Dung (1):
      i2c: rcar: add rcar-H2 support

Phil Carmody (1):
      i2c: reduce parent checking to a NOOP in non-I2C_MUX case

Rudolf Marek (1):
      i2c: piix4: Add support for secondary SMBus on AMD SB800 and AMD FCH chipsets

Sachin Kamat (1):
      Documentation: i2c: Fix example in instantiating-devices

Santosh Shilimkar (2):
      i2c: davinci: remove useless mach/hardware include
      i2c: davinci: Allow i2c driver available for keystone platforms

Sebastian Hesselbarth (1):
      i2c: add sanity check to i2c_put_adapter

Wei Yongjun (1):
      i2c: pnx: fix error return code in i2c_pnx_probe()

Wolfram Sang (6):
      drivers/i2c/busses: don't use devm_pinctrl_get_select_default() in probe
      drivers/i2c/busses: don't check resource with devm_ioremap_resource
      i2c: powermac: fix return path on error
      i2c: move OF helpers into the core
      i2c: mv64xxx: fix typo in binding documentation
      i2c: ismt: add error return code in probe()

Zhiwu Song (5):
      i2c: sirf: reset i2c controller early after we get a noack
      i2c: sirf: we need to wait I2C_RESET status in resume
      i2c: sirf: fix the typo for setting bitrate to less than 100k
      i2c: sirf: support reverse direction of address
      i2c: sirf: retry 3 times as sometimes we get random noack and timeout

 Documentation/acpi/enumeration.txt                 |   16 +-
 Documentation/devicetree/bindings/i2c/i2c-imx.txt  |    5 +-
 .../devicetree/bindings/i2c/i2c-mv64xxx.txt        |   12 +-
 Documentation/i2c/busses/i2c-piix4                 |    7 +-
 Documentation/i2c/instantiating-devices            |    2 +-
 arch/powerpc/platforms/44x/warp.c                  |    1 -
 drivers/acpi/Kconfig                               |    6 -
 drivers/acpi/Makefile                              |    1 -
 drivers/acpi/acpi_i2c.c                            |  103 ---------
 drivers/gpu/drm/tilcdc/tilcdc_slave.c              |    1 -
 drivers/gpu/drm/tilcdc/tilcdc_tfp410.c             |    1 -
 drivers/gpu/host1x/drm/output.c                    |    2 +-
 drivers/i2c/busses/Kconfig                         |    2 +-
 drivers/i2c/busses/i2c-at91.c                      |    3 -
 drivers/i2c/busses/i2c-bfin-twi.c                  |   16 +-
 drivers/i2c/busses/i2c-cbus-gpio.c                 |    5 +-
 drivers/i2c/busses/i2c-cpm.c                       |    6 -
 drivers/i2c/busses/i2c-davinci.c                   |    6 +-
 drivers/i2c/busses/i2c-designware-core.c           |   25 +++
 drivers/i2c/busses/i2c-designware-core.h           |   12 ++
 drivers/i2c/busses/i2c-designware-platdrv.c        |   46 +++-
 drivers/i2c/busses/i2c-gpio.c                      |    9 +-
 drivers/i2c/busses/i2c-i801.c                      |    2 -
 drivers/i2c/busses/i2c-ibm_iic.c                   |    4 -
 drivers/i2c/busses/i2c-imx.c                       |  228 +++++++++++++++-----
 drivers/i2c/busses/i2c-ismt.c                      |    1 +
 drivers/i2c/busses/i2c-kempld.c                    |    4 +-
 drivers/i2c/busses/i2c-mpc.c                       |   44 +++-
 drivers/i2c/busses/i2c-mv64xxx.c                   |  207 ++++++++++++++++--
 drivers/i2c/busses/i2c-mxs.c                       |  118 +++++++---
 drivers/i2c/busses/i2c-nomadik.c                   |    5 +-
 drivers/i2c/busses/i2c-nuc900.c                    |    2 +-
 drivers/i2c/busses/i2c-ocores.c                    |   12 +-
 drivers/i2c/busses/i2c-octeon.c                    |    3 -
 drivers/i2c/busses/i2c-omap.c                      |   27 +--
 drivers/i2c/busses/i2c-pca-platform.c              |    2 +-
 drivers/i2c/busses/i2c-piix4.c                     |   41 +++-
 drivers/i2c/busses/i2c-pnx.c                       |    8 +-
 drivers/i2c/busses/i2c-powermac.c                  |   14 +-
 drivers/i2c/busses/i2c-puv3.c                      |    2 +-
 drivers/i2c/busses/i2c-pxa.c                       |   70 +++++-
 drivers/i2c/busses/i2c-rcar.c                      |   37 +++-
 drivers/i2c/busses/i2c-s3c2410.c                   |    4 +-
 drivers/i2c/busses/i2c-s6000.c                     |    5 +-
 drivers/i2c/busses/i2c-sh7760.c                    |    2 +-
 drivers/i2c/busses/i2c-sh_mobile.c                 |    4 +-
 drivers/i2c/busses/i2c-sirf.c                      |   39 ++--
 drivers/i2c/busses/i2c-stu300.c                    |    7 +-
 drivers/i2c/busses/i2c-tegra.c                     |    3 -
 drivers/i2c/busses/i2c-tiny-usb.c                  |   49 +++--
 drivers/i2c/busses/i2c-versatile.c                 |    2 -
 drivers/i2c/busses/i2c-wmt.c                       |    3 -
 drivers/i2c/busses/i2c-xiic.c                      |    5 +-
 drivers/i2c/i2c-core.c                             |  206 +++++++++++++++++-
 drivers/i2c/i2c-mux.c                              |    3 -
 drivers/i2c/i2c-smbus.c                            |    2 +-
 drivers/i2c/muxes/i2c-arb-gpio-challenge.c         |    3 +-
 drivers/i2c/muxes/i2c-mux-gpio.c                   |    9 +-
 drivers/i2c/muxes/i2c-mux-pca9541.c                |    2 +-
 drivers/i2c/muxes/i2c-mux-pca954x.c                |    2 +-
 drivers/i2c/muxes/i2c-mux-pinctrl.c                |    3 +-
 drivers/media/platform/exynos4-is/fimc-is-i2c.c    |    4 +-
 drivers/media/platform/exynos4-is/fimc-is.c        |    2 +-
 drivers/media/platform/exynos4-is/media-dev.c      |    1 -
 drivers/of/Kconfig                                 |    6 -
 drivers/of/Makefile                                |    1 -
 drivers/of/of_i2c.c                                |  114 ----------
 drivers/staging/imx-drm/imx-tve.c                  |    2 +-
 include/linux/i2c.h                                |   24 ++-
 include/linux/i2c/pxa-i2c.h                        |    3 +
 include/linux/of_i2c.h                             |   46 ----
 sound/soc/fsl/imx-sgtl5000.c                       |    2 +-
 sound/soc/fsl/imx-wm8962.c                         |    2 +-
 73 files changed, 1064 insertions(+), 614 deletions(-)
 delete mode 100644 drivers/acpi/acpi_i2c.c
 delete mode 100644 drivers/of/of_i2c.c
 delete mode 100644 include/linux/of_i2c.h

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

             reply	other threads:[~2013-09-05  9:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-05  9:03 Wolfram Sang [this message]
2013-09-05  9:03 ` [PULL REQUEST] i2c for 3.12 Wolfram Sang
  -- strict thread matches above, loose matches on Subject: below --
2013-09-28 14:37 Wolfram Sang
2013-09-28 14:37 ` Wolfram Sang
2013-10-12  6:20 Wolfram Sang
2013-10-12  6:20 ` Wolfram Sang

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=20130905090322.GA3429@katana \
    --to=wsa-z923lk4zbo2bacvfa/9k2g@public.gmane.org \
    --cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.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.