[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <452348D7.7020205@garzik.org>
Date: Wed, 04 Oct 2006 01:38:31 -0400
From: Jeff Garzik <jeff@...zik.org>
To: Frederik Deweerdt <deweerdt@...e.fr>
CC: linux-kernel@...r.kernel.org, arjan@...radead.org, matthew@....cx,
alan@...rguk.ukuu.org.uk, akpm@...l.org, rdunlap@...otime.net,
gregkh@...e.de
Subject: Re: [RFC PATCH] move tg3 to pci_request_irq
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists