pandora-kernel.git
13 years agopowerpc: ipic: Cleanup flow type handling
Thomas Gleixner [Fri, 25 Mar 2011 15:16:30 +0000 (16:16 +0100)]
powerpc: ipic: Cleanup flow type handling

The core irq_set_type() function updates the flow type when the chip
callback returns 0. So setting the type is bogus.

The new core code allows to update the type in irq_data and return
IRQ_SET_MASK_OK_NOCOPY, so the core code will not touch it, except for
setting the IRQ_LEVEL flag.

Use the proper accessors for setting the irq handlers.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agopowerpc: cpm2_pic: Use IRQCHIP_EOI_IF_HANDLED
Thomas Gleixner [Fri, 25 Mar 2011 15:13:38 +0000 (16:13 +0100)]
powerpc: cpm2_pic: Use IRQCHIP_EOI_IF_HANDLED

The core code provides the same functionality when the
IRQCHIP_EOI_IF_HANDLED flag is set for the irq chip.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agopowerpc: cpm2_pic: Cleanup flow type handling
Thomas Gleixner [Fri, 25 Mar 2011 15:07:51 +0000 (16:07 +0100)]
powerpc: cpm2_pic: Cleanup flow type handling

The core irq_set_type() function updates the flow type when the chip
callback returns 0. So setting the type is bogus.

The new core code allows to update the type in irq_data and return
IRQ_SET_MASK_OK_NOCOPY, so the core code will not touch it, except for
setting the IRQ_LEVEL flag.

Use the proper accessors for setting the irq handlers.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agopowerpc: cell: Fix the irq_desc access
Thomas Gleixner [Fri, 25 Mar 2011 15:04:41 +0000 (16:04 +0100)]
powerpc: cell: Fix the irq_desc access

The core irq_set_type() function updates the flow type when the chip
callback returns 0. It also updates irq_data, so this can be used in
irq_ack() to check for the level bit. That avoids a redundant sparse
irq lookup.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agopowerpc: mac: pic: Use irqd_is_level_type()
Thomas Gleixner [Fri, 25 Mar 2011 15:03:07 +0000 (16:03 +0100)]
powerpc: mac: pic: Use irqd_is_level_type()

No need for a redundant sparse irq lookup. irqdata provides the same
information.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agopowerpc: media5200: Remove pointless set_irq_type()
Thomas Gleixner [Fri, 25 Mar 2011 14:54:03 +0000 (15:54 +0100)]
powerpc: media5200: Remove pointless set_irq_type()

The irq chip has no irq_set_type() callback. So calling the call is
pointless. Set IRQ_LEVEL via the proper accessor.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agopowerpc: Use proper accessors for IRQ_* flags
Thomas Gleixner [Fri, 25 Mar 2011 14:43:57 +0000 (15:43 +0100)]
powerpc: Use proper accessors for IRQ_* flags

Use the proper accessors instead of open access to irq_desc.
Converted with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoparisc: Use irq_to_desc() in show_interrupts()
Thomas Gleixner [Mon, 28 Mar 2011 11:47:54 +0000 (13:47 +0200)]
parisc: Use irq_to_desc() in show_interrupts()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoparisc: Convert irq namespace
Thomas Gleixner [Thu, 24 Mar 2011 16:41:44 +0000 (17:41 +0100)]
parisc: Convert irq namespace

Convert to the new function names. Scripted with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: linux-parisc@vger.kernel.org
13 years agoparisc: Convert the final irq bits
Thomas Gleixner [Thu, 24 Mar 2011 16:48:47 +0000 (17:48 +0100)]
parisc: Convert the final irq bits

1) As promised in the comment, the core does not copy cpumask anymore
   when the arch code returns -EINVAL

2) Get the per cpu information from irq_data

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: linux-parisc@vger.kernel.org
13 years agomips: vr41xx: Use irdq_irq_disabled()
Thomas Gleixner [Mon, 28 Mar 2011 11:59:54 +0000 (13:59 +0200)]
mips: vr41xx: Use irdq_irq_disabled()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoMIPS: Convert the irq functions to the new names
Thomas Gleixner [Sun, 27 Mar 2011 13:19:28 +0000 (15:19 +0200)]
MIPS: Convert the irq functions to the new names

Scripted with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoMIPS: alchemy: Use proper irq accessors
Thomas Gleixner [Sun, 27 Mar 2011 13:11:13 +0000 (15:11 +0200)]
MIPS: alchemy: Use proper irq accessors

