diff for duplicates of <20171125143610.3dba71da@archlinux> diff --git a/a/1.txt b/N1/1.txt index 84225bc..31e535d 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,16 +1,16 @@ On Fri, 24 Nov 2017 15:52:26 +0100 -Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote: +Arnaud Pouliquen <arnaud.pouliquen@st.com> wrote: > On 11/19/2017 03:18 PM, Jonathan Cameron wrote: > > On Thu, 9 Nov 2017 11:12:31 +0100 -> > Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote: +> > Arnaud Pouliquen <arnaud.pouliquen@st.com> wrote: > > > >> This code offers a way to handle PDM audio microphones in > >> ASOC framework. Audio driver should use consumer API. > >> A specific management is implemented for DMA, with a > >> callback, to allows to handle audio buffers efficiently. > >> -> >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> +> >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com> > > > > A few minor points inline. I'm not sure I really 'like' the > > solution we've ended up with currently but if it works it will @@ -39,7 +39,7 @@ Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote: > >> @@ -0,0 +1,22 @@ > >> +What: /sys/bus/iio/devices/iio:deviceX/in_voltage_audio_sampling_rate > >> +KernelVersion: 4.14 -> >> +Contact: arnaud.pouliquen-qxv4g6HH51o@public.gmane.org +> >> +Contact: arnaud.pouliquen@st.com > >> +Description: > >> + For audio purpose only. > >> + Used by audio driver to set/get the audio sampling rate. diff --git a/a/content_digest b/N1/content_digest index cf869b7..52d4fa5 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -2,41 +2,40 @@ "ref\01510222354-15290-10-git-send-email-arnaud.pouliquen@st.com\0" "ref\020171119141830.29f1cfc9@archlinux\0" "ref\04362763f-2182-a3cf-cbd6-6c71df59af52@st.com\0" - "ref\04362763f-2182-a3cf-cbd6-6c71df59af52-qxv4g6HH51o@public.gmane.org\0" - "From\0Jonathan Cameron <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>\0" + "From\0Jonathan Cameron <jic23@kernel.org>\0" "Subject\0Re: [PATCH v4 09/12] IIO: ADC: add stm32 DFSDM support for PDM microphone\0" "Date\0Sat, 25 Nov 2017 14:36:10 +0000\0" - "To\0Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>\0" - "Cc\0Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>" - Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> - Hartmut Knaack <knaack.h-Mmb7MZpHnFY@public.gmane.org> - Lars-Peter Clausen <lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org> - Peter Meerwald-Stadler <pmeerw-jW+XmwGofnusTnJN9+BGXg@public.gmane.org> - Jaroslav Kysela <perex-/Fr2/VpizcU@public.gmane.org> - Takashi Iwai <tiwai-IBi9RG/b67k@public.gmane.org> - Liam Girdwood <lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> - Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> - devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> - linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org <linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org> - linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> - alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org <alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org> - Maxime Coquelin <mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> - " Alexandre TORGUE <alexandre.torgue-qxv4g6HH51o@public.gmane.org>\0" + "To\0Arnaud Pouliquen <arnaud.pouliquen@st.com>\0" + "Cc\0Rob Herring <robh+dt@kernel.org>" + Mark Rutland <mark.rutland@arm.com> + Hartmut Knaack <knaack.h@gmx.de> + Lars-Peter Clausen <lars@metafoo.de> + Peter Meerwald-Stadler <pmeerw@pmeerw.net> + Jaroslav Kysela <perex@perex.cz> + Takashi Iwai <tiwai@suse.com> + Liam Girdwood <lgirdwood@gmail.com> + Mark Brown <broonie@kernel.org> + devicetree@vger.kernel.org <devicetree@vger.kernel.org> + linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> + linux-iio@vger.kernel.org <linux-iio@vger.kernel.org> + alsa-devel@alsa-project.org <alsa-devel@alsa-project.org> + Maxime Coquelin <mcoquelin.stm32@gmail.com> + " Alexandre TORGUE <alexandre.torgue@st.com>\0" "\00:1\0" "b\0" "On Fri, 24 Nov 2017 15:52:26 +0100\n" - "Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote:\n" + "Arnaud Pouliquen <arnaud.pouliquen@st.com> wrote:\n" "\n" "> On 11/19/2017 03:18 PM, Jonathan Cameron wrote:\n" "> > On Thu, 9 Nov 2017 11:12:31 +0100\n" - "> > Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote:\n" + "> > Arnaud Pouliquen <arnaud.pouliquen@st.com> wrote:\n" "> > \n" "> >> This code offers a way to handle PDM audio microphones in\n" "> >> ASOC framework. Audio driver should use consumer API.\n" "> >> A specific management is implemented for DMA, with a\n" "> >> callback, to allows to handle audio buffers efficiently.\n" "> >> \n" - "> >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> \n" + "> >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com> \n" "> > \n" "> > A few minor points inline.\302\240 I'm not sure I really 'like' the\n" "> > solution we've ended up with currently but if it works it will\n" @@ -65,7 +64,7 @@ "> >> @@ -0,0 +1,22 @@\n" "> >> +What:\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 /sys/bus/iio/devices/iio:deviceX/in_voltage_audio_sampling_rate\n" "> >> +KernelVersion:\302\240\302\240\302\240\302\240\302\240\302\240 4.14\n" - "> >> +Contact:\302\240\302\240\302\240\302\240 arnaud.pouliquen-qxv4g6HH51o@public.gmane.org\n" + "> >> +Contact:\302\240\302\240\302\240\302\240 arnaud.pouliquen@st.com\n" "> >> +Description:\n" "> >> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 For audio purpose only.\n" "> >> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 Used by audio driver to set/get the audio sampling rate.\n" @@ -111,4 +110,4 @@ "> >> + * @private: pointer to consumer private structure\n" > >> + */ -e2e9a177a8c6bade3b9aea51362c808300fb0979345249433034aca4d3071943 +1923bfbe6c58d4538625b7dc0329b5b1a9f9c2f2a12661a4550a4341d068a74a
diff --git a/a/1.txt b/N2/1.txt index 84225bc..a0dca92 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -1,18 +1,18 @@ On Fri, 24 Nov 2017 15:52:26 +0100 -Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote: +Arnaud Pouliquen <arnaud.pouliquen@st.com> wrote: > On 11/19/2017 03:18 PM, Jonathan Cameron wrote: > > On Thu, 9 Nov 2017 11:12:31 +0100 -> > Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote: +> > Arnaud Pouliquen <arnaud.pouliquen@st.com> wrote: > > > >> This code offers a way to handle PDM audio microphones in > >> ASOC framework. Audio driver should use consumer API. > >> A specific management is implemented for DMA, with a > >> callback, to allows to handle audio buffers efficiently. > >> -> >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> +> >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com> > > -> > A few minor points inline. I'm not sure I really 'like' the +> > A few minor points inline.? I'm not sure I really 'like' the > > solution we've ended up with currently but if it works it will > > do just fine for now :) > > @@ -21,15 +21,15 @@ Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote: > > > >> --- > >> V3 -> V4 changes: -> >> - Merge audio implementation in stm32-dfsdm-adc.c instead of creating separate file -> >> - Add sysfs document for exported attributes +> >>? - Merge audio implementation in stm32-dfsdm-adc.c instead of creating separate file +> >>? - Add sysfs document for exported attributes > >> -> >> .../ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32 | 22 + -> >> drivers/iio/adc/stm32-dfsdm-adc.c | 517 ++++++++++++++++++++- -> >> include/linux/iio/adc/stm32-dfsdm-adc.h | 27 ++ -> >> 3 files changed, 562 insertions(+), 4 deletions(-) -> >> create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32 -> >> create mode 100644 include/linux/iio/adc/stm32-dfsdm-adc.h +> >>? .../ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32????? |? 22 + +> >>? drivers/iio/adc/stm32-dfsdm-adc.c????????????????? | 517 ++++++++++++++++++++- +> >>? include/linux/iio/adc/stm32-dfsdm-adc.h??????????? |? 27 ++ +> >>? 3 files changed, 562 insertions(+), 4 deletions(-) +> >>? create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32 +> >>? create mode 100644 include/linux/iio/adc/stm32-dfsdm-adc.h > >> > >> diff --git a/Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32 b/Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32 > >> new file mode 100644 @@ -37,14 +37,14 @@ Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote: > >> --- /dev/null > >> +++ b/Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32 > >> @@ -0,0 +1,22 @@ -> >> +What: /sys/bus/iio/devices/iio:deviceX/in_voltage_audio_sampling_rate -> >> +KernelVersion: 4.14 -> >> +Contact: arnaud.pouliquen-qxv4g6HH51o@public.gmane.org +> >> +What:??????????????? /sys/bus/iio/devices/iio:deviceX/in_voltage_audio_sampling_rate +> >> +KernelVersion:?????? 4.14 +> >> +Contact:???? arnaud.pouliquen at st.com > >> +Description: -> >> + For audio purpose only. -> >> + Used by audio driver to set/get the audio sampling rate. -> >> + Reading returns current audio sample frequency. -> >> + Writing value before starting conversions. +> >> +???????????? For audio purpose only. +> >> +???????????? Used by audio driver to set/get the audio sampling rate. +> >> +???????????? Reading returns current audio sample frequency. +> >> +???????????? Writing value before starting conversions. > > > > I would like to see a note here on why sampling_frequency can't be used for > > this purpose. @@ -63,7 +63,7 @@ Yes - add these please. Just not been a usecase before for the general write. > >> +/** > >> + * stm32_dfsdm_get_buff_cb - register a callback -> >> + * that will be called when DMA transfer period is achieved. +> >> + *?? that will be called when DMA transfer period is achieved. > > Please run kernel-doc over this file. I'm fairly sure this isn't > > quite meeting the spec... > Sorry it is not crystal clear for me, could you detail what you would @@ -79,8 +79,8 @@ new since I last looked! > >> + * > >> + * @iio_dev: Handle to IIO device. > >> + * @cb: pointer to callback function. -> >> + * @data: pointer to data buffer -> >> + * @size: size in byte of the data buffer -> >> + * @private: pointer to consumer private structure +> >> + *?? @data: pointer to data buffer +> >> + *?? @size: size in byte of the data buffer +> >> + *?? @private: pointer to consumer private structure > >> + * @private: pointer to consumer private structure > >> + */ diff --git a/a/content_digest b/N2/content_digest index cf869b7..66afe84 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -2,43 +2,27 @@ "ref\01510222354-15290-10-git-send-email-arnaud.pouliquen@st.com\0" "ref\020171119141830.29f1cfc9@archlinux\0" "ref\04362763f-2182-a3cf-cbd6-6c71df59af52@st.com\0" - "ref\04362763f-2182-a3cf-cbd6-6c71df59af52-qxv4g6HH51o@public.gmane.org\0" - "From\0Jonathan Cameron <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>\0" - "Subject\0Re: [PATCH v4 09/12] IIO: ADC: add stm32 DFSDM support for PDM microphone\0" + "From\0jic23@kernel.org (Jonathan Cameron)\0" + "Subject\0[PATCH v4 09/12] IIO: ADC: add stm32 DFSDM support for PDM microphone\0" "Date\0Sat, 25 Nov 2017 14:36:10 +0000\0" - "To\0Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>\0" - "Cc\0Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>" - Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> - Hartmut Knaack <knaack.h-Mmb7MZpHnFY@public.gmane.org> - Lars-Peter Clausen <lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org> - Peter Meerwald-Stadler <pmeerw-jW+XmwGofnusTnJN9+BGXg@public.gmane.org> - Jaroslav Kysela <perex-/Fr2/VpizcU@public.gmane.org> - Takashi Iwai <tiwai-IBi9RG/b67k@public.gmane.org> - Liam Girdwood <lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> - Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> - devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> - linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org <linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org> - linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> - alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org <alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org> - Maxime Coquelin <mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> - " Alexandre TORGUE <alexandre.torgue-qxv4g6HH51o@public.gmane.org>\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "On Fri, 24 Nov 2017 15:52:26 +0100\n" - "Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote:\n" + "Arnaud Pouliquen <arnaud.pouliquen@st.com> wrote:\n" "\n" "> On 11/19/2017 03:18 PM, Jonathan Cameron wrote:\n" "> > On Thu, 9 Nov 2017 11:12:31 +0100\n" - "> > Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> wrote:\n" + "> > Arnaud Pouliquen <arnaud.pouliquen@st.com> wrote:\n" "> > \n" "> >> This code offers a way to handle PDM audio microphones in\n" "> >> ASOC framework. Audio driver should use consumer API.\n" "> >> A specific management is implemented for DMA, with a\n" "> >> callback, to allows to handle audio buffers efficiently.\n" "> >> \n" - "> >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> \n" + "> >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com> \n" "> > \n" - "> > A few minor points inline.\302\240 I'm not sure I really 'like' the\n" + "> > A few minor points inline.? I'm not sure I really 'like' the\n" "> > solution we've ended up with currently but if it works it will\n" "> > do just fine for now :)\n" "> > \n" @@ -47,15 +31,15 @@ "> > \n" "> >> ---\n" "> >> V3 -> V4 changes:\n" - "> >>\302\240 - Merge audio implementation in stm32-dfsdm-adc.c instead of creating separate file\n" - "> >>\302\240 - Add sysfs document for exported attributes\n" + "> >>? - Merge audio implementation in stm32-dfsdm-adc.c instead of creating separate file\n" + "> >>? - Add sysfs document for exported attributes\n" "> >> \n" - "> >>\302\240 .../ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32\302\240\302\240\302\240\302\240\302\240 |\302\240 22 +\n" - "> >>\302\240 drivers/iio/adc/stm32-dfsdm-adc.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 | 517 ++++++++++++++++++++-\n" - "> >>\302\240 include/linux/iio/adc/stm32-dfsdm-adc.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 |\302\240 27 ++\n" - "> >>\302\240 3 files changed, 562 insertions(+), 4 deletions(-)\n" - "> >>\302\240 create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32\n" - "> >>\302\240 create mode 100644 include/linux/iio/adc/stm32-dfsdm-adc.h\n" + "> >>? .../ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32????? |? 22 +\n" + "> >>? drivers/iio/adc/stm32-dfsdm-adc.c????????????????? | 517 ++++++++++++++++++++-\n" + "> >>? include/linux/iio/adc/stm32-dfsdm-adc.h??????????? |? 27 ++\n" + "> >>? 3 files changed, 562 insertions(+), 4 deletions(-)\n" + "> >>? create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32\n" + "> >>? create mode 100644 include/linux/iio/adc/stm32-dfsdm-adc.h\n" "> >> \n" "> >> diff --git a/Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32 b/Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32\n" "> >> new file mode 100644\n" @@ -63,14 +47,14 @@ "> >> --- /dev/null\n" "> >> +++ b/Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32\n" "> >> @@ -0,0 +1,22 @@\n" - "> >> +What:\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 /sys/bus/iio/devices/iio:deviceX/in_voltage_audio_sampling_rate\n" - "> >> +KernelVersion:\302\240\302\240\302\240\302\240\302\240\302\240 4.14\n" - "> >> +Contact:\302\240\302\240\302\240\302\240 arnaud.pouliquen-qxv4g6HH51o@public.gmane.org\n" + "> >> +What:??????????????? /sys/bus/iio/devices/iio:deviceX/in_voltage_audio_sampling_rate\n" + "> >> +KernelVersion:?????? 4.14\n" + "> >> +Contact:???? arnaud.pouliquen at st.com\n" "> >> +Description:\n" - "> >> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 For audio purpose only.\n" - "> >> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 Used by audio driver to set/get the audio sampling rate.\n" - "> >> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 Reading returns current audio sample frequency.\n" - "> >> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 Writing value before starting conversions. \n" + "> >> +???????????? For audio purpose only.\n" + "> >> +???????????? Used by audio driver to set/get the audio sampling rate.\n" + "> >> +???????????? Reading returns current audio sample frequency.\n" + "> >> +???????????? Writing value before starting conversions. \n" "> > \n" "> > I would like to see a note here on why sampling_frequency can't be used for\n" "> > this purpose. \n" @@ -89,7 +73,7 @@ "\n" "> >> +/**\n" "> >> + * stm32_dfsdm_get_buff_cb - register a callback\n" - "> >> + *\302\240\302\240 that will be called when DMA transfer period is achieved. \n" + "> >> + *?? that will be called when DMA transfer period is achieved. \n" "> > Please run kernel-doc over this file. I'm fairly sure this isn't\n" "> > quite meeting the spec... \n" "> Sorry it is not crystal clear for me, could you detail what you would\n" @@ -105,10 +89,10 @@ "> >> + *\n" "> >> + * @iio_dev: Handle to IIO device.\n" "> >> + * @cb: pointer to callback function.\n" - "> >> + *\302\240\302\240 @data: pointer to data buffer\n" - "> >> + *\302\240\302\240 @size: size in byte of the data buffer\n" - "> >> + *\302\240\302\240 @private: pointer to consumer private structure\n" + "> >> + *?? @data: pointer to data buffer\n" + "> >> + *?? @size: size in byte of the data buffer\n" + "> >> + *?? @private: pointer to consumer private structure\n" "> >> + * @private: pointer to consumer private structure\n" > >> + */ -e2e9a177a8c6bade3b9aea51362c808300fb0979345249433034aca4d3071943 +2eae69d8b5bfe735512cedbf87d4428174c5efd6ea0697b9206c1536298eb079
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.