All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@ti.com>
To: "Pali Rohár" <pali.rohar@gmail.com>
Cc: <balbi@ti.com>, Tony Lindgren <tony@atomide.com>,
	Anton Vorontsov <anton@enomsg.org>,
	Russell King <linux@arm.linux.org.uk>,
	David Woodhouse <dwmw2@infradead.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	<linux-omap@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <linux-usb@vger.kernel.org>,
	<freemangordon@abv.bg>, <aaro.koskinen@iki.fi>, <pavel@ucw.cz>
Subject: Re: [PATCH 1/4] usb: musb: Call atomic_notifier_call_chain when status is changed
Date: Tue, 17 Sep 2013 11:08:35 -0500	[thread overview]
Message-ID: <20130917160835.GS15645@radagast> (raw)
In-Reply-To: <201309171805.15460@pali>

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

On Tue, Sep 17, 2013 at 06:05:15PM +0200, Pali Rohár wrote:
> On Tuesday 17 September 2013 17:48:59 you wrote:
> > On Sun, Sep 08, 2013 at 10:50:36AM +0200, Pali Rohár wrote:
> > > More power supply drivers depends on vbus events and without
> > > it they not working. Power supply drivers using
> > > usb_register_notifier, so to deliver events it is needed to
> > > call atomic_notifier_call_chain.
> > > 
> > > So without atomic notifier power supply driver isp1704 not
> > > retrieving vbus status and reporting bogus values to
> > > userspace and also to board platform data functions.
> > > Without proper data charger drivers trying to charge
> > > battery also when charger is disconnected or do not start
> > > charging when wallcharger connects.
> > > 
> > > Atomic notifier in musb driver was used before v3.5 and was
> > > replaced with omap mailbox. This patch adding
> > > atomic_notifier_call_chain call from function
> > > omap_musb_set_mailbox.
> > > 
> > > Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> > > ---
> > > 
> > >  drivers/usb/musb/omap2430.c       |    3 +++
> > >  drivers/usb/phy/phy-twl4030-usb.c |    2 ++
> > >  2 files changed, 5 insertions(+)
> > > 
> > > diff --git a/drivers/usb/musb/omap2430.c
> > > b/drivers/usb/musb/omap2430.c index f44e8b5..5c40252 100644
> > > --- a/drivers/usb/musb/omap2430.c
> > > +++ b/drivers/usb/musb/omap2430.c
> > > @@ -305,6 +305,9 @@ static void omap_musb_set_mailbox(struct
> > > omap2430_glue *glue)
> > > 
> > >  	default:
> > >  		dev_dbg(dev, "ID float\n");
> > >  	
> > >  	}
> > > 
> > > +
> > > +	atomic_notifier_call_chain(&musb->xceiv->notifier,
> > > +			musb->xceiv->last_event, NULL);
> > 
> > let's add a wrapper for this:
> > 
> > static inline int usb_phy_notify(struct usb phy *x, unsigned
> > val, void *v) {
> > 	return atomic_notifier_call_chain(&x->notifier, val, v);
> > }
> 
> Where to add this wrapper? To omap2430.c? or some include file?

<linux/usb/phy.h>

> On Tuesday 17 September 2013 17:49:17 Felipe Balbi wrote:
> > On Sun, Sep 08, 2013 at 10:50:36AM +0200, Pali Rohár wrote:
> > > diff --git a/drivers/usb/phy/phy-twl4030-usb.c
> > > b/drivers/usb/phy/phy-twl4030-usb.c index 8f78d2d..efe6155
> > > 100644
> > > --- a/drivers/usb/phy/phy-twl4030-usb.c
> > > +++ b/drivers/usb/phy/phy-twl4030-usb.c
> > > @@ -705,6 +705,8 @@ static int twl4030_usb_probe(struct
> > > platform_device *pdev)
> > > 
> > >  	if (device_create_file(&pdev->dev, &dev_attr_vbus))
> > >  	
> > >  		dev_warn(&pdev->dev, "could not create sysfs file\n");
> > > 
> > > +	ATOMIC_INIT_NOTIFIER_HEAD(&twl->phy.notifier);
> > 
> > BTW, this is a bugfix, send separately.
> 
> What to send separately?
> 
> This full patch 1/4 is bugfix. And I did not understand what you 
> want. Maybe it could be easier for you to apply this small 3+2 
> lines patch how you need.

This hunk here (initializaing notifier head) is a separate bug fix and
needs its own patch.

-- 
balbi

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

WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@ti.com>
To: "Pali Rohár" <pali.rohar@gmail.com>
Cc: linux-usb@vger.kernel.org, Russell King <linux@arm.linux.org.uk>,
	aaro.koskinen@iki.fi, Tony Lindgren <tony@atomide.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Anton Vorontsov <anton@enomsg.org>,
	linux-kernel@vger.kernel.org, balbi@ti.com, freemangordon@abv.bg,
	pavel@ucw.cz, linux-omap@vger.kernel.org,
	David Woodhouse <dwmw2@infradead.org>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/4] usb: musb: Call atomic_notifier_call_chain when status is changed
Date: Tue, 17 Sep 2013 11:08:35 -0500	[thread overview]
Message-ID: <20130917160835.GS15645@radagast> (raw)
In-Reply-To: <201309171805.15460@pali>


[-- Attachment #1.1: Type: text/plain, Size: 3031 bytes --]

On Tue, Sep 17, 2013 at 06:05:15PM +0200, Pali Rohár wrote:
> On Tuesday 17 September 2013 17:48:59 you wrote:
> > On Sun, Sep 08, 2013 at 10:50:36AM +0200, Pali Rohár wrote:
> > > More power supply drivers depends on vbus events and without
> > > it they not working. Power supply drivers using
> > > usb_register_notifier, so to deliver events it is needed to
> > > call atomic_notifier_call_chain.
> > > 
> > > So without atomic notifier power supply driver isp1704 not
> > > retrieving vbus status and reporting bogus values to
> > > userspace and also to board platform data functions.
> > > Without proper data charger drivers trying to charge
> > > battery also when charger is disconnected or do not start
> > > charging when wallcharger connects.
> > > 
> > > Atomic notifier in musb driver was used before v3.5 and was
> > > replaced with omap mailbox. This patch adding
> > > atomic_notifier_call_chain call from function
> > > omap_musb_set_mailbox.
> > > 
> > > Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> > > ---
> > > 
> > >  drivers/usb/musb/omap2430.c       |    3 +++
> > >  drivers/usb/phy/phy-twl4030-usb.c |    2 ++
> > >  2 files changed, 5 insertions(+)
> > > 
> > > diff --git a/drivers/usb/musb/omap2430.c
> > > b/drivers/usb/musb/omap2430.c index f44e8b5..5c40252 100644
> > > --- a/drivers/usb/musb/omap2430.c
> > > +++ b/drivers/usb/musb/omap2430.c
> > > @@ -305,6 +305,9 @@ static void omap_musb_set_mailbox(struct
> > > omap2430_glue *glue)
> > > 
> > >  	default:
> > >  		dev_dbg(dev, "ID float\n");
> > >  	
> > >  	}
> > > 
> > > +
> > > +	atomic_notifier_call_chain(&musb->xceiv->notifier,
> > > +			musb->xceiv->last_event, NULL);
> > 
> > let's add a wrapper for this:
> > 
> > static inline int usb_phy_notify(struct usb phy *x, unsigned
> > val, void *v) {
> > 	return atomic_notifier_call_chain(&x->notifier, val, v);
> > }
> 
> Where to add this wrapper? To omap2430.c? or some include file?

<linux/usb/phy.h>

> On Tuesday 17 September 2013 17:49:17 Felipe Balbi wrote:
> > On Sun, Sep 08, 2013 at 10:50:36AM +0200, Pali Rohár wrote:
> > > diff --git a/drivers/usb/phy/phy-twl4030-usb.c
> > > b/drivers/usb/phy/phy-twl4030-usb.c index 8f78d2d..efe6155
> > > 100644
> > > --- a/drivers/usb/phy/phy-twl4030-usb.c
> > > +++ b/drivers/usb/phy/phy-twl4030-usb.c
> > > @@ -705,6 +705,8 @@ static int twl4030_usb_probe(struct
> > > platform_device *pdev)
> > > 
> > >  	if (device_create_file(&pdev->dev, &dev_attr_vbus))
> > >  	
> > >  		dev_warn(&pdev->dev, "could not create sysfs file\n");
> > > 
> > > +	ATOMIC_INIT_NOTIFIER_HEAD(&twl->phy.notifier);
> > 
> > BTW, this is a bugfix, send separately.
> 
> What to send separately?
> 
> This full patch 1/4 is bugfix. And I did not understand what you 
> want. Maybe it could be easier for you to apply this small 3+2 
> lines patch how you need.

This hunk here (initializaing notifier head) is a separate bug fix and
needs its own patch.