This really starts to be a sysiphean task.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoMIPS: Octeon: Simplify irq_cpu_on/offline irq chip functions
Thomas Gleixner [Sun, 27 Mar 2011 14:04:30 +0000 (16:04 +0200)]
MIPS: Octeon: Simplify irq_cpu_on/offline irq chip functions

Make use of the IRQCHIP_ONOFFLINE_ENABLED flag and remove the
wrappers. Use irqd_irq_disabled() instead of desc->status, which will
go away.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: David Daney <ddaney@caviumnetworks.com>
13 years agoMIPS: Octeon: Rewrite interrupt handling code.
David Daney [Fri, 25 Mar 2011 19:38:51 +0000 (12:38 -0700)]
MIPS: Octeon: Rewrite interrupt handling code.

This includes conversion to new style irq_chip functions, and
correctly enabling/disabling per-CPU interrupts.

The hardware interrupt bit to irq number mapping is now done with a
flexible map, instead of by bit twiddling the irq number.

[ tglx: Adjusted to new irq_cpu_on/offline callbacks and
        __irq_set_affinity_lock ]

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Cc: linux-mips@linux-mips.org
Cc: ralf@linux-mips.org
LKML-Reference: <1301081931-11240-5-git-send-email-ddaney@caviumnetworks.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoMIPS: Fix syncfs syscall copy and paste failure
Thomas Gleixner [Sun, 27 Mar 2011 14:54:26 +0000 (16:54 +0200)]
MIPS: Fix syncfs syscall copy and paste failure

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agomicroblaze: Use generic show_interrupts()
Thomas Gleixner [Thu, 24 Mar 2011 13:55:52 +0000 (14:55 +0100)]
microblaze: Use generic show_interrupts()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agomicroblaze: Convert to new irq function names
Thomas Gleixner [Thu, 24 Mar 2011 13:52:04 +0000 (14:52 +0100)]
microblaze: Convert to new irq function names

Namespace conversion scripted with coccinelle.

Also retrieve the irq type from irq_data in intc_enable_or_unmask()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Remove redundant declaration of irq_desc[]
Thomas Gleixner [Mon, 28 Mar 2011 11:50:08 +0000 (13:50 +0200)]
ia64: Remove redundant declaration of irq_desc[]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Convert to the new irq_* function names
Thomas Gleixner [Fri, 25 Mar 2011 20:06:09 +0000 (21:06 +0100)]
ia64: Convert to the new irq_* function names

Scripted with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Use generic show_interrupts()
Thomas Gleixner [Fri, 25 Mar 2011 20:04:38 +0000 (21:04 +0100)]
ia64: Use generic show_interrupts()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Use irqd_irq_disabled() instead of desc->status access
Thomas Gleixner [Fri, 25 Mar 2011 19:50:49 +0000 (20:50 +0100)]
ia64: Use irqd_irq_disabled() instead of desc->status access

Remove the last open coded access to irq_desc.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: sn: Use irqd_mark_affinity_set() helper
Thomas Gleixner [Fri, 25 Mar 2011 19:43:34 +0000 (20:43 +0100)]
ia64: sn: Use irqd_mark_affinity_set() helper

irq_desc->status is going to be restricted. Provide a helper to set
that information in irq_data, where it belongs.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: msi: Use irq_move_irq()
Thomas Gleixner [Fri, 25 Mar 2011 19:36:55 +0000 (20:36 +0100)]
ia64: msi: Use irq_move_irq()

This replaces the old move_native_irq() function which is going away.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: sn: Use irq_move_irq()
Thomas Gleixner [Fri, 25 Mar 2011 19:35:17 +0000 (20:35 +0100)]
ia64: sn: Use irq_move_irq()

This replaces the old move_native_irq() function which is going away.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: iosapic: Use new irq_move_* functions
Thomas Gleixner [Fri, 25 Mar 2011 19:30:53 +0000 (20:30 +0100)]
ia64: iosapic: Use new irq_move_* functions

The current functions are going away.

Also use the accessor for pending setaffinity in irq_data instead of
the open coded irq_desc access.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: iosapic: Remove redundant mask from ack()
Thomas Gleixner [Fri, 25 Mar 2011 19:25:06 +0000 (20:25 +0100)]
ia64: iosapic: Remove redundant mask from ack()

