<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/kernel/irq.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-22T04:19:54Z</updated>
<entry>
<title>Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc</title>
<updated>2010-10-22T04:19:54Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2010-10-22T04:19:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d4429f608abde89e8bc1e24b43cd503feb95c496'/>
<id>urn:sha1:d4429f608abde89e8bc1e24b43cd503feb95c496</id>
<content type='text'>
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (71 commits)
  powerpc/44x: Update ppc44x_defconfig
  powerpc/watchdog: Make default timeout for Book-E watchdog a Kconfig option
  fsl_rio: Add comments for sRIO registers.
  powerpc/fsl-booke: Add e55xx (64-bit) smp defconfig
  powerpc/fsl-booke: Add p5020 DS board support
  powerpc/fsl-booke64: Use TLB CAMs to cover linear mapping on FSL 64-bit chips
  powerpc/fsl-booke: Add support for FSL Arch v1.0 MMU in setup_page_sizes
  powerpc/fsl-booke: Add support for FSL 64-bit e5500 core
  powerpc/85xx: add cache-sram support
  powerpc/85xx: add ngPIXIS FPGA device tree node to the P1022DS board
  powerpc: Fix compile error with paca code on ppc64e
  powerpc/fsl-booke: Add p3041 DS board support
  oprofile/fsl emb: Don't set MSR[PMM] until after clearing the interrupt.
  powerpc/fsl-booke: Add PCI device ids for P2040/P3041/P5010/P5020 QoirQ chips
  powerpc/mpc8xxx_gpio: Add support for 'qoriq-gpio' controllers
  powerpc/fsl_booke: Add support to boot from core other than 0
  powerpc/p1022: Add probing for individual DMA channels
  powerpc/fsl_soc: Search all global-utilities nodes for rstccr
  powerpc: Fix invalid page flags in create TLB CAM path for PTE_64BIT
  powerpc/mpc83xx: Support for MPC8308 P1M board
  ...

Fix up conflict with the generic irq_work changes in arch/powerpc/kernel/time.c
</content>
</entry>
<entry>
<title>powerpc/irq.c: Add of_node_put to avoid memory leak</title>
<updated>2010-10-13T05:19:04Z</updated>
<author>
<name>Julia Lawall</name>
</author>
<published>2010-09-04T00:12:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a655237fa2f9e4afe9949abe2c511432ab9537dd'/>
<id>urn:sha1:a655237fa2f9e4afe9949abe2c511432ab9537dd</id>
<content type='text'>
In this case, a device_node structure is stored in another structure that
is then freed without first decrementing the reference count of the
device_node structure.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@r exists@
expression x;
identifier f;
position p1,p2;
@@

x@p1-&gt;f = \(of_find_node_by_path\|of_find_node_by_name\|of_find_node_by_phandle\|of_get_parent\|of_get_next_parent\|of_get_next_child\|of_find_compatible_node\|of_match_node\|of_find_node_by_type\|of_find_node_with_property\|of_find_matching_node\|of_parse_phandle\|of_node_get\)(...);
... when != of_node_put(x)
kfree@p2(x)

@script:python@
p1 &lt;&lt; r.p1;
p2 &lt;&lt; r.p2;
@@
cocci.print_main("call",p1)
cocci.print_secs("free",p2)
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Use static const char arrays</title>
<updated>2010-10-13T05:19:03Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2010-09-13T09:47:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4e74fd7d0a6eda70f9356c113450182a844abcf1'/>
<id>urn:sha1:4e74fd7d0a6eda70f9356c113450182a844abcf1</id>
<content type='text'>
Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Reviewed-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>Fix IRQ flag handling naming</title>
<updated>2010-10-07T13:08:55Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2010-10-07T13:08:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=df9ee29270c11dba7d0fe0b83ce47a4d8e8d2101'/>
<id>urn:sha1:df9ee29270c11dba7d0fe0b83ce47a4d8e8d2101</id>
<content type='text'>
Fix the IRQ flag handling naming.  In linux/irqflags.h under one configuration,
it maps:

	local_irq_enable() -&gt; raw_local_irq_enable()
	local_irq_disable() -&gt; raw_local_irq_disable()
	local_irq_save() -&gt; raw_local_irq_save()
	...

