<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/irqchip.h, branch v6.6.131</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.6.131</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.6.131'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2022-09-28T13:21:53+00:00</updated>
<entry>
<title>irqchip: Allow extra fields to be passed to IRQCHIP_PLATFORM_DRIVER_END</title>
<updated>2022-09-28T13:21:53+00:00</updated>
<author>
<name>Frank Li</name>
<email>Frank.Li@nxp.com</email>
</author>
<published>2022-09-22T16:12:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=334f7d42db3eb0274aa6b4aba7ce14d87df3fef0'/>
<id>urn:sha1:334f7d42db3eb0274aa6b4aba7ce14d87df3fef0</id>
<content type='text'>
IRQCHIP_PLATFORM_DRIVER_* doesn't allow some fields (such as .pm)
to be set in the platform_driver structure.

Make IRQCHIP_PLATFORM_DRIVER_END variadic so that .pm or another
field can be set if needed.

Signed-off-by: Frank Li &lt;Frank.Li@nxp.com&gt;
[maz: revamped commit message]
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20220922161246.20586-3-Frank.Li@nxp.com
</content>
</entry>
<entry>
<title>Merge branch irq/misc-5.16 into irq/irqchip-next</title>
<updated>2021-10-28T20:11:34+00:00</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2021-10-28T20:11:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=11e45471abea1a69dc3a92b1d1632c4d628b3b98'/>
<id>urn:sha1:11e45471abea1a69dc3a92b1d1632c4d628b3b98</id>
<content type='text'>
* irq/misc-5.16:
  : .
  : Misc irqchip fixes for 5.16:
  : - MAINTAINERS update for the ARM VIC DT binding
  : - Allow drivers using the IRQCHIP_PLATFORM_DRIVER_BEGIN/END
  :   infrastructure to use COMPILE_TEST without CONFIG_OF
  : - DT updates
  : - Detangle h8300 linux/irqchip.h inclusion
  : .
  h8300: Fix linux/irqchip.h include mess
  dt-bindings: irqchip: renesas-irqc: Document r8a774e1 bindings
  irqchip: Fix compile-testing without CONFIG_OF
  MAINTAINERS: update arm,vic.yaml reference

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
</content>
</entry>
<entry>
<title>irqchip: Fix compile-testing without CONFIG_OF</title>
<updated>2021-10-25T07:55:42+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2021-10-22T15:49:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1ba5478270a5c3a02b08052a3c003c282f2db94a'/>
<id>urn:sha1:1ba5478270a5c3a02b08052a3c003c282f2db94a</id>
<content type='text'>
Drivers using the new IRQCHIP_PLATFORM_DRIVER_BEGIN helper
fail to link when compile-testing without CONFIG_OF,
as that means CONFIG_IRQCHIP is disabled as well:

ld.lld: error: undefined symbol: platform_irqchip_probe
&gt;&gt;&gt; referenced by irq-meson-gpio.c
&gt;&gt;&gt;               irqchip/irq-meson-gpio.o:(meson_gpio_intc_driver) in archive drivers/built-in.a
&gt;&gt;&gt; referenced by irq-mchp-eic.c
&gt;&gt;&gt;               irqchip/irq-mchp-eic.o:(mchp_eic_driver) in archive drivers/built-in.a

As the drivers are not actually used in this case, just
making the reference to this symbol conditional helps
avoid the link failure.

Fixes: f8410e626569 ("irqchip: Add IRQCHIP_PLATFORM_DRIVER_BEGIN/END and IRQCHIP_MATCH helper macros")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211022154927.920491-1-arnd@kernel.org
</content>
</entry>
<entry>
<title>irqchip: Fix kernel-doc parameter typo for IRQCHIP_DECLARE</title>
<updated>2021-10-20T19:07:15+00:00</updated>
<author>
<name>Florian Fainelli</name>
<email>f.fainelli@gmail.com</email>
</author>
<published>2021-10-20T18:48:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b8419e7be6c6029eee3448fda45f4f9ad340c4ca'/>
<id>urn:sha1:b8419e7be6c6029eee3448fda45f4f9ad340c4ca</id>
<content type='text'>
The documentation refers to "compstr" when we have the parameter named
"compat", fix the typo.

Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211020184859.2705451-14-f.fainelli@gmail.com
</content>
</entry>
<entry>
<title>irqchip: Provide stronger type checking for IRQCHIP_MATCH/IRQCHIP_DECLARE</title>
<updated>2021-10-20T18:33:53+00:00</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2021-10-20T08:33:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f1985002839af80d6c84e9537834a81fb1364d6e'/>
<id>urn:sha1:f1985002839af80d6c84e9537834a81fb1364d6e</id>
<content type='text'>
Both IRQCHIP_DECLARE() and IRQCHIP_MATCH() use an underlying of_device_id()
structure to encode the matching property and the init callback.
However, this callback is stored in as a void * pointer, which obviously
defeat any attempt at stronger type checking.

