Patchwork [PATCHv2] smsc911x: add irq_flags in smsc911x_platform_config.

login
register
mail settings
Submitter Stanley.Miao
Date Jan. 14, 2009, 6:58 a.m.
Message ID <1231916280-7391-1-git-send-email-stanley.miao@windriver.com>
Download mbox | patch
Permalink /patch/18386/
State Rejected
Delegated to: David Miller
Headers show

Comments

Stanley.Miao - Jan. 14, 2009, 6:58 a.m.
When calling request IRQ it is desirable to allow platforms
to specific flags for the call to request_irq. Adding irq_flags
to smsc911x_platform_config allows these flags to be passed.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
---
 drivers/net/smsc911x.c   |    6 ++++--
 include/linux/smsc911x.h |    1 +
 2 files changed, 5 insertions(+), 2 deletions(-)
Steve Glendinning - Jan. 14, 2009, 8:54 a.m.
> When calling request IRQ it is desirable to allow platforms
> to specific flags for the call to request_irq. Adding irq_flags
> to smsc911x_platform_config allows these flags to be passed.
> 
> Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>

Acked-by: Steve Glendinning <steve.glendinning@smsc.com>

Thanks Stanley.

I have two more arm platform smsc911x conversion patches (realview and 
pcm037) which I'll post for review shortly.  Both also depend on this 
irq_flags change, as they register their interrupts shared.  David: would 
it make sense to put this driver patch into the arm tree?

Steve
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Jan. 14, 2009, 9:30 a.m.
From: Steve.Glendinning@smsc.com
Date: Wed, 14 Jan 2009 08:54:36 +0000

> David: would it make sense to put this driver patch into the arm
> tree?

I plan on taking it via net-2.6
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steve Glendinning - Jan. 14, 2009, 9:52 a.m.
> > David: would it make sense to put this driver patch into the arm
> > tree?
> 
> I plan on taking it via net-2.6

Thanks David, I guess I need to wait until this is merged (and pulled into 
the arm tree) before my arm platform patches can go in?  They break 
compilation without the driver patch.

I'll post the patchset to arm-kernel for review today.

Steve
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Russell King - ARM Linux - Jan. 14, 2009, 10:05 a.m.
On Wed, Jan 14, 2009 at 08:54:36AM +0000, Steve.Glendinning@smsc.com wrote:
> > When calling request IRQ it is desirable to allow platforms
> > to specific flags for the call to request_irq. Adding irq_flags
> > to smsc911x_platform_config allows these flags to be passed.
> > 
> > Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
> 
> Acked-by: Steve Glendinning <steve.glendinning@smsc.com>
> 
> Thanks Stanley.
> 
> I have two more arm platform smsc911x conversion patches (realview and 
> pcm037) which I'll post for review shortly.  Both also depend on this 
> irq_flags change, as they register their interrupts shared.  David: would 
> it make sense to put this driver patch into the arm tree?

Does this really make sense?  Normally, the interrupt level/edge stuff is
passed through the resource structure.

I can't really comment because it seems that there's no way to work out
what patch you're acking.  I can't find it in the last 6 months of email,
and there's no attributation for your quoted reply to hint at when the
original message was sent.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steve Glendinning - Jan. 14, 2009, 10:11 a.m.
Hi Russell,

> > > When calling request IRQ it is desirable to allow platforms
> > > to specific flags for the call to request_irq. Adding irq_flags
> > > to smsc911x_platform_config allows these flags to be passed.
> > > 
> > > Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
> > 
> > Acked-by: Steve Glendinning <steve.glendinning@smsc.com>
> > 
> > Thanks Stanley.
> > 
> > I have two more arm platform smsc911x conversion patches (realview and 

> > pcm037) which I'll post for review shortly.  Both also depend on this 
> > irq_flags change, as they register their interrupts shared.  David: 
would 
> > it make sense to put this driver patch into the arm tree?
> 
> Does this really make sense?  Normally, the interrupt level/edge stuff 
is
> passed through the resource structure.
> 
> I can't really comment because it seems that there's no way to work out
> what patch you're acking.  I can't find it in the last 6 months of 
email,
> and there's no attributation for your quoted reply to hint at when the
> original message was sent.

Here's the patch:  http://patchwork.ozlabs.org/patch/18386/

