<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/irq, branch v3.4.22</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/kernel/irq?h=v3.4.22</id>
<link rel='self' href='https://git.amat.us/linux/atom/kernel/irq?h=v3.4.22'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-08-15T15:10:29Z</updated>
<entry>
<title>random: remove rand_initialize_irq()</title>
<updated>2012-08-15T15:10:29Z</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2012-07-15T00:27:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=26665db4f7fa71c56eeb9205e79927cfc21e70c4'/>
<id>urn:sha1:26665db4f7fa71c56eeb9205e79927cfc21e70c4</id>
<content type='text'>
commit c5857ccf293968348e5eb4ebedc68074de3dcda6 upstream.

With the new interrupt sampling system, we are no longer using the
timer_rand_state structure in the irq descriptor, so we can stop
initializing it now.

[ Merged in fixes from Sedat to find some last missing references to
  rand_initialize_irq() ]

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Sedat Dilek &lt;sedat.dilek@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>random: make 'add_interrupt_randomness()' do something sane</title>
<updated>2012-08-15T15:10:10Z</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2012-07-02T11:52:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0110bbfbc8ed1b5240a51e8c767c44a856424139'/>
<id>urn:sha1:0110bbfbc8ed1b5240a51e8c767c44a856424139</id>
<content type='text'>
commit 775f4b297b780601e61787b766f306ed3e1d23eb upstream.

We've been moving away from add_interrupt_randomness() for various
reasons: it's too expensive to do on every interrupt, and flooding the
CPU with interrupts could theoretically cause bogus floods of entropy
from a somewhat externally controllable source.

This solves both problems by limiting the actual randomness addition
to just once a second or after 64 interrupts, whicever comes first.
During that time, the interrupt cycle data is buffered up in a per-cpu
pool.  Also, we make sure the the nonblocking pool used by urandom is
initialized before we start feeding the normal input pool.  This
assures that /dev/urandom is returning unpredictable data as soon as
possible.

(Based on an original patch by Linus, but significantly modified by
tytso.)

Tested-by: Eric Wustrow &lt;ewust@umich.edu&gt;
Reported-by: Eric Wustrow &lt;ewust@umich.edu&gt;
Reported-by: Nadia Heninger &lt;nadiah@cs.ucsd.edu&gt;
Reported-by: Zakir Durumeric &lt;zakir@umich.edu&gt;
Reported-by: J. Alex Halderman &lt;jhalderm@umich.edu&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>genirq: export handle_edge_irq() and irq_to_desc()</title>
<updated>2012-05-15T15:10:07Z</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2012-05-13T10:13:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3911ff30f5d1175e2e67e73244405e3492b35c79'/>
<id>urn:sha1:3911ff30f5d1175e2e67e73244405e3492b35c79</id>
<content type='text'>
Export handle_edge_irq() and irq_to_desc() to modules to allow them to
do things such as

	__irq_set_handler_locked(...., handle_edge_irq);

This fixes

	ERROR: "handle_edge_irq" [drivers/gpio/gpio-pch.ko] undefined!
	ERROR: "irq_to_desc" [drivers/gpio/gpio-pch.ko] undefined!

when gpio-pch is being built as a module.