The core code calls mask_ack() which calls irq_ack() and irq_mask()
for the case where an interrupt is disabled and marked pending. That
seems to be a leftover from the old __do_IRQ() mode.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Use accessor functions all over the place
Thomas Gleixner [Thu, 24 Mar 2011 15:44:38 +0000 (16:44 +0100)]
ia64: Use accessor functions all over the place

Use the proper accessor functions instead of open coded irq_desc access.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: xen: Use irq accessor functions
Thomas Gleixner [Fri, 25 Mar 2011 19:18:14 +0000 (20:18 +0100)]
ia64: xen: Use irq accessor functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: iosapic: Cleanup irq_desc access
Thomas Gleixner [Fri, 25 Mar 2011 19:16:05 +0000 (20:16 +0100)]
ia64: iosapic: Cleanup irq_desc access

Use irq_to_desc() and use accessors for setting chip and handler.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: sn: Drop unused function
Thomas Gleixner [Fri, 25 Mar 2011 18:40:39 +0000 (19:40 +0100)]
ia64: sn: Drop unused function

Leftover from the irq chip conversion.

Reported-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Convert iosapic to new irq_chip functions
Thomas Gleixner [Fri, 4 Feb 2011 19:31:21 +0000 (20:31 +0100)]
ia64: Convert iosapic to new irq_chip functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Convert lsapic to new irq_chip functions
Thomas Gleixner [Fri, 4 Feb 2011 19:29:37 +0000 (20:29 +0100)]
ia64: Convert lsapic to new irq_chip functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Convert msi to new irq_chip functions
Thomas Gleixner [Fri, 4 Feb 2011 19:18:43 +0000 (20:18 +0100)]
ia64: Convert msi to new irq_chip functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Convert sn to new irq_chip functions
Thomas Gleixner [Fri, 4 Feb 2011 19:08:36 +0000 (20:08 +0100)]
ia64: Convert sn to new irq_chip functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Convert msi_sn to new irq_chip functions
Thomas Gleixner [Fri, 4 Feb 2011 19:02:09 +0000 (20:02 +0100)]
ia64: Convert msi_sn to new irq_chip functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: hp-sim: Cleanup direct access to irq_desc
Thomas Gleixner [Sat, 5 Feb 2011 19:23:29 +0000 (20:23 +0100)]
ia64: hp-sim: Cleanup direct access to irq_desc

Use accessor functions instead of open coded access.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Convert hp-sim to new irq_chip functions
Thomas Gleixner [Fri, 4 Feb 2011 19:12:06 +0000 (20:12 +0100)]
ia64: Convert hp-sim to new irq_chip functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Remove stale irq_chip.end
Thomas Gleixner [Thu, 3 Feb 2011 00:46:48 +0000 (00:46 +0000)]
ia64: Remove stale irq_chip.end

irq_chip.end got obsolete with the removal of __do_IRQ().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Tony Luck <tony.luck@intel.com>
LKML-Reference: <20110203004210.143127544@linutronix.de>

13 years agoia64: Cleanup migrate_irqs()
Thomas Gleixner [Fri, 25 Mar 2011 19:12:33 +0000 (20:12 +0100)]
ia64: Cleanup migrate_irqs()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoia64: Convert migrate_platform_irqs() to new irq chip functions
Thomas Gleixner [Fri, 25 Mar 2011 18:00:33 +0000 (19:00 +0100)]
ia64: Convert migrate_platform_irqs() to new irq chip functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agobfin: Use proper accessors in trace
Thomas Gleixner [Mon, 28 Mar 2011 11:50:50 +0000 (13:50 +0200)]
bfin: Use proper accessors in trace

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agobfin: Convert irq namespace
Thomas Gleixner [Thu, 24 Mar 2011 16:22:30 +0000 (17:22 +0100)]
bfin: Convert irq namespace

Convert to the new function names. Scripted with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: uclinux-dist-devel@blackfin.uclinux.org
13 years agobfin: Final irq cleanup
Thomas Gleixner [Thu, 24 Mar 2011 16:21:01 +0000 (17:21 +0100)]
bfin: Final irq cleanup

Use the trigger type in irq_data and check level type instead of
looking at desc->handle_irq.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: uclinux-dist-devel@blackfin.uclinux.org
13 years agoalpha: Use generic show_interrupts()
Thomas Gleixner [Fri, 25 Mar 2011 21:20:51 +0000 (22:20 +0100)]
alpha: Use generic show_interrupts()

