From: Marc Zyngier <marc.zyngier@arm.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: "hanjun.guo@linaro.org" <hanjun.guo@linaro.org>,
Jiang Liu <jiang.liu@linux.intel.com>,
Jason Cooper <jason@lakedaemon.net>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
Tomasz Nowicki <tomasz.nowicki@linaro.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"suravee.suthikulpanit@amd.com" <suravee.suthikulpanit@amd.com>
Subject: Re: [PATCH 1/5] genirq: irqdomain: Use an accessor for the of_node field
Date: Wed, 22 Jul 2015 13:43:34 +0100 [thread overview]
Message-ID: <55AF8FF6.3080901@arm.com> (raw)
In-Reply-To: <alpine.DEB.2.11.1507220958090.18576@nanos>
On 22/07/15 08:58, Thomas Gleixner wrote:
> On Wed, 22 Jul 2015, Marc Zyngier wrote:
>>
>> Looks like my coccinelle foo is still lacking a bit... Oh well.
>
> Please post your semantic patch and don't forget to Cc Julia Lawall :)
>
Bah, found the problem. My semantic patch is extremely simple:
@init@
struct irq_domain *ptr;
position pos;
@@
(
ptr@pos->of_node
)
@ script:python @
p1 << init.pos;
@@
for p in p1:
print "%s:%s" % (p.file,p.line)
as I'm just grepping through the tree (I don't feel confident enough to
do the patching, and some cases are a bit more complicated).
But I forgot to add arch/$ARCH/include/asm as an include search path for
spatch. That had the side effect of spatch being unable to identify
constructs like:
arch/$ARCH/include/asm/foo.h:
struct foo {
struct irq_domain *bar;
};
arch/$ARCH/.../foo.c:
struct foo foo;
if (foo->bar->of_node) { ... }
Since spatch knows nothing about struct foo, it cannot identify bar as a
struct irq_domain, hence missing this occurrence.
Once I fixed the include path, I found an additional couple of victims.
I really love this thing! :-)
M.
--
Jazz is not dead. It just smells funny...
WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/5] genirq: irqdomain: Use an accessor for the of_node field
Date: Wed, 22 Jul 2015 13:43:34 +0100 [thread overview]
Message-ID: <55AF8FF6.3080901@arm.com> (raw)
In-Reply-To: <alpine.DEB.2.11.1507220958090.18576@nanos>
On 22/07/15 08:58, Thomas Gleixner wrote:
> On Wed, 22 Jul 2015, Marc Zyngier wrote:
>>
>> Looks like my coccinelle foo is still lacking a bit... Oh well.
>
> Please post your semantic patch and don't forget to Cc Julia Lawall :)
>
Bah, found the problem. My semantic patch is extremely simple:
@init@
struct irq_domain *ptr;
position pos;
@@
(
ptr at pos->of_node
)
@ script:python @
p1 << init.pos;
@@
for p in p1:
print "%s:%s" % (p.file,p.line)
as I'm just grepping through the tree (I don't feel confident enough to
do the patching, and some cases are a bit more complicated).
But I forgot to add arch/$ARCH/include/asm as an include search path for
spatch. That had the side effect of spatch being unable to identify
constructs like:
arch/$ARCH/include/asm/foo.h:
struct foo {
struct irq_domain *bar;
};
arch/$ARCH/.../foo.c:
struct foo foo;
if (foo->bar->of_node) { ... }
Since spatch knows nothing about struct foo, it cannot identify bar as a
struct irq_domain, hence missing this occurrence.
Once I fixed the include path, I found an additional couple of victims.
I really love this thing! :-)
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2015-07-22 12:43 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-21 10:07 [PATCH 0/5] Making the generic ACPI GSI layer irqdomain aware Marc Zyngier
2015-07-21 10:07 ` Marc Zyngier
2015-07-21 10:07 ` Marc Zyngier
2015-07-21 10:07 ` [PATCH 1/5] genirq: irqdomain: Use an accessor for the of_node field Marc Zyngier
2015-07-21 10:07 ` Marc Zyngier
2015-07-21 10:07 ` Marc Zyngier
2015-07-22 7:35 ` Hanjun Guo
2015-07-22 7:35 ` Hanjun Guo
2015-07-22 7:52 ` Marc Zyngier
2015-07-22 7:52 ` Marc Zyngier
2015-07-22 7:58 ` Thomas Gleixner
2015-07-22 7:58 ` Thomas Gleixner
2015-07-22 12:43 ` Marc Zyngier [this message]
2015-07-22 12:43 ` Marc Zyngier
2015-07-22 7:57 ` Thomas Gleixner
2015-07-22 7:57 ` Thomas Gleixner
2015-07-21 10:07 ` [PATCH 2/5] genirq: irqdomain: Remove irqdomain dependency on struct device_node Marc Zyngier
2015-07-21 10:07 ` Marc Zyngier
2015-07-21 10:07 ` Marc Zyngier
2015-07-21 17:56 ` Lorenzo Pieralisi
2015-07-21 17:56 ` Lorenzo Pieralisi
2015-07-22 8:13 ` Hanjun Guo
2015-07-22 8:13 ` Hanjun Guo
2015-07-23 8:59 ` Suravee Suthikulpanit
2015-07-23 8:59 ` Suravee Suthikulpanit
2015-07-23 8:59 ` Suravee Suthikulpanit
2015-07-21 10:07 ` [PATCH 3/5] genirq: irqdomain: Add irq_create_acpi_mappings Marc Zyngier
2015-07-21 10:07 ` Marc Zyngier
2015-07-21 10:07 ` Marc Zyngier
2015-07-21 10:07 ` [PATCH 4/5] acpi: gsi: Use acpi_gsi_descriptor to allocate interrupts Marc Zyngier
2015-07-21 10:07 ` Marc Zyngier
2015-07-21 10:07 ` Marc Zyngier
2015-07-21 18:16 ` Lorenzo Pieralisi
2015-07-21 18:16 ` Lorenzo Pieralisi
2015-07-22 7:46 ` Marc Zyngier
2015-07-22 7:46 ` Marc Zyngier
2015-07-21 10:08 ` [PATCH 5/5] irqchip: GIC: Switch ACPI support to stacked domains Marc Zyngier
2015-07-21 10:08 ` Marc Zyngier
2015-07-21 10:08 ` Marc Zyngier
2015-07-21 12:34 ` Graeme Gregory
2015-07-21 12:34 ` Graeme Gregory
2015-07-21 13:03 ` Marc Zyngier
2015-07-21 13:03 ` Marc Zyngier
2015-07-21 18:05 ` Lorenzo Pieralisi
2015-07-21 18:05 ` Lorenzo Pieralisi
2015-07-21 18:12 ` Marc Zyngier
2015-07-21 18:12 ` Marc Zyngier
2015-07-22 8:35 ` Hanjun Guo
2015-07-22 8:35 ` Hanjun Guo
2015-07-22 8:35 ` Hanjun Guo
2015-07-22 8:45 ` Hanjun Guo
2015-07-22 8:45 ` Hanjun Guo
2015-07-22 8:45 ` Hanjun Guo
2015-07-22 8:53 ` Marc Zyngier
2015-07-22 8:53 ` Marc Zyngier
2015-07-22 8:53 ` Marc Zyngier
2015-07-22 9:33 ` Hanjun Guo
2015-07-22 9:33 ` Hanjun Guo
2015-07-22 9:33 ` Hanjun Guo
2015-07-21 12:35 ` [PATCH 0/5] Making the generic ACPI GSI layer irqdomain aware Graeme Gregory
2015-07-21 12:35 ` Graeme Gregory
2015-07-22 6:45 ` Hanjun Guo
2015-07-22 6:45 ` Hanjun Guo
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=55AF8FF6.3080901@arm.com \
--to=marc.zyngier@arm.com \
--cc=Lorenzo.Pieralisi@arm.com \
--cc=hanjun.guo@linaro.org \
--cc=jason@lakedaemon.net \
--cc=jiang.liu@linux.intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=suravee.suthikulpanit@amd.com \
--cc=tglx@linutronix.de \
--cc=tomasz.nowicki@linaro.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 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.