Frederik Deweerdt wrote:
On Tue, Oct 03, 2006 at 06:37:43PM -0400, Jeff Garzik wrote:Frederik Deweerdt wrote:Hi, This proof-of-concept patch converts the tg3 driver to use the pci_request_irq() function. Please note that I'm not submitting the driver changes, they're there only for illustration purposes. I'll CC the appropriate maintainers when/if an API is agreed upon. Regards, Frederik diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index c25ba27..23660c6 100644 Index: 2.6.18-mm3/drivers/net/tg3.c =================================================================== --- 2.6.18-mm3.orig/drivers/net/tg3.c +++ 2.6.18-mm3/drivers/net/tg3.c @@ -6853,7 +6853,7 @@ static int tg3_request_irq(struct tg3 *t fn = tg3_interrupt_tagged; flags = IRQF_SHARED | IRQF_SAMPLE_RANDOM; } - return (request_irq(tp->pdev->irq, fn, flags, dev->name, dev)); + return pci_request_irq(tp->pdev, fn, flags, dev->name); } static int tg3_test_interrupt(struct tg3 *tp) @@ -6866,10 +6866,10 @@ static int tg3_test_interrupt(struct tg3 tg3_disable_ints(tp); - free_irq(tp->pdev->irq, dev); + pci_free_irq(tp->pdev); - err = request_irq(tp->pdev->irq, tg3_test_isr, - IRQF_SHARED | IRQF_SAMPLE_RANDOM, dev->name, dev); + err = pci_request_irq(tp->pdev, tg3_test_isr, + IRQF_SHARED | IRQF_SAMPLE_RANDOM, dev->name);IRQF_SHARED flags are still left hanging around...I did it on purpose (see parent post): some parts of tg3 for example don't pass IRQF_SHARED, so I though it wasn't a good idea to enforce IRQF_SHARED in all cases. Did I miss something?
When it's hardcoded into the definition of pci_request_irq(), then setting the flag in the above code is logically superfluous.
As for why the flag may be missing -- PCI MSI interrupts are never shared. However, it won't _hurt_ anything to set the flag needlessly, AFAIK.
Jeff - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [RFC PATCH] move tg3 to pci_request_irq
- From: David Miller <[email protected]>
- Re: [RFC PATCH] move tg3 to pci_request_irq
- References:
- [RFC PATCH] add pci_{request,free}_irq take #2
- From: Frederik Deweerdt <[email protected]>
- [RFC PATCH] move tg3 to pci_request_irq
- From: Frederik Deweerdt <[email protected]>
- Re: [RFC PATCH] move tg3 to pci_request_irq
- From: Jeff Garzik <[email protected]>
- Re: [RFC PATCH] move tg3 to pci_request_irq
- From: Frederik Deweerdt <[email protected]>
- [RFC PATCH] add pci_{request,free}_irq take #2
- Prev by Date: Re: [-mm patch] missing class_dev to dev conversions
- Next by Date: Re: Problems with hard irq? (inconsistent lock state)
- Previous by thread: Re: [RFC PATCH] move tg3 to pci_request_irq
- Next by thread: Re: [RFC PATCH] move tg3 to pci_request_irq
- Index(es):