and under the other configuration, it maps:

	raw_local_irq_enable() -&gt; local_irq_enable()
	raw_local_irq_disable() -&gt; local_irq_disable()
	raw_local_irq_save() -&gt; local_irq_save()
	...

This is quite confusing.  There should be one set of names expected of the
arch, and this should be wrapped to give another set of names that are expected
by users of this facility.

Change this to have the arch provide:

	flags = arch_local_save_flags()
	flags = arch_local_irq_save()
	arch_local_irq_restore(flags)
	arch_local_irq_disable()
	arch_local_irq_enable()
	arch_irqs_disabled_flags(flags)
	arch_irqs_disabled()
	arch_safe_halt()

Then linux/irqflags.h wraps these to provide:

	raw_local_save_flags(flags)
	raw_local_irq_save(flags)
	raw_local_irq_restore(flags)
	raw_local_irq_disable()
	raw_local_irq_enable()
	raw_irqs_disabled_flags(flags)
	raw_irqs_disabled()
	raw_safe_halt()

with type checking on the flags 'arguments', and then wraps those to provide:

	local_save_flags(flags)
	local_irq_save(flags)
	local_irq_restore(flags)
	local_irq_disable()
	local_irq_enable()
	irqs_disabled_flags(flags)
	irqs_disabled()
	safe_halt()

with tracing included if enabled.

The arch functions can now all be inline functions rather than some of them
having to be macros.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt; [X86, FRV, MN10300]
Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt; [Tile]
Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt; [Microblaze]
Tested-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt; [ARM]
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Haavard Skinnemoen &lt;haavard.skinnemoen@atmel.com&gt; [AVR]
Acked-by: Tony Luck &lt;tony.luck@intel.com&gt; [IA-64]
Acked-by: Hirokazu Takata &lt;takata@linux-m32r.org&gt; [M32R]
Acked-by: Greg Ungerer &lt;gerg@uclinux.org&gt; [M68K/M68KNOMMU]
Acked-by: Ralf Baechle &lt;ralf@linux-mips.org&gt; [MIPS]
Acked-by: Kyle McMartin &lt;kyle@mcmartin.ca&gt; [PA-RISC]
Acked-by: Paul Mackerras &lt;paulus@samba.org&gt; [PowerPC]
Acked-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt; [S390]
Acked-by: Chen Liqin &lt;liqin.chen@sunplusct.com&gt; [Score]
Acked-by: Matt Fleming &lt;matt@console-pimps.org&gt; [SH]
Acked-by: David S. Miller &lt;davem@davemloft.net&gt; [Sparc]
Acked-by: Chris Zankel &lt;chris@zankel.net&gt; [Xtensa]
Reviewed-by: Richard Henderson &lt;rth@twiddle.net&gt; [Alpha]
Reviewed-by: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt; [H8300]
Cc: starvik@axis.com [CRIS]
Cc: jesper.nilsson@axis.com [CRIS]
Cc: linux-cris-kernel@axis.com
</content>
</entry>
<entry>
<title>powerpc/4xx: Index interrupt stacks by physical cpu</title>
<updated>2010-08-23T11:37:53Z</updated>
<author>
<name>Dave Kleikamp</name>
</author>
<published>2010-08-18T06:44:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3e7f45ad521ac3e38889d255ec7676037fa84ae2'/>
<id>urn:sha1:3e7f45ad521ac3e38889d255ec7676037fa84ae2</id>
<content type='text'>
The interrupt stacks need to be indexed by the physical cpu since the
critical, debug and machine check handlers use the contents of SPRN_PIR to
index the critirq_ctx, dbgirq_ctx, and mcheckirq_ctx arrays.