The only subtle difference is that alpha uses ACTUAL_NR_IRQS and
prints the IRQF_DISABLED flag.

Change the generic implementation to deal with ACTUAL_NR_IRQS if
defined.

The IRQF_DISABLED printing is pointless, as we nowadays run all
interrupts with irqs disabled.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoalpha: Convert to new irq function names
Thomas Gleixner [Fri, 25 Mar 2011 21:17:31 +0000 (22:17 +0100)]
alpha: Convert to new irq function names

Scripted with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Fold irq_set_chip/irq_set_handler
Thomas Gleixner [Thu, 24 Mar 2011 12:35:09 +0000 (13:35 +0100)]
arm: Fold irq_set_chip/irq_set_handler

Use irq_set_chip_and_handler() instead. Converted with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Reorder irq_set_ function calls
Thomas Gleixner [Thu, 24 Mar 2011 12:29:39 +0000 (13:29 +0100)]
arm: Reorder irq_set_ function calls

Reorder
irq_set_chip()
irq_set_chip_data()
irq_set_handler()

to

irq_set_chip()
irq_set_handler()
irq_set_chip_data()

so the next patch can combine irq_set_chip() and irq_set_handler() to
irq_set_chip_and_handler().

Automated conversion with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Cleanup the irq namespace
Thomas Gleixner [Thu, 24 Mar 2011 12:25:22 +0000 (13:25 +0100)]
arm: Cleanup the irq namespace

Convert to the new function names. Automated with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Use generic show_interrupts()
Thomas Gleixner [Thu, 24 Mar 2011 11:02:11 +0000 (12:02 +0100)]
arm: Use generic show_interrupts()

Use the generic version and just keep the arch specific output.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: dove: Use proper irq accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:33:40 +0000 (12:33 +0100)]
arm: dove: Use proper irq accessor functions

Remove the obsolete desc_handle_irq() helper.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: gic: Use proper accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:48:54 +0000 (12:48 +0100)]
arm: gic: Use proper accessor functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: at91: Cleanup irq chip
Thomas Gleixner [Thu, 24 Mar 2011 11:48:18 +0000 (12:48 +0100)]
arm: at91: Cleanup irq chip

Avoid the whole lazy disable dance in the demux handler by providing a
irq_disable() callback.

Use the proper accessor functions and tidy up gpio_irq_handler()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: davinci: Cleanup irq chip code
Thomas Gleixner [Thu, 24 Mar 2011 11:47:04 +0000 (12:47 +0100)]
arm: davinci: Cleanup irq chip code

Make use of the new functionality which ensures that irq_set_type is
called with the chip masked. Unmask is only done when the interrupt is
not disabled.

Retrieve the trigger type from irq_data in unmask

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: ep93xx: Use proper irq accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:45:56 +0000 (12:45 +0100)]
arm: ep93xx: Use proper irq accessor functions

No need to write the flow type. Core code does already.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: gemini: Use proper irq accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:44:54 +0000 (12:44 +0100)]
arm: gemini: Use proper irq accessor functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: mxc: Use generic_handle_irq()
Thomas Gleixner [Thu, 24 Mar 2011 11:43:25 +0000 (12:43 +0100)]
arm: mxc: Use generic_handle_irq()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: vt8500: Use proper irq accessors
Thomas Gleixner [Thu, 24 Mar 2011 11:42:50 +0000 (12:42 +0100)]
arm: vt8500: Use proper irq accessors

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: msm: Use proper irq accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:41:27 +0000 (12:41 +0100)]
arm: msm: Use proper irq accessor functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: plat-omap: Cleanup irq_desc access
Thomas Gleixner [Thu, 24 Mar 2011 11:40:15 +0000 (12:40 +0100)]
arm: plat-omap: Cleanup irq_desc access

1) Core code stores the flow type already
2) Flow type is accessible in irq_data

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: nomadik: Use local irq state
Thomas Gleixner [Thu, 24 Mar 2011 11:38:50 +0000 (12:38 +0100)]
arm: nomadik: Use local irq state

Store the enabled mask in the local state, so there is no need to
fiddle in the irq descriptor.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: stmp3xxx: Use generic_handle_irq()
Thomas Gleixner [Thu, 24 Mar 2011 11:38:17 +0000 (12:38 +0100)]
arm: stmp3xxx: Use generic_handle_irq()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: plat-samsung: Use proper irq accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:36:46 +0000 (12:36 +0100)]
arm: plat-samsung: Use proper irq accessor functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Cleanup irq_desc access
Thomas Gleixner [Thu, 24 Mar 2011 11:35:19 +0000 (12:35 +0100)]
arm: Cleanup irq_desc access