This was introduced by commit df9541a60af0 ("gpio: pch9: Use proper flow
type handlers") that added

	__irq_set_handler_locked(d-&gt;irq, handle_edge_irq);

but handle_edge_irq() was not exported for modules (and inlined
__irq_set_handler_locked() requires irq_to_desc() exported as well)

Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>irq: hide debug macros so they don't collide with others.</title>
<updated>2012-04-23T16:30:03Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2012-04-18T20:29:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9f3045eca89a2e6fdd1901aafb9e28231d3f31fb'/>
<id>urn:sha1:9f3045eca89a2e6fdd1901aafb9e28231d3f31fb</id>
<content type='text'>
The file kernel/irq/debug.h temporarily defines P, PS, PD
and then undefines them.  However these names aren't really
"internal" enough, and collide with other more legit users
such as the ones in the xtensa arch, causing:

In file included from kernel/irq/internals.h:58:0,
                 from kernel/irq/irqdesc.c:18:
kernel/irq/debug.h:8:0: warning: "PS" redefined [enabled by default]
arch/xtensa/include/asm/regs.h:59:0: note: this is the location of the previous definition

Add a handful of underscores to do a better job of hiding these
temporary macros.

Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>irq_domain: fix type mismatch in debugfs output format</title>
<updated>2012-04-12T22:25:48Z</updated>
<author>
<name>Grant Likely</name>
<email>grant.likely@secretlab.ca</email>
</author>
<published>2012-04-12T20:42:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5269a9ab7def9a3116663347d59c4d70afa2d180'/>
<id>urn:sha1:5269a9ab7def9a3116663347d59c4d70afa2d180</id>
<content type='text'>
sizeof(void*) returns an unsigned long, but it was being used as a width parameter to a "%-*s" format string which requires an int.  On 64 bit platforms this causes a type mismatch:

    linux/kernel/irq/irqdomain.c:575: warning: field width should have type
    'int', but argument 6 has type 'long unsigned int'

This change casts the size to an int so printf gets the right data type.

Reported-by: Andreas Schwab &lt;schwab@linux-m68k.org&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: David Daney &lt;david.daney@cavium.com&gt;
</content>
</entry>
<entry>
<title>irq_domain: Move irq_virq_count into NOMAP revmap</title>
<updated>2012-04-12T06:37:48Z</updated>
<author>
<name>Grant Likely</name>
<email>grant.likely@secretlab.ca</email>
</author>
<published>2012-02-15T22:06:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6fa6c8e25e95bdc73e92e4c96b8e3299169b616e'/>
<id>urn:sha1:6fa6c8e25e95bdc73e92e4c96b8e3299169b616e</id>
<content type='text'>
This patch replaces the old global setting of irq_virq_count that is only
used by the NOMAP mapping and instead uses a revmap_data property so that
the maximum NOMAP allocation can be set per NOMAP irq_domain.

There is exactly one user of irq_virq_count in-tree right now: PS3.
Also, irq_virq_count is only useful for the NOMAP mapping.  So,
instead of having a single global irq_virq_count values, this change
drops it entirely and added a max_irq argument to irq_domain_add_nomap().
That makes it a property of an individual nomap irq domain instead of
a global system settting.

Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Tested-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Milton Miller &lt;miltonm@bga.com&gt;
</content>
</entry>
<entry>
<title>irqdomain: Fix debugfs formatting</title>
<updated>2012-04-11T07:01:45Z</updated>
<author>
<name>Grant Likely</name>
<email>grant.likely@secretlab.ca</email>
</author>
<published>2012-04-11T06:26:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=15e06bf64f686befd2030da867a3dad965b96cc0'/>
<id>urn:sha1:15e06bf64f686befd2030da867a3dad965b96cc0</id>
<content type='text'>
This patch fixes the irq_domain_mapping debugfs output to pad pointer
values with leading zeros so that pointer values are displayed
correctly.  Otherwise you get output similar to "0x 5e0000000000000".
Also, when the irq_domain is set to 'null'

Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: David Daney &lt;david.daney@cavium.com&gt;
Cc: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>irq_domain: correct the debugfs file name</title>
<updated>2012-04-11T04:39:17Z</updated>
<author>
<name>Mika Westerberg</name>
<email>mika.westerberg@linux.intel.com</email>
</author>
<published>2012-04-10T12:25:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac5830a33f5b25eae1dc0708b3e7a3d270a6c07f'/>
<id>urn:sha1:ac5830a33f5b25eae1dc0708b3e7a3d270a6c07f</id>
<content type='text'>
The actual name of the irq_domain mapping debugfs file is
"irq_domain_mapping" not "virq_mapping".

Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
</entry>
<entry>
<title>irq/irq_domain: Quit ignoring error returns from irq_alloc_desc_from().</title>
<updated>2012-04-11T04:39:16Z</updated>
<author>
<name>David Daney</name>
<email>david.daney@cavium.com</email>
</author>
<published>2012-04-05T23:52:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5b7526e3a640e491075557acaa842c59c652c0c3'/>
<id>urn:sha1:5b7526e3a640e491075557acaa842c59c652c0c3</id>
<content type='text'>
In commit 4bbdd45a (irq_domain/powerpc: eliminate irq_map; use
irq_alloc_desc() instead) code was added that ignores error returns
from irq_alloc_desc_from() by (silently) casting the return value to
unsigned.  The negitive value error return now suddenly looks like a
valid irq number.

Commits cc79ca69 (irq_domain: Move irq_domain code from powerpc to
kernel/irq) and 1bc04f2c (irq_domain: Add support for base irq and
hwirq in legacy mappings) move this code to its current location in
irqdomain.c

The result of all of this is a null pointer dereference OOPS if one of
the error cases is hit.

The fix: Don't cast away the negativeness of the return value and then
check for errors.

Signed-off-by: David Daney &lt;david.daney@cavium.com&gt;
Acked-by: Rob Herring &lt;rob.herring@calxeda.com&gt;
[grant.likely: dropped addition of new 'irq' variable]
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
</entry>
<entry>
<title>Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2012-03-31T01:08:05Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-03-31T01:08:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f558c272386a0f7507cc8de7b6b5afc24d17fa9c'/>
<id>urn:sha1:f558c272386a0f7507cc8de7b6b5afc24d17fa9c</id>
<content type='text'>
Pull genirq updates from Thomas Gleixner.

* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value
  genirq: Respect NUMA node affinity in setup_irq_irq affinity()
  genirq: Get rid of unneeded force parameter in irq_finalize_oneshot()
  genirq: Minor readablity improvement in irq_wake_thread()
</content>
</entry>
</feed>