-- 
balbi

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

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: balbi@ti.com (Felipe Balbi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/4] usb: musb: Call atomic_notifier_call_chain when status is changed
Date: Tue, 17 Sep 2013 11:08:35 -0500	[thread overview]
Message-ID: <20130917160835.GS15645@radagast> (raw)
In-Reply-To: <201309171805.15460@pali>

On Tue, Sep 17, 2013 at 06:05:15PM +0200, Pali Roh?r wrote:
> On Tuesday 17 September 2013 17:48:59 you wrote:
> > On Sun, Sep 08, 2013 at 10:50:36AM +0200, Pali Roh?r wrote:
> > > More power supply drivers depends on vbus events and without
> > > it they not working. Power supply drivers using
> > > usb_register_notifier, so to deliver events it is needed to
> > > call atomic_notifier_call_chain.
> > > 
> > > So without atomic notifier power supply driver isp1704 not
> > > retrieving vbus status and reporting bogus values to
> > > userspace and also to board platform data functions.
> > > Without proper data charger drivers trying to charge
> > > battery also when charger is disconnected or do not start
> > > charging when wallcharger connects.
> > > 
> > > Atomic notifier in musb driver was used before v3.5 and was
> > > replaced with omap mailbox. This patch adding
> > > atomic_notifier_call_chain call from function
> > > omap_musb_set_mailbox.
> > > 
> > > Signed-off-by: Pali Roh?r <pali.rohar@gmail.com>
> > > ---
> > > 
> > >  drivers/usb/musb/omap2430.c       |    3 +++
> > >  drivers/usb/phy/phy-twl4030-usb.c |    2 ++
> > >  2 files changed, 5 insertions(+)
> > > 
> > > diff --git a/drivers/usb/musb/omap2430.c
> > > b/drivers/usb/musb/omap2430.c index f44e8b5..5c40252 100644
> > > --- a/drivers/usb/musb/omap2430.c
> > > +++ b/drivers/usb/musb/omap2430.c
> > > @@ -305,6 +305,9 @@ static void omap_musb_set_mailbox(struct
> > > omap2430_glue *glue)
> > > 
> > >  	default:
> > >  		dev_dbg(dev, "ID float\n");
> > >  	
> > >  	}
> > > 
> > > +
> > > +	atomic_notifier_call_chain(&musb->xceiv->notifier,
> > > +			musb->xceiv->last_event, NULL);
> > 
> > let's add a wrapper for this:
> > 
> > static inline int usb_phy_notify(struct usb phy *x, unsigned
> > val, void *v) {
> > 	return atomic_notifier_call_chain(&x->notifier, val, v);
> > }
> 
> Where to add this wrapper? To omap2430.c? or some include file?

<linux/usb/phy.h>

> On Tuesday 17 September 2013 17:49:17 Felipe Balbi wrote:
> > On Sun, Sep 08, 2013 at 10:50:36AM +0200, Pali Roh?r wrote:
> > > diff --git a/drivers/usb/phy/phy-twl4030-usb.c
> > > b/drivers/usb/phy/phy-twl4030-usb.c index 8f78d2d..efe6155
> > > 100644
> > > --- a/drivers/usb/phy/phy-twl4030-usb.c
> > > +++ b/drivers/usb/phy/phy-twl4030-usb.c
> > > @@ -705,6 +705,8 @@ static int twl4030_usb_probe(struct
> > > platform_device *pdev)
> > > 
> > >  	if (device_create_file(&pdev->dev, &dev_attr_vbus))
> > >  	
> > >  		dev_warn(&pdev->dev, "could not create sysfs file\n");
> > > 
> > > +	ATOMIC_INIT_NOTIFIER_HEAD(&twl->phy.notifier);
> > 
> > BTW, this is a bugfix, send separately.
> 
> What to send separately?
> 
> This full patch 1/4 is bugfix. And I did not understand what you 
> want. Maybe it could be easier for you to apply this small 3+2 
> lines patch how you need.

This hunk here (initializaing notifier head) is a separate bug fix and
needs its own patch.

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130917/a7e83fbb/attachment.sig>

  reply	other threads:[~2013-09-17 16:10 UTC|newest]