Use the proper wrappers and use the flow type in irq_data.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: msm: Convert to new irq chip functions
Thomas Gleixner [Thu, 24 Mar 2011 10:58:31 +0000 (11:58 +0100)]
arm: msm: Convert to new irq chip functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Use irq flag setter function
Thomas Gleixner [Mon, 7 Feb 2011 21:30:49 +0000 (22:30 +0100)]
arm: Use irq flag setter function

Use the proper accessor function instead of fiddling in the status
bits directly.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
13 years agoarm: Use genirq lockdep helper to set lock class
Thomas Gleixner [Tue, 22 Mar 2011 16:11:09 +0000 (17:11 +0100)]
arm: Use genirq lockdep helper to set lock class

Remove the open coded access to irq_desc which will fail on sparse irq
and use the proper wrappers.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: tegra: Remove unused bogus irq enable/disable magic
Thomas Gleixner [Wed, 9 Feb 2011 15:46:14 +0000 (16:46 +0100)]
arm: tegra: Remove unused bogus irq enable/disable magic

The core code handles thees already.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Colin Cross <ccross@android.com>
Cc: linux-tegra@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
13 years agoarm: h720x: Fix irq conversion fallout
Thomas Gleixner [Mon, 28 Mar 2011 08:54:40 +0000 (10:54 +0200)]
arm: h720x: Fix irq conversion fallout

The conversion missed, that one of the irq functions is called from
the init code. Split it out, so the irq number based call works.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: nomadik: Remove non existing cpu id check
Thomas Gleixner [Mon, 28 Mar 2011 11:12:20 +0000 (13:12 +0200)]
arm: nomadik: Remove non existing cpu id check

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: ns9xxx: Remove non exisiting machine checks
Thomas Gleixner [Mon, 28 Mar 2011 10:11:46 +0000 (12:11 +0200)]
arm: ns9xxx: Remove non exisiting machine checks

The machine id cleanup missed to remove the checks for now removed
ids.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: dove: Use correct GPIO_BASE and remove orion_gpio_init() leftover
Thomas Gleixner [Mon, 28 Mar 2011 09:26:09 +0000 (11:26 +0200)]
arm: dove: Use correct GPIO_BASE and remove orion_gpio_init() leftover

commit 9eac6d0 (ARM: Remove dependency of plat-orion GPIO code on mach
directory includes) missed to convert one instance of
DOVE_GPIO_VIRT_BASE and left the orion_gpio_init() in mpp.c

Fix it up.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: at91: at572d940hf: Fix SDRAMC define
Thomas Gleixner [Mon, 28 Mar 2011 10:32:39 +0000 (12:32 +0200)]
arm: at91: at572d940hf: Fix SDRAMC define

That wants to be AT91_SDRAMC0

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: footbridge: Make cksrc_dc21285_disable() void
Thomas Gleixner [Mon, 28 Mar 2011 09:25:40 +0000 (11:25 +0200)]
arm: footbridge: Make cksrc_dc21285_disable() void

This clocksource function needs to be void.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: bios32: Remove non exisiting machine code
Thomas Gleixner [Sun, 27 Mar 2011 17:45:00 +0000 (19:45 +0200)]
arm: bios32: Remove non exisiting machine code

The id removal left this machine check in which breaks the build on
some platforms. Remove it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agowatchdog: softdog.c: enhancement to optionally invoke panic instead of reboot on...
Anithra P Janakiraman [Mon, 28 Mar 2011 21:29:19 +0000 (14:29 -0700)]
watchdog: softdog.c: enhancement to optionally invoke panic instead of reboot on timer expiry

This is needed for determining the reason for failure when a softdog
timeout occurs.

We use softdog to watch for critical application failures and at the
minimum a snapshot of the system would help to determine the cause.  In
such a scenario the application could fail but there isn't a softlockup as
such, hence the detect softlockup feature does not help.

The patch adds a module parameter soft_panic which when set to 1 causes
softdog to invoke panic instead of reboot when the softdog timer expires.
By invoking panic we execute kdump if it is configured and the vmcore
generated by kdump should provide atleast a minimal idea of the reason for
failure.