Steve
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Jan. 14, 2009, 10:11 a.m.
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
Date: Wed, 14 Jan 2009 10:05:50 +0000

> I can't really comment because it seems that there's no way to work out
> what patch you're acking.

http://patchwork.ozlabs.org/patch/18386/
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Russell King - ARM Linux - Jan. 14, 2009, 10:14 a.m.
On Wed, Jan 14, 2009 at 02:11:24AM -0800, David Miller wrote:
> From: Russell King - ARM Linux <linux@arm.linux.org.uk>
> Date: Wed, 14 Jan 2009 10:05:50 +0000
> 
> > I can't really comment because it seems that there's no way to work out
> > what patch you're acking.
> 
> http://patchwork.ozlabs.org/patch/18386/

Ah, yes, it's doing as I thought.  I'll nak it then.

There's really no need for this driver to start doing this a different way
to the rest of the kernel.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Russell King - ARM Linux - Jan. 14, 2009, 10:17 a.m.
On Wed, Jan 14, 2009 at 06:22:50PM +0800, stanley.miao wrote:
> Did you subscribe netdev mail list ? Maybe it was filtered into netdev
> mail list. I just send the patch 4 hours ago.

No, I'm not.  Take a moment to think about why - I'm the ARM maintainer.
Think what it would mean to be subscribed to the hundred or so mailing
lists which cover all the kernel areas I _might_ be interested in.
Precisely when would I get time to answer ARM related emails if I had
to filter/read all that lot?

Moreover, I don't do much if any netdev hacking anymore.

My interest comes via the addition of the ARM mailing lists to this
thread.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Russell King - ARM Linux - Jan. 14, 2009, 10:19 a.m.
On Wed, Jan 14, 2009 at 08:54:36AM +0000, Steve.Glendinning@smsc.com wrote:
> I have two more arm platform smsc911x conversion patches (realview and 
> pcm037) which I'll post for review shortly.  Both also depend on this 
> irq_flags change, as they register their interrupts shared.  David: would 
> it make sense to put this driver patch into the arm tree?

BTW, the shared-ness of an interrupt handler depends on how the interrupt
handler is written, not on whether you require the interrupt to be
exclusively owned or not.

So, if a driver is written to co-operate properly with shared interrupts
then it should always pass IRQF_SHARED.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Jan. 14, 2009, 10:19 a.m.
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
Date: Wed, 14 Jan 2009 10:17:24 +0000

> My interest comes via the addition of the ARM mailing lists to this
> thread.

Good, because the patch was CC:'d to
linux-arm-kernel@lists.arm.linux.org.uk

Maybe some filters didn't let it pass? :-)

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Russell King - ARM Linux - Jan. 14, 2009, 10:22 a.m.
On Wed, Jan 14, 2009 at 02:19:51AM -0800, David Miller wrote:
> From: Russell King - ARM Linux <linux@arm.linux.org.uk>
> Date: Wed, 14 Jan 2009 10:17:24 +0000
> 
> > My interest comes via the addition of the ARM mailing lists to this
> > thread.
> 
> Good, because the patch was CC:'d to
> linux-arm-kernel@lists.arm.linux.org.uk
> 
> Maybe some filters didn't let it pass? :-)

I checked the queue, it isn't there.  As far as I can see from the MTA
logs, it hasn't even never made it to the list server yet - first message
received by the list server MTA from mail.windriver.com was at 10:14 GMT.

So it's stuck in windriver somewhere.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stanley.Miao - Jan. 14, 2009, 10:22 a.m.
On Wed, 2009-01-14 at 10:05 +0000, Russell King - ARM Linux wrote:
> On Wed, Jan 14, 2009 at 08:54:36AM +0000, Steve.Glendinning@smsc.com wrote:
> > > When calling request IRQ it is desirable to allow platforms
> > > to specific flags for the call to request_irq. Adding irq_flags
> > > to smsc911x_platform_config allows these flags to be passed.
> > > 
> > > Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
> > 
> > Acked-by: Steve Glendinning <steve.glendinning@smsc.com>
> > 
> > Thanks Stanley.
> > 
> > I have two more arm platform smsc911x conversion patches (realview and 
> > pcm037) which I'll post for review shortly.  Both also depend on this 
> > irq_flags change, as they register their interrupts shared.  David: would 
> > it make sense to put this driver patch into the arm tree?
> 
> Does this really make sense?  Normally, the interrupt level/edge stuff is
> passed through the resource structure.
> 
> I can't really comment because it seems that there's no way to work out
> what patch you're acking.  I can't find it in the last 6 months of email,
> and there's no attributation for your quoted reply to hint at when the
> original message was sent.

Hi, Russell,

Did you subscribe netdev mail list ? Maybe it was filtered into netdev
mail list. I just send the patch 4 hours ago.

Stanley.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Russell King - ARM Linux - Jan. 14, 2009, 5:07 p.m.
On Wed, Jan 14, 2009 at 02:58:00PM +0800, Stanley.Miao wrote:
> When calling request IRQ it is desirable to allow platforms
> to specific flags for the call to request_irq. Adding irq_flags
> to smsc911x_platform_config allows these flags to be passed.

Yay, it's finally come through.

> @@ -1968,8 +1969,9 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
>  	smsc911x_reg_write(pdata, INT_EN, 0);
>  	smsc911x_reg_write(pdata, INT_STS, 0xFFFFFFFF);
>  
> -	retval = request_irq(dev->irq, smsc911x_irqhandler, IRQF_DISABLED,
> -			     dev->name, dev);
> +	irq_flags = IRQF_DISABLED | pdata->config.irq_flags;
> +	retval = request_irq(dev->irq, smsc911x_irqhandler, irq_flags,
> +				dev->name, dev);

Same comments as for the other driver.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stanley.Miao - Jan. 15, 2009, 2:45 a.m.
Steve sent another patch to replace this patch.

Stanley.

On Wed, 2009-01-14 at 17:07 +0000, Russell King - ARM Linux wrote:
> On Wed, Jan 14, 2009 at 02:58:00PM +0800, Stanley.Miao wrote:
> > When calling request IRQ it is desirable to allow platforms
> > to specific flags for the call to request_irq. Adding irq_flags
> > to smsc911x_platform_config allows these flags to be passed.
> 
> Yay, it's finally come through.
> 
> > @@ -1968,8 +1969,9 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
> >  	smsc911x_reg_write(pdata, INT_EN, 0);
> >  	smsc911x_reg_write(pdata, INT_STS, 0xFFFFFFFF);
> >  
> > -	retval = request_irq(dev->irq, smsc911x_irqhandler, IRQF_DISABLED,
> > -			     dev->name, dev);
> > +	irq_flags = IRQF_DISABLED | pdata->config.irq_flags;
> > +	retval = request_irq(dev->irq, smsc911x_irqhandler, irq_flags,
> > +				dev->name, dev);
> 
> Same comments as for the other driver.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
index f513bdf..1092517 100644
--- a/drivers/net/smsc911x.c
+++ b/drivers/net/smsc911x.c
@@ -1896,6 +1896,7 @@  static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 	unsigned int intcfg = 0;
 	int res_size;
 	int retval;
+	unsigned int irq_flags;
 	DECLARE_MAC_BUF(mac);
 
 	pr_info("%s: Driver version %s.\n", SMSC_CHIPNAME, SMSC_DRV_VERSION);
@@ -1968,8 +1969,9 @@  static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 	smsc911x_reg_write(pdata, INT_EN, 0);
 	smsc911x_reg_write(pdata, INT_STS, 0xFFFFFFFF);
 
-	retval = request_irq(dev->irq, smsc911x_irqhandler, IRQF_DISABLED,
-			     dev->name, dev);
+	irq_flags = IRQF_DISABLED | pdata->config.irq_flags;
+	retval = request_irq(dev->irq, smsc911x_irqhandler, irq_flags,
+				dev->name, dev);
 	if (retval) {
 		SMSC_WARNING(PROBE,
 			"Unable to claim requested irq: %d", dev->irq);
diff --git a/include/linux/smsc911x.h b/include/linux/smsc911x.h
index 1cbf031..0330f57 100644
--- a/include/linux/smsc911x.h
+++ b/include/linux/smsc911x.h
@@ -28,6 +28,7 @@ 
 struct smsc911x_platform_config {
 	unsigned int irq_polarity;
 	unsigned int irq_type;
+	unsigned int irq_flags;
 	unsigned int flags;
 	phy_interface_t phy_interface;
 };