Thread overview: 148+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-08  8:50 [PATCH 0/4] Add support for charging battery in Nokia RX-51 Pali Rohár
2013-09-08  8:50 ` Pali Rohár
2013-09-08  8:50 ` [PATCH 1/4] usb: musb: Call atomic_notifier_call_chain when status is changed Pali Rohár
2013-09-08  8:50   ` Pali Rohár
2013-09-17 15:48   ` Felipe Balbi
2013-09-17 15:48     ` Felipe Balbi
2013-09-17 15:48     ` Felipe Balbi
2013-09-17 15:49   ` Felipe Balbi
2013-09-17 15:49     ` Felipe Balbi
2013-09-17 15:49     ` Felipe Balbi
2013-09-17 16:05     ` Pali Rohár
2013-09-17 16:05       ` Pali Rohár
2013-09-17 16:05       ` Pali Rohár
2013-09-17 16:08       ` Felipe Balbi [this message]
2013-09-17 16:08         ` Felipe Balbi
2013-09-17 16:08         ` Felipe Balbi
2013-09-17 19:28         ` Pali Rohár
2013-09-17 19:28           ` Pali Rohár
2013-09-18  1:49           ` Felipe Balbi
2013-09-18  1:49             ` Felipe Balbi
2013-09-18  1:49             ` Felipe Balbi
2013-09-18  8:20             ` Pali Rohár
2013-09-18  8:20               ` Pali Rohár
2013-09-18  8:20               ` Pali Rohár
2013-09-18  9:04               ` Javier Martinez Canillas
2013-09-18  9:04                 ` Javier Martinez Canillas
2013-09-18  9:04                 ` Javier Martinez Canillas
2013-09-18 13:30                 ` Pavel Machek
2013-09-18 13:30                   ` Pavel Machek
2013-09-18 13:57                   ` Javier Martinez Canillas
2013-09-18 13:57                     ` Javier Martinez Canillas
2013-09-18 14:22                     ` Pavel Machek
2013-09-18 14:22                       ` Pavel Machek
2013-09-18 14:35                       ` Pavel Machek
2013-09-18 14:35                         ` Pavel Machek
2013-09-18 16:25                         ` Felipe Balbi
2013-09-18 16:25                           ` Felipe Balbi
2013-09-18 16:25                           ` Felipe Balbi
2013-09-18 14:53                       ` Javier Martinez Canillas
2013-09-18 14:53                         ` Javier Martinez Canillas
2013-09-18 15:56                     ` Pali Rohár
2013-09-18 15:56                       ` Pali Rohár
2013-09-18 15:56                       ` Pali Rohár
2013-09-18 16:36                       ` Felipe Balbi
2013-09-18 16:36                         ` Felipe Balbi
2013-09-18 16:36                         ` Felipe Balbi
2013-09-18 16:43                         ` Pali Rohár
2013-09-18 16:43                           ` Pali Rohár
2013-09-18 16:43                           ` Pali Rohár
2013-09-18 16:48                           ` Felipe Balbi
2013-09-18 16:48                             ` Felipe Balbi
2013-09-18 16:48                             ` Felipe Balbi
2013-09-18 17:03                             ` [PATCH usb 1/2] usb: musb: Add missing ATOMIC_INIT_NOTIFIER_HEAD Pali Rohár
2013-09-18 17:03                               ` Pali Rohár
2013-09-18 17:03                               ` Pali Rohár
2013-09-25  8:17                               ` Pali Rohár
2013-09-25  8:17                                 ` Pali Rohár
2013-09-25  8:17                                 ` Pali Rohár
2013-09-25 20:33                                 ` Felipe Balbi
2013-09-25 20:33                                   ` Felipe Balbi
2013-09-25 20:33                                   ` Felipe Balbi
2013-09-26  0:00                                   ` Pavel Machek
2013-09-26  0:00                                     ` Pavel Machek
2013-10-01 14:22                                     ` Felipe Balbi
2013-10-01 14:22                                       ` Felipe Balbi
2013-10-01 14:22                                       ` Felipe Balbi
2013-09-18 17:03                             ` [PATCH usb 2/2] usb: musb: Call atomic_notifier_call_chain when status is changed Pali Rohár
2013-09-18 17:03                               ` Pali Rohár
2013-09-18 17:03                               ` Pali Rohár
2013-09-08  8:50 ` [PATCH 2/4] power: isp1704_charger: Fix driver to work with changes introduced in v3.5 Pali Rohár
2013-09-08  8:50   ` Pali Rohár
2013-10-22 21:03   ` Anton Vorontsov
2013-10-22 21:03     ` Anton Vorontsov
2013-09-08  8:50 ` [PATCH 3/4] power: isp1704_charger: Add callback function set_current Pali Rohár
2013-09-08  8:50   ` Pali Rohár
2013-09-08  8:50 ` [PATCH 4/4] RX-51: Add platform function and data for bq24150a charger Pali Rohár
2013-09-08  8:50   ` Pali Rohár
2013-09-09 13:39   ` Sebastian Reichel
2013-09-09 13:39     ` Sebastian Reichel
2013-09-20 19:22   ` Pali Rohár
2013-09-20 19:22     ` Pali Rohár
2013-09-23 18:03     ` Tony Lindgren
2013-09-23 18:03       ` Tony Lindgren
2013-09-23 19:16       ` Pali Rohár
2013-09-23 19:16         ` Pali Rohár
2013-09-23 20:00         ` Sebastian Reichel
2013-09-23 20:00           ` Sebastian Reichel
2013-09-23 20:06           ` Pali Rohár
2013-09-23 20:06             ` Pali Rohár
2013-09-23 20:47             ` Sebastian Reichel
2013-09-23 20:47               ` Sebastian Reichel
2013-09-23 23:11               ` Tony Lindgren
2013-09-23 23:11                 ` Tony Lindgren
2013-09-24  0:05               ` Pavel Machek
2013-09-24  0:05                 ` Pavel Machek
2013-09-24 17:05               ` Pali Rohár
2013-09-24 17:05                 ` Pali Rohár
2013-09-24 20:50                 ` Sebastian Reichel
2013-09-24 20:50                   ` Sebastian Reichel
2013-09-14  9:38 ` [PATCH 0/4] Add support for charging battery in Nokia RX-51 Pali Rohár
2013-09-14  9:38   ` Pali Rohár
2013-09-21 13:42 ` Pali Rohár
2013-09-21 13:42   ` Pali Rohár
2013-11-19 10:18 ` [PATCH v2 0/3] " Pali Rohár
2013-11-19 10:18   ` [PATCH v2 1/3] power_supply: Add power_supply notifier Pali Rohár
2013-11-19 13:10     ` Pavel Machek
2013-11-19 13:19       ` Pali Rohár
2013-11-24 17:02     ` Sebastian Reichel
2013-11-27 17:23     ` Tc, Jenny
2013-11-27 17:23       ` Tc, Jenny
2013-12-01 22:20       ` Anton Vorontsov
2013-12-01 22:23     ` Anton Vorontsov
2013-12-01 22:23       ` Anton Vorontsov
2014-01-03 11:09       ` Tc, Jenny
2014-01-03 11:09         ` Tc, Jenny
2014-01-03 16:02         ` Anton Vorontsov
2013-11-19 10:18   ` [PATCH v2 2/3] bq2415x_charger: Use power_supply notifier for automode Pali Rohár
2013-11-19 13:24     ` Pavel Machek
2013-12-24  1:58       ` Anton Vorontsov
2013-11-24 17:00     ` Sebastian Reichel
2013-11-24 19:01       ` Pali Rohár
2013-11-24 19:26         ` Sebastian Reichel
2013-11-24 19:41           ` Pali Rohár
2013-11-24 21:00             ` Sebastian Reichel
2013-11-25 14:01             ` Pavel Machek
2013-11-25 14:10               ` Pali Rohár
2013-11-25 15:18                 ` Pavel Machek
2013-11-25 18:52                   ` Pali Rohár
2013-11-24 17:18     ` Michael Trimarchi
2013-11-24 17:18       ` Michael Trimarchi
2013-11-24 19:01       ` Pali Rohár
2013-11-25 19:16         ` Michael Trimarchi
2013-11-25 19:16           ` Michael Trimarchi
2013-12-01 22:37           ` Anton Vorontsov
2013-12-02  0:02             ` Michael Trimarchi
2013-12-02  0:24               ` Anton Vorontsov
2013-12-02  1:45                 ` Michael Trimarchi
2014-01-19 20:54                   ` Sebastian Reichel
2014-01-19 20:56                     ` Michael Trimarchi
2014-01-20 10:21                     ` Russell King - ARM Linux
2014-01-20 11:24                       ` Sebastian Reichel
2013-12-06 13:32     ` Pali Rohár
2013-11-19 10:18   ` [PATCH v2 3/3] RX-51: Add platform data for bq24150a charger Pali Rohár
2013-11-19 13:32     ` Pavel Machek
2013-11-24 10:28       ` Pali Rohár
2013-11-19 14:44   ` [PATCH v2 0/3] Add support for charging battery in Nokia RX-51 Sebastian Reichel
2013-11-19 15:40     ` Tony Lindgren
2013-11-19 21:38     ` Pali Rohár

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=20130917160835.GS15645@radagast \
    --to=balbi@ti.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=anton@enomsg.org \
    --cc=dwmw2@infradead.org \
    --cc=freemangordon@abv.bg \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=pali.rohar@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=tony@atomide.com \
    /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.