Based on an original patch by Ken Sugawara <sugaken.r3@gmail.com>
Signed-off-by: Anithra P J <anithra@linux.vnet.ibm.com>
Reviewed-by: WANG Cong <xiyou.wangcong@gmail.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 years agowatchdog: fix nv_tco section mismatch
Randy Dunlap [Thu, 24 Mar 2011 20:32:44 +0000 (13:32 -0700)]
watchdog: fix nv_tco section mismatch

Fix section mismatch warning:
Mark the called nv_tco_getdevice() as __devinit, just like its caller.

WARNING: drivers/watchdog/nv_tco.o(.devinit.text+0x16): Section mismatch in reference from the function nv_tco_init() to the function .init.text:nv_tco_getdevice()
The function __devinit nv_tco_init() references
a function __init nv_tco_getdevice().
If nv_tco_getdevice is only used by nv_tco_init then
annotate nv_tco_getdevice with a matching annotation.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
13 years agowatchdog: sp5100_tco.c: Check if firmware has set correct value in tcobase.
Yinghai Lu [Thu, 17 Mar 2011 03:01:07 +0000 (20:01 -0700)]
watchdog: sp5100_tco.c: Check if firmware has set correct value in tcobase.

Stefano found SP5100 TCO watchdog driver using wrong address.

[    9.148536] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[    9.148628] DEBUG __ioremap_caller WARNING address=b8fe00 size=8 valid=1 reserved=1

and e820 said that range is RAM.

We should check if we can use that reading out. BIOS could just program wrong address there.

Reported-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by:Yinghai Lu <yinghai@kernel.org>
Acked-by: Mike Waychison <mikew@google.com>
Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Cc: stable <stable@kernel.org>
13 years agowatchdog: Convert release_resource to release_region/release_mem_region
Julia Lawall [Sat, 26 Feb 2011 16:34:39 +0000 (17:34 +0100)]
watchdog: Convert release_resource to release_region/release_mem_region

Request_mem_region should be used with release_mem_region, not
release_resource.

In pnx4008_wdt.c, a missing clk_put is added as well.

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

// <smpl>
@@
expression x,E;
@@
*x = request_mem_region(...)
... when != release_mem_region(x)
    when != x = E
* release_resource(x);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Cc: stable <stable@kernel.org>
13 years agowatchdog: s3c2410_wdt.c: Convert release_resource to release_region/release_mem_region
Julia Lawall [Sat, 26 Feb 2011 16:34:38 +0000 (17:34 +0100)]
watchdog: s3c2410_wdt.c: Convert release_resource to release_region/release_mem_region

Request_mem_region should be used with release_mem_region, not
release_resource.

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

// <smpl>
@@
expression x,E;
@@
*x = request_mem_region(...)
... when != release_mem_region(x)
    when != x = E
* release_resource(x);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Cc: stable <stable@kernel.org>
13 years agogenirq: Fix harmless typo
Thomas Gleixner [Tue, 29 Mar 2011 09:36:05 +0000 (11:36 +0200)]
genirq: Fix harmless typo

The late night fixup missed to convert the data type from irq_desc to
irq_data, which results in a harmless but annoying warning.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoxfrm: Restrict extended sequence numbers to esp
Steffen Klassert [Mon, 28 Mar 2011 19:48:09 +0000 (19:48 +0000)]
xfrm: Restrict extended sequence numbers to esp

The IPsec extended sequence numbers are fully implemented just for
esp. So restrict the usage to esp until other protocols have
support too.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoxfrm: Check for esn buffer len in xfrm_new_ae
Steffen Klassert [Mon, 28 Mar 2011 19:47:30 +0000 (19:47 +0000)]
xfrm: Check for esn buffer len in xfrm_new_ae

In xfrm_new_ae() we may overwrite the allocated esn replay state
buffer with a wrong size. So check that the new size matches the
original allocated size and return an error if this is not the case.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoxfrm: Assign esn pointers when cloning a state
Steffen Klassert [Mon, 28 Mar 2011 19:46:39 +0000 (19:46 +0000)]
xfrm: Assign esn pointers when cloning a state

When we clone a xfrm state we have to assign the replay_esn
and the preplay_esn pointers to the state if we use the
new replay detection method. To this end, we add a
xfrm_replay_clone() function that allocates memory for
the replay detection and takes over the necessary values
from the original state.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoxfrm: Move the test on replay window size into the replay check functions
Steffen Klassert [Mon, 28 Mar 2011 19:45:52 +0000 (19:45 +0000)]
xfrm: Move the test on replay window size into the replay check functions

