From: Julia Lawall <julia@diku.dk>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Yinghai Lu <yinghai@kernel.org>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@zytor.com>,
Andrew Morton <akpm@linux-foundation.org>,
Suresh Siddha <suresh.b.siddha@intel.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 06/12] genericirq: make irq_chip related function to take desc
Date: Sun, 21 Mar 2010 12:08:28 +0100 (CET) [thread overview]
Message-ID: <Pine.LNX.4.64.1003211206380.7805@ask.diku.dk> (raw)
In-Reply-To: <m1eije71et.fsf@fess.ebiederm.org>
Another detail is that the type of irq is not always unsigned int.
Coccinelle will match unsigned int to just unsigned, but there are also
occurrences of uint32_t and u_int. I don't know if it is desirable to
preserve these names, or if it would be just as well to put unsigned int
everywhere?
julia
On Sat, 20 Mar 2010, Eric W. Biederman wrote:
>
> I haven't heard anything more on this, but I had reason to play with
> coccinelle http://coccinelle.lip6.fr/ which I think is think think is
> the semantic patcher you referred to.
>
> In any case I was playing with it and I believe I have managed to whip
> up a fairly robust semantic patch. The last two hunks are to cleanup
> earlier transforms, by removing unnecessary irq_to_desc chatter, and
> removing unused variables. I am a big grumpy that I couldn't figure
> out how to add comments to my patch to explain the tricky bits,
> but otherwise I am happy.
>
> The patch appears to have the limitation that methods that are not in
> the file where struct irq_chip is defined, which is an issue for the
> msi irq_chip helper routines. Other than that I don't know of any
> issues.
>
> I would suggest changing as much of the x86 non irq_chip helpers to
> use irq_desc before applying this so it this the conversion can have
> the chance to remove any irq variables.
>
> Eric
>
>
> @ DECL @
> struct irq_chip CHIP;
> identifier METHOD;
> identifier METHOD_NAME;
> @@
> CHIP.METHOD_NAME = METHOD;
>
> @ @
> identifier DECL.METHOD;
> identifier IRQ;
> @@
> METHOD(
> - unsigned int IRQ
> + struct irq_desc *unused
> , ...) {
> }
>
> @ @
> identifier DECL.METHOD;
> identifier IRQ;
> identifier DESC;
> @@
> METHOD(
> - unsigned int IRQ
> + struct irq_desc *DESC
> , ...) {
> + unsigned int IRQ = DESC->irq;
> ...
> - struct irq_desc *DESC = irq_to_desc(IRQ);
> ...
> }
>
> @ @
> identifier DECL.METHOD;
> identifier IRQ;
> identifier DESC;
> @@
> METHOD(
> - unsigned int IRQ
> + struct irq_desc *DESC
> , ...) {
> + unsigned int IRQ = DESC->irq;
> ...
> - struct irq_desc *DESC;
> ...
> - DESC = irq_to_desc(IRQ);
> ...
> }
>
> @ @
> identifier DECL.METHOD;
> identifier IRQ;
> @@
> METHOD(
> - unsigned int IRQ
> + struct irq_desc *desc
> , ...) {
> + unsigned int IRQ = desc->irq;
> ...
> }
>
> @ @
> identifier DECL.METHOD;
> identifier FUNC;
> identifier IRQ;
> @@
> FUNC(...) {
> <...
> METHOD(
> - IRQ
> + irq_to_desc(IRQ)
> , ... )
> ...>
> }
>
> @ @
> identifier FUNC;
> identifier DESC;
> identifier IRQ;
> @@
> FUNC(..., struct irq_desc *DESC, ...) {
> ...
> unsigned int IRQ = DESC->irq;
> <...
> - irq_to_desc(IRQ)
> + DESC
> ...>
> }
>
> @ @
> identifier FUNC;
> identifier DESC;
> identifier IRQ;
> @@
> FUNC(..., struct irq_desc *DESC, ...) {
> ...
> - unsigned int IRQ = DESC->irq;
> ... when != IRQ
> }
>
next prev parent reply other threads:[~2010-03-21 11:08 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-04 10:08 [PATCH 0/12] irq related: make function to take irq_desc pointer instead of irq Yinghai Lu
2010-03-04 10:08 ` [PATCH 01/12] x86: fix out of order of gsi - full Yinghai Lu
2010-03-04 10:08 ` [PATCH 02/12] x86: set nr_irqs_gsi only in probe_nr_irqs_gsi Yinghai Lu
2010-03-04 10:08 ` [PATCH 03/12] x86: kill smpboot_hooks.h Yinghai Lu
2010-03-04 10:08 ` [PATCH 04/12] x86: use vector_desc instead of vector_irq Yinghai Lu
2010-03-04 10:08 ` [PATCH 05/12] genericirq: make irq_chip to have member with irq_desc pointer Yinghai Lu
2010-03-04 10:08 ` [PATCH 06/12] genericirq: make irq_chip related function to take desc Yinghai Lu
2010-03-04 14:31 ` Thomas Gleixner
2010-03-04 18:56 ` Yinghai Lu
2010-03-04 19:08 ` Thomas Gleixner
2010-03-04 19:20 ` Yinghai Lu
2010-03-05 7:47 ` Julia Lawall
2010-03-21 4:18 ` Eric W. Biederman
2010-03-21 11:03 ` Julia Lawall
2010-03-21 13:11 ` [PATCH] irq: Start the transition of irq_chip methods taking a desc Eric W. Biederman
2010-03-21 14:43 ` Thomas Gleixner
2010-03-21 18:50 ` Yinghai Lu
2010-03-22 0:32 ` Eric W. Biederman
2010-03-21 13:49 ` [PATCH 06/12] genericirq: make irq_chip related function to take desc Eric W. Biederman
2010-03-21 14:19 ` Julia Lawall
2010-03-21 16:29 ` Julia Lawall
2010-03-21 11:08 ` Julia Lawall [this message]
2010-03-21 11:43 ` Eric W. Biederman
2010-03-21 19:16 ` Julia Lawall
2010-03-21 19:35 ` Julia Lawall
2010-03-21 19:36 ` Julia Lawall
2010-03-22 0:36 ` Eric W. Biederman
2010-03-04 19:18 ` Yinghai Lu
2010-03-04 10:08 ` [PATCH 07/12] genericirq: make hpet_msi/ht/msi/dmar_msi " Yinghai Lu
2010-03-04 10:08 ` [PATCH 08/12] x86: make irq_chip to use desc_mask instead of mask Yinghai Lu
2010-03-04 15:10 ` [PATCH 08/12] x86: make irq_chip to use desc_mask instead of maskn Thomas Gleixner
2010-03-04 10:08 ` [PATCH 09/12] x86: irq_chip to use desc_mask instead of mask part 2 Yinghai Lu
2010-03-04 10:08 ` [PATCH 10/12] genericirq: add set_irq_desc_chip/data Yinghai Lu
2010-03-04 10:08 ` [PATCH 11/12] x86/iommu/dmar: update iommu/inter_remapping to use desc Yinghai Lu
2010-03-04 10:08 ` [PATCH 12/12] x86: remove arch_probe_nr_irqs Yinghai Lu
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=Pine.LNX.4.64.1003211206380.7805@ask.diku.dk \
--to=julia@diku.dk \
--cc=akpm@linux-foundation.org \
--cc=ebiederm@xmission.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
--cc=yinghai@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®