summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* arm: Fold irq_set_chip/irq_set_handlerThomas Gleixner2011-03-2984-235/+209
| | | | | | Use irq_set_chip_and_handler() instead. Converted with coccinelle. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: Reorder irq_set_ function callsThomas Gleixner2011-03-299-11/+11
| | | | | | | | | | | | | | | | | | | | 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>
* arm: Cleanup the irq namespaceThomas Gleixner2011-03-29140-610/+626
| | | | | | Convert to the new function names. Automated with coccinelle. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: Use generic show_interrupts()Thomas Gleixner2011-03-292-50/+6
| | | | | | Use the generic version and just keep the arch specific output. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: dove: Use proper irq accessor functionsThomas Gleixner2011-03-292-11/+2
| | | | | | Remove the obsolete desc_handle_irq() helper. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: gic: Use proper accessor functionsThomas Gleixner2011-03-291-1/+1
| | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: at91: Cleanup irq chipThomas Gleixner2011-03-291-22/+9
| | | | | | | | | 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>
* arm: davinci: Cleanup irq chip codeThomas Gleixner2011-03-291-13/+4
| | | | | | | | | | 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>
* arm: ep93xx: Use proper irq accessor functionsThomas Gleixner2011-03-291-11/+10
| | | | | | No need to write the flow type. Core code does already. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: gemini: Use proper irq accessor functionsThomas Gleixner2011-03-291-4/+2
| | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: mxc: Use generic_handle_irq()Thomas Gleixner2011-03-291-6/+1
| | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: vt8500: Use proper irq accessorsThomas Gleixner2011-03-291-3/+3
| | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: msm: Use proper irq accessor functionsThomas Gleixner2011-03-295-10/+10
| | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: plat-omap: Cleanup irq_desc accessThomas Gleixner2011-03-291-8/+1
| | | | | | | 1) Core code stores the flow type already 2) Flow type is accessible in irq_data Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: nomadik: Use local irq stateThomas Gleixner2011-03-291-6/+10
| | | | | | | 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>
* arm: stmp3xxx: Use generic_handle_irq()Thomas Gleixner2011-03-291-2/+1
| | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: plat-samsung: Use proper irq accessor functionsThomas Gleixner2011-03-293-14/+10
| | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: Cleanup irq_desc accessThomas Gleixner2011-03-292-16/+11
| | | | | | Use the proper wrappers and use the flow type in irq_data. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: msm: Convert to new irq chip functionsThomas Gleixner2011-03-291-16/+17
| | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: Use irq flag setter functionThomas Gleixner2011-03-291-9/+6
| | | | | | | | 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
* arm: Use genirq lockdep helper to set lock classThomas Gleixner2011-03-293-5/+3
| | | | | | | 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>
* arm: tegra: Remove unused bogus irq enable/disable magicThomas Gleixner2011-03-291-19/+0
| | | | | | | | | 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
* arm: h720x: Fix irq conversion falloutThomas Gleixner2011-03-291-3/+8
| | | | | | | 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>
* arm: nomadik: Remove non existing cpu id checkThomas Gleixner2011-03-291-7/+0
| | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: ns9xxx: Remove non exisiting machine checksThomas Gleixner2011-03-292-7/+0
| | | | | | | The machine id cleanup missed to remove the checks for now removed ids. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: dove: Use correct GPIO_BASE and remove orion_gpio_init() leftoverThomas Gleixner2011-03-292-4/+1
| | | | | | | | | | 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>
* arm: at91: at572d940hf: Fix SDRAMC defineThomas Gleixner2011-03-291-1/+1
| | | | | | That wants to be AT91_SDRAMC0 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: footbridge: Make cksrc_dc21285_disable() voidThomas Gleixner2011-03-291-1/+1
| | | | | | This clocksource function needs to be void. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* arm: bios32: Remove non exisiting machine codeThomas Gleixner2011-03-291-25/+0
| | | | | | | 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>
* genirq: Fix harmless typoThomas Gleixner2011-03-291-1/+1
| | | | | | | 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>
* md: Fix integrity registration error when no devices are capableMartin K. Petersen2011-03-281-6/+2
| | | | | | | | | | | | 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>
* Merge branch 'for-linus' of ↵Linus Torvalds2011-03-281-1/+1
|\ | | | | | | | | | | | | git://git.kernel.org/pub/scm/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
| * selinux: Fix regression for XorgStephen Smalley2011-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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>
* | ARM: mx51_efika: fix build error due to new mfd changesAndres Salomon2011-03-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| |
| \
*-. \ Merge branches 'irq-cleanup-for-linus' and 'irq-fixes-for-linus' of ↵Linus Torvalds2011-03-2814-235/+297
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/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()
| | * | genirq; Fix cleanup falloutThomas Gleixner2011-03-292-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | genirq: Fix typo and remove unused variableThomas Gleixner2011-03-282-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Sigh, I'm overworked. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | genirq: Fix new kernel-doc warningsRandy Dunlap2011-03-282-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix new irq-related kernel-doc warnings in 2.6.38: Warning(kernel/irq/manage.c:149): No description found for parameter 'mask' Warning(kernel/irq/manage.c:149): Excess function parameter 'cpumask' description in 'irq_set_affinity' Warning(include/linux/irq.h:161): No description found for parameter 'state_use_accessors' Warning(include/linux/irq.h:161): Excess struct/union/enum/typedef member 'state_use_accessor' description in 'irq_data' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> LKML-Reference: <20110318093356.b939558d.randy.dunlap@oracle.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | genirq: Add setter for AFFINITY_SET in irq_data stateThomas Gleixner2011-03-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some archs want to prevent the default affinity being set on their chips in the reqeust_irq() path. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | genirq: Provide setter inline for IRQD_IRQ_INPROGRESSThomas Gleixner2011-03-281-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Special function for demultiplexing handlers which can be disabled via disable_irq(). Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | genirq: Remove handle_IRQ_eventThomas Gleixner2011-03-282-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | Last user gone. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | arm: Ns9xxx: Remove private irq flow handlerThomas Gleixner2011-03-281-54/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | handle_prio_irq is almost identical with handle_fasteoi_irq. The subtle differences are 1) The handler checks for IRQ_DISABLED after the device handler has been called. In case it's set it masks the interrupt. 2) When the handler sees IRQ_DISABLED on entry it masks the interupt in the same way as handle_fastoei_irq, but does not set the IRQ_PENDING flag. 3) Instead of gracefully handling a recursive interrupt it crashes the kernel. #1 is just relevant when a device handler calls disable_irq_nosync() and it does not matter whether we mask the interrupt right away or not. We handle lazy masking for disable_irq anyway, so there is no real reason to have this extra mask in place. #2 will prevent the resend of a pending interrupt, which can result in lost interrupts for edge type interrupts. For level type interrupts the resend is a noop in the generic code. According to the datasheet all interrupts are level type, so marking them as such will result in the exact same behaviour as the private handle_prio_irq implementation. #3 is just stupid. Crashing the kernel instead of handling a problem gracefully is just wrong. With the current semantics- all handlers run with interrupts disabled - this is even more wrong. Rename ack to eoi, remove the unused mask_ack, switch to handle_fasteoi_irq and remove the private function. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Acked-by: Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> Cc: linux-arm-kernel@lists.infradead.org LKML-Reference: <20110202212552.299898447@linutronix.de>
| | * | powerpc: cell: Use the core flow handlerThomas Gleixner2011-03-282-49/+2
| | | | | | | | | | | | | | | | | | | | | | | | The core handler is a full equivalent replacement. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | genirq: Provide edge_eoi flow handlerThomas Gleixner2011-03-283-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a replacment for the cell flow handler which is in the way of cleanups. Must be selected to avoid general bloat. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_dataThomas Gleixner2011-03-289-59/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We really need these flags for some of the interrupt chips. Move it from internal state to irq_data and provide proper accessors. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David Daney <ddaney@caviumnetworks.com>
| | * | genirq: Split irq_set_affinity() so it can be called with lock held.David Daney2011-03-272-18/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The .irq_cpu_online() and .irq_cpu_offline() functions may need to adjust affinity, but they are called with the descriptor lock held. Create __irq_set_affinity_locked() which is called with the lock held. Make irq_set_affinity() just a wrapper that acquires the lock. [ tglx: Changed the argument to irq_data, added a !desc check and moved the !irq_set_affinity check where it belongs ] Signed-off-by: David Daney <ddaney@caviumnetworks.com> Cc: linux-mips@linux-mips.org Cc: ralf@linux-mips.org LKML-Reference: <1301081931-11240-4-git-send-email-ddaney@caviumnetworks.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | genirq: Add chip flag for restricting cpu_on/offline callsThomas Gleixner2011-03-272-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a flag which indicates that the on/offline callback should only be called on enabled interrupts. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | genirq: Add chip hooks for taking CPUs on/off line.David Daney2011-03-272-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ tglx: Removed the enabled argument as this is now available in irq_data ] Signed-off-by: David Daney <ddaney@caviumnetworks.com> Cc: linux-mips@linux-mips.org Cc: ralf@linux-mips.org LKML-Reference: <1301081931-11240-3-git-send-email-ddaney@caviumnetworks.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | genirq: Add irq disabled flag to irq_data stateThomas Gleixner2011-03-273-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some irq_chip implementation require to know the disabled state of the interrupt in certain callbacks. Add a state flag and accessor to irq_data. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * | genirq: Reserve the irq when calling irq_set_chip()David Daney2011-03-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The helper macros and functions like for_each_active_irq() don't work unless the irq is in the allocated_irqs set. In the case of !CONFIG_SPARSE_IRQ, instead of forcing all users of the irq infrastructure to explicitly call irq_reserve_irq(), do it for them. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Cc: linux-mips@linux-mips.org Cc: ralf@linux-mips.org LKML-Reference: <1301081931-11240-2-git-send-email-ddaney@caviumnetworks.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
OpenPOWER on IntegriCloud