As it is, the replay check is just performed if the replay window of the
legacy implementation is nonzero. So we move the test on a nonzero replay
window inside the replay check functions to be sure we are testing for the
right implementation.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonetdev: bfin_mac: document TE setting in RMII modes
Mike Frysinger [Sun, 27 Mar 2011 22:33:13 +0000 (22:33 +0000)]
netdev: bfin_mac: document TE setting in RMII modes

The current code sometimes generates build warnings due to how it checks
the silicon revision, so clean it up and properly document things.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agodrivers net: Fix declaration ordering in inline functions.
Balaji G [Sun, 27 Mar 2011 17:15:19 +0000 (17:15 +0000)]
drivers net: Fix declaration ordering in inline functions.

The correct usage should be "static inline void" instead of "static void inline"

Signed-off-by: G.Balaji <balajig81@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb3: Apply interrupt coalescing settings to all queues
Anton Blanchard [Sun, 27 Mar 2011 16:50:41 +0000 (16:50 +0000)]
cxgb3: Apply interrupt coalescing settings to all queues

While testing the performance of different receive interrupt
coalescing settings on a single stream TCP benchmark, I noticed two
very different results. With rx-usecs=50, most of the time a
connection would hit 8280 Mbps but once in a while it would hit
9330 Mbps.

It turns out we are only applying the interrupt coalescing settings
to the first queue and whenever the rx hash would direct us onto
that queue we ran faster.

With this patch applied and rx-usecs=50, I get 9330 Mbps
consistently.

Signed-off-by: Anton Blanchard <anton@samba.org>
Acked-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: Always allocate at least 16 skb frags regardless of page size
Anton Blanchard [Sun, 27 Mar 2011 14:57:26 +0000 (14:57 +0000)]
net: Always allocate at least 16 skb frags regardless of page size

When analysing performance of the cxgb3 on a ppc64 box I noticed that
we weren't doing much GRO merging. It turns out we are limited by the
number of SKB frags:

#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)

With a 4kB page size we have 18 frags, but with a 64kB page size we
only have 3 frags.

I ran a single stream TCP bandwidth test to compare the performance of

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agomd: Fix integrity registration error when no devices are capable
Martin K. Petersen [Tue, 29 Mar 2011 00:09:12 +0000 (20:09 -0400)]
md: Fix integrity registration error when no devices are capable

We incorrectly returned -EINVAL when none of the devices in the array
had an integrity profile.  This in turn prevented mdadm from starting
the metadevice.  Fix this so we only return errors on mismatched
profiles and memory allocation failures.