Signed-off-by: Dave Kleikamp &lt;shaggy@linux.vnet.ibm.com&gt;
Signed-off-by: Josh Boyer &lt;jwboyer@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6</title>
<updated>2010-08-05T22:57:35Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2010-08-05T22:57:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=03c0c29aff7e56b722eb6c47eace222b140d0377'/>
<id>urn:sha1:03c0c29aff7e56b722eb6c47eace222b140d0377</id>
<content type='text'>
* 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: (63 commits)
  of/platform: Register of_platform_drivers with an "of:" prefix
  of/address: Clean up function declarations
  of/spi: call of_register_spi_devices() from spi core code
  of: Provide default of_node_to_nid() implementation.
  of/device: Make of_device_make_bus_id() usable by other code.
  of/irq: Fix endian issues in parsing interrupt specifiers
  of: Fix phandle endian issues
  of/flattree: fix of_flat_dt_is_compatible() to match the full compatible string
  of: remove of_default_bus_ids
  of: make of_find_device_by_node generic
  microblaze: remove references to of_device and to_of_device
  sparc: remove references to of_device and to_of_device
  powerpc: remove references to of_device and to_of_device
  of/device: Replace of_device with platform_device in includes and core code
  of/device: Protect against binding of_platform_drivers to non-OF devices
  of: remove asm/of_device.h
  of: remove asm/of_platform.h
  of/platform: remove all of_bus_type and of_platform_bus_type references
  of: Merge of_platform_bus_type with platform_bus_type
  drivercore/of: Add OF style matching to platform bus
  ...

Fix up trivial conflicts in arch/microblaze/kernel/Makefile due to just
some obj-y removals by the devicetree branch, while the microblaze
updates added a new file.
</content>
</entry>
<entry>
<title>Merge commit 'v2.6.35-rc6' into devicetree/next</title>
<updated>2010-07-24T15:49:13Z</updated>
<author>
<name>Grant Likely</name>
</author>
<published>2010-07-24T15:49:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4e4f62bf7396fca48efe61513640ee399a6046e3'/>
<id>urn:sha1:4e4f62bf7396fca48efe61513640ee399a6046e3</id>
<content type='text'>
Conflicts:
	arch/sparc/kernel/prom_64.c
</content>
</entry>
<entry>
<title>powerpc/book3e: Resend doorbell exceptions to ourself</title>
<updated>2010-07-09T06:11:19Z</updated>
<author>
<name>Michael Ellerman</name>
</author>
<published>2010-07-09T05:34:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=850f22d5688941ea51628f3f8f8dcf3baff409ff'/>
<id>urn:sha1:850f22d5688941ea51628f3f8f8dcf3baff409ff</id>
<content type='text'>
If we are soft disabled and receive a doorbell exception we don't process
it immediately. This means we need to check on the way out of irq restore
if there are any doorbell exceptions to process.

The problem is at that point we don't know what our regs are, and that
in turn makes xmon unhappy. To workaround the problem, instead of checking
for and processing doorbells, we check for any doorbells and if there were
any we send ourselves another.

Signed-off-by: Michael Ellerman &lt;michael@ellerman.id.au&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/book3e: Hookup doorbells exceptions on 64-bit Book3E</title>
<updated>2010-07-09T06:11:17Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2010-07-09T05:31:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=89c81797d4a0779a957f4ea1f0c676cda203615b'/>
<id>urn:sha1:89c81797d4a0779a957f4ea1f0c676cda203615b</id>
<content type='text'>
Note that critical doorbells are an unimplemented stub just like
other critical or machine check handlers, since we haven't done
support for "levelled" exceptions yet.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/book3e: Don't re-trigger decrementer on lazy irq restore</title>
<updated>2010-07-09T06:11:09Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2010-07-09T05:30:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e8775d4aa17d70d123814e68a6a51bbea50e5c16'/>
<id>urn:sha1:e8775d4aa17d70d123814e68a6a51bbea50e5c16</id>
<content type='text'>
The decrementer on BookE acts as a level interrupt and doesn't
need to be re-triggered when going negative. It doesn't go
negative anyways (unless programmed to auto-reload with a
negative value) as it stops when reaching 0.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
</feed>