Work around this by providing a new macro that builds on top of the
__typecheck() primitive, and that can be used to warn when there is
a discrepency between the drivers and core code.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211020104527.3066268-1-maz@kernel.org
</content>
</entry>
<entry>
<title>irqchip: Fix IRQCHIP_PLATFORM_DRIVER_* compilation by including module.h</title>
<updated>2020-07-27T07:55:04+00:00</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2020-07-26T10:12:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=762a21fd45e056e9ccd2ef5787b4ee0c5af9bec8'/>
<id>urn:sha1:762a21fd45e056e9ccd2ef5787b4ee0c5af9bec8</id>
<content type='text'>
The newly introduced IRQCHIP_PLATFORM_DRIVER_* macros expand into
module-related macros, but do so without including module.h.
Depending on the driver and/or architecture, this happens to work,
or not.

Unconditionnaly include linux/module.h to sort it out.

Fixes: f3b5e608ed6d ("irqchip: Add IRQCHIP_PLATFORM_DRIVER_BEGIN/END and IRQCHIP_MATCH helper macros")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Cc: Saravana Kannan &lt;saravanak@google.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
</content>
</entry>
<entry>
<title>irqchip: Add IRQCHIP_PLATFORM_DRIVER_BEGIN/END and IRQCHIP_MATCH helper macros</title>
<updated>2020-07-27T07:55:04+00:00</updated>
<author>
<name>Saravana Kannan</name>
<email>saravanak@google.com</email>
</author>
<published>2020-07-18T00:06:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f8410e626569324cfe831aaecc0504cafc12b471'/>
<id>urn:sha1:f8410e626569324cfe831aaecc0504cafc12b471</id>
<content type='text'>
Compiling an irqchip driver as a platform driver needs to bunch of
things to be done right:
- Making sure the parent domain is initialized first
- Making sure the device can't be unbound from sysfs
- Disallowing module unload if it's built as a module
- Finding the parent node
- Etc.

Instead of trying to make sure all future irqchip platform drivers get
this right, provide boilerplate macros that take care of all of this.

An example use would look something like this. Where acme_foo_init and
acme_bar_init are similar to what would be passed to IRQCHIP_DECLARE.

IRQCHIP_PLATFORM_DRIVER_BEGIN(acme_irq)
IRQCHIP_MATCH("acme,foo", acme_foo_init)
IRQCHIP_MATCH("acme,bar", acme_bar_init)
IRQCHIP_PLATFORM_DRIVER_END(acme_irq)

Signed-off-by: Saravana Kannan &lt;saravanak@google.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Cc: John Stultz &lt;john.stultz@linaro.org&gt;
Link: https://lore.kernel.org/r/20200718000637.3632841-2-saravanak@google.com
</content>
</entry>
<entry>
<title>drivers/irqchip: Use new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY</title>
<updated>2020-06-27T10:55:52+00:00</updated>
<author>
<name>Oscar Carter</name>
<email>oscar.carter@gmx.com</email>
</author>
<published>2020-05-30T14:34:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=aba3c7ed3fcf74524b7072615028827d5e5750d7'/>
<id>urn:sha1:aba3c7ed3fcf74524b7072615028827d5e5750d7</id>
<content type='text'>
In an effort to enable -Wcast-function-type in the top-level Makefile to
support Control Flow Integrity builds, there are the need to remove all
the function callback casts.

To do this, modify the IRQCHIP_ACPI_DECLARE macro to use the new defined
macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY instead of the macro
ACPI_DECLARE_PROBE_ENTRY. This is necessary to be able to initialize the
the acpi_probe_entry struct using the probe_subtbl field instead of the
probe_table field and avoid function cast mismatches.

Also, modify the prototype of the functions used by the invocation of the
IRQCHIP_ACPI_DECLARE macro to match all the parameters.

Co-developed-by: Marc Zyngier &lt;maz@kernel.org&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Signed-off-by: Oscar Carter &lt;oscar.carter@gmx.com&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Link: https://lore.kernel.org/r/20200530143430.5203-3-oscar.carter@gmx.com
</content>
</entry>
<entry>
<title>genirq: Fix various typos in comments</title>
<updated>2018-12-18T13:22:28+00:00</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@kernel.org</email>
</author>
<published>2018-12-03T10:44:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c5f48c0a7aa1a8c82d81cdf27e63aa0a5544c6e6'/>
<id>urn:sha1:c5f48c0a7aa1a8c82d81cdf27e63aa0a5544c6e6</id>
<content type='text'>
Go over the IRQ subsystem source code (including irqchip drivers) and
fix common typos in comments.

No change in functionality intended.

Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: linux-kernel@vger.kernel.org
</content>
</entry>
<entry>
<title>irqchip / ACPI: Add probing infrastructure for ACPI-based irqchips</title>
<updated>2015-10-01T00:18:38+00:00</updated>
<author>
<name>Marc Zyngier</name>
<email>Marc.Zyngier@arm.com</email>
</author>
<published>2015-09-28T14:49:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=46e589a391809627144e6bee93d71d73fe915db2'/>
<id>urn:sha1:46e589a391809627144e6bee93d71d73fe915db2</id>
<content type='text'>
DT enjoys a rather nice probing infrastructure for irqchips, while
ACPI is so far stuck into a very distant past.

This patch introduces a declarative API, allowing irqchips to be
self-contained and be called when a particular entry is matched
in the MADT table.

Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reviewed-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
</feed>