Reported-by: Giacomo Catenazzi <cate@cateee.net>
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Tue, 29 Mar 2011 00:51:27 +0000 (17:51 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/security-testing-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
  selinux: Fix regression for Xorg

13 years agoARM: mx51_efika: fix build error due to new mfd changes
Andres Salomon [Tue, 29 Mar 2011 00:22:30 +0000 (17:22 -0700)]
ARM: mx51_efika: fix build error due to new mfd changes

MFD changes in 4ec1b54c ('mfd: mfd_cell is now implicitly available to
mc13xxx drivers') changed the mc13xxx_platform_data struct layout.

At the time all users were changed, but this driver was introduced in
another tree at the same time.  This updates the mc13xxx_platform_data
user, fixing a build error.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branches 'irq-cleanup-for-linus' and 'irq-fixes-for-linus' of git://git.kernel...
Linus Torvalds [Tue, 29 Mar 2011 00:39:54 +0000 (17:39 -0700)]
Merge branches 'irq-cleanup-for-linus' and 'irq-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  vlynq: Convert irq functions

* 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  genirq; Fix cleanup fallout
  genirq: Fix typo and remove unused variable
  genirq: Fix new kernel-doc warnings
  genirq: Add setter for AFFINITY_SET in irq_data state
  genirq: Provide setter inline for IRQD_IRQ_INPROGRESS
  genirq: Remove handle_IRQ_event
  arm: Ns9xxx: Remove private irq flow handler
  powerpc: cell: Use the core flow handler
  genirq: Provide edge_eoi flow handler
  genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data
  genirq: Split irq_set_affinity() so it can be called with lock held.
  genirq: Add chip flag for restricting cpu_on/offline calls
  genirq: Add chip hooks for taking CPUs on/off line.
  genirq: Add irq disabled flag to irq_data state
  genirq: Reserve the irq when calling irq_set_chip()

13 years agoipv4: Don't ip_rt_put() an error pointer in RAW sockets.
David S. Miller [Mon, 28 Mar 2011 23:51:15 +0000 (16:51 -0700)]
ipv4: Don't ip_rt_put() an error pointer in RAW sockets.

Reported-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agogenirq; Fix cleanup fallout
Thomas Gleixner [Mon, 28 Mar 2011 19:59:37 +0000 (21:59 +0200)]
genirq; Fix cleanup fallout

I missed the CONFIG_GENERIC_PENDING_IRQ dependency in the affinity
related functions and the IRQ_LEVEL propagation into irq_data
state. Did not pop up on my main test platforms. :(

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: David Daney <ddaney@caviumnetworks.com>
13 years agoselinux: Fix regression for Xorg
Stephen Smalley [Fri, 25 Mar 2011 14:13:43 +0000 (10:13 -0400)]
selinux: Fix regression for Xorg

Commit 6f5317e730505d5cbc851c435a2dfe3d5a21d343 introduced a bug in the
handling of userspace object classes that is causing breakage for Xorg
when XSELinux is enabled.  Fix the bug by changing map_class() to return
SECCLASS_NULL when the class cannot be mapped to a kernel object class.

Reported-by: "Justin P. Mattock" <justinmattock@gmail.com>
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
13 years agomemstick: make enable_dma less generic in r592
Stephen Rothwell [Mon, 28 Mar 2011 23:24:29 +0000 (16:24 -0700)]
memstick: make enable_dma less generic in r592

Fixes this build error:

  drivers/memstick/host/r592.c:26: error: 'enable_dma' redeclared as different kind of symbol
  arch/powerpc/include/asm/dma.h:189: note: previous definition of 'enable_dma' was here

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Alex Dubov <oakad@yahoo.com>
Acked-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
Linus Torvalds [Mon, 28 Mar 2011 22:51:02 +0000 (15:51 -0700)]
Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs

* 'for-linus' of git://oss.sgi.com/xfs/xfs:
  xfs: stop using the page cache to back the buffer cache
  xfs: register the inode cache shrinker before quotachecks
  xfs: xfs_trans_read_buf() should return an error on failure
  xfs: introduce inode cluster buffer trylocks for xfs_iflush
  vmap: flush vmap aliases when mapping fails
  xfs: preallocation transactions do not need to be synchronous

Fix up trivial conflicts in fs/xfs/linux-2.6/xfs_buf.c due to plug removal.

13 years agoRelax si_code check in rt_sigqueueinfo and rt_tgsigqueueinfo
Roland Dreier [Mon, 28 Mar 2011 21:13:35 +0000 (14:13 -0700)]
Relax si_code check in rt_sigqueueinfo and rt_tgsigqueueinfo

Commit da48524eb206 ("Prevent rt_sigqueueinfo and rt_tgsigqueueinfo
from spoofing the signal code") made the check on si_code too strict.
There are several legitimate places where glibc wants to queue a
negative si_code different from SI_QUEUE:

 - This was first noticed with glibc's aio implementation, which wants
   to queue a signal with si_code SI_ASYNCIO; the current kernel
   causes glibc's tst-aio4 test to fail because rt_sigqueueinfo()
   fails with EPERM.

 - Further examination of the glibc source shows that getaddrinfo_a()
   wants to use SI_ASYNCNL (which the kernel does not even define).
   The timer_create() fallback code wants to queue signals with SI_TIMER.

As suggested by Oleg Nesterov <oleg@redhat.com>, loosen the check to
forbid only the problematic SI_TKILL case.

Reported-by: Klaus Dittrich <kladit@arcor.de>
Acked-by: Julien Tinnes <jln@google.com>
Cc: <stable@kernel.org>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'for-linus' of git://www.jni.nu/cris
Linus Torvalds [Mon, 28 Mar 2011 22:44:06 +0000 (15:44 -0700)]
Merge branch 'for-linus' of git://www.jni.nu/cris

* 'for-linus' of git://www.jni.nu/cris:
  Correct auto-restart of syscalls via restartblock
  CRISv10: Fix return before mutex_unlock in pcf8563
  Drop the CRISv32 version of pcf8563