linux/arch/arm
Thomas Gleixner 49f3fbc7b8 arm: mmp: Remove pointless fiddling with irq internals
The pm-mmp2 and pm-pxa910 power management related irq_set_wake
callbacks fiddle pointlessly with the irq actions for no reason except
for lack of understanding how the wakeup mechanism works.

On supsend the core disables all interrupts lazily, i.e. it does not
mask them at the irq controller level. So any interrupt which is
firing during suspend will mark the corresponding interrupt line as
pending. Just before the core powers down it checks whether there are
interrupts pending from interrupt lines which are marked as wakeup
sources and if so it aborts the suspend and resends the interrupts.
If there was no interrupt at this point, the cpu goes into suspend
with these interrupts unmasked.

The IRQF_NO_SUSPEND flag for interrupt actions is a totally different
mechanism. That allows the device driver to prevent the core from
disabling the interrupt despite the fact that it is not marked as a
wakeup source. This has nothing to do with the case at hand. It was
introduced for special cases where lazy disable is not possible.

Remove the nonsense along with the braindamaged boundary check. The
core code does NOT call these functions out of boundary.

Add a FIXME comment to an unhandled error path which merily printks
some useless blurb instead of returning a proper error code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: arm <linux-arm-kernel@lists.infradead.org>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: Russell King <linux@arm.linux.org.uk>
Link: http://lkml.kernel.org/r/20140223212737.214342433@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2014-03-04 17:37:52 +01:00
..
boot A collection of ARM SoC fixes for v3.14-rc1. 2014-02-15 15:01:33 -08:00
common ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
configs ARM: multi_v7_defconfig: Select CONFIG_SOC_DRA7XX 2014-02-10 10:38:06 -08:00
crypto CRYPTO: Fix more AES build errors 2014-01-05 13:59:56 +00:00
firmware ARM: add basic support for Trusted Foundations 2013-12-13 12:50:30 -07:00
include Merge branches 'fixes' and 'misc' into for-linus 2014-01-28 21:38:48 +00:00
kernel Merge branches 'fixes' and 'misc' into for-linus 2014-01-28 21:38:48 +00:00
kvm First round of KVM updates for 3.14; PPC parts will come next week. 2014-01-22 21:40:43 -08:00
lib ARM: 7877/1: use built-in byte swap function 2013-12-29 12:32:45 +00:00
mach-at91 ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-bcm ARM: pinctrl: Add Broadcom Capri pinctrl driver 2014-01-16 14:25:38 +01:00
mach-bcm2835 ARM: bcm2835: Fix grammar in help message 2014-01-02 12:07:52 -08:00
mach-berlin ARM: add initial support for Marvell Berlin SoCs 2013-12-13 16:31:07 +01:00
mach-clps711x ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-cns3xxx
mach-davinci ARM: driver updates for 3.14 2014-01-23 18:49:36 -08:00
mach-dove ARM: Dove: Fix compiler warnings with C=1 builds 2013-11-24 02:36:55 +00:00
mach-ebsa110
mach-efm32 ARM: new platform for Energy Micro's EFM32 Cortex-M3 SoCs 2013-12-16 17:51:33 +01:00
mach-ep93xx ARM: ep93xx: use soc bus 2013-11-25 14:24:28 -08:00
mach-exynos ACPI and power management updates for 3.14-rc1 2014-01-24 15:51:02 -08:00
mach-footbridge Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-01-24 17:17:30 -08:00
mach-gemini
mach-highbank Merge branches 'amba', 'fixes', 'kees', 'misc' and 'unstable/sa11x0' into for-next 2014-01-21 21:26:33 +00:00
mach-hisi ARM: hisi: fix kconfig warning on HAVE_ARM_TWD 2014-02-02 19:52:42 -08:00
mach-imx arm: Replace various irq_desc accesses 2014-03-04 17:37:52 +01:00
mach-integrator ARM: integrator: restore static map on the CP 2014-01-31 14:58:52 -08:00
mach-iop13xx
mach-iop32x ARM: iop32x: fix power off handling for the EM7210 board 2014-01-31 14:58:53 -08:00
mach-iop33x
mach-ixp4xx ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-keystone ARM: keystone: config: fix build warning when CONFIG_DMADEVICES is not set 2014-01-31 15:03:53 -08:00
mach-kirkwood mvebu fixes for v3.13 (incremental #2) 2014-01-31 14:59:28 -08:00
mach-ks8695 ARM: ks8695: delete local <mach/gpio.h> header 2013-12-03 11:26:05 +01:00
mach-lpc32xx ARM: lpc32xx: move custom GPIO header 2013-12-03 11:26:06 +01:00
mach-mmp arm: mmp: Remove pointless fiddling with irq internals 2014-03-04 17:37:52 +01:00
mach-moxart ARM: moxart: move DMA_OF selection to driver 2014-02-02 19:52:45 -08:00
mach-msm ARM: driver updates for 3.14 2014-01-23 18:49:36 -08:00
mach-mv78xx0 ARM: mv78xx0: delete local <mach/gpio.h> header 2013-12-03 11:26:06 +01:00
mach-mvebu mvebu fixes for v3.13 (incremental #2) 2014-01-31 14:59:28 -08:00
mach-mxs
mach-netx
mach-nomadik ARM: nomadik: get rid of explicit ethernet GPIO management 2013-11-28 21:08:42 +01:00
mach-nspire
mach-omap1 arm: Replace various irq_desc accesses 2014-03-04 17:37:52 +01:00
mach-omap2 ARM: fix HAVE_ARM_TWD selection for OMAP and shmobile 2014-02-02 19:52:53 -08:00
mach-orion5x ARM: orion5x: drop unused include from common.c 2013-11-24 03:02:20 +00:00
mach-picoxcell
mach-prima2 ARM: clean up cache handling in platform code 2013-12-11 16:24:34 -08:00
mach-pxa ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
mach-realview
mach-rockchip
mach-rpc
mach-s3c24xx ARM: SoC cleanups for 3.14 2014-01-23 18:36:55 -08:00
mach-s3c64xx ARM: SoC cleanups for 3.14 2014-01-23 18:36:55 -08:00
mach-s5p64x0
mach-s5pc100
mach-s5pv210
mach-sa1100 ACPI and power management updates for 3.14-rc1 2014-01-24 15:51:02 -08:00
mach-shmobile ARM: fix HAVE_ARM_TWD selection for OMAP and shmobile 2014-02-02 19:52:53 -08:00
mach-socfpga arm: socfpga: Enable ARM_TWD for socfpga 2013-12-03 14:19:48 -08:00
mach-spear
mach-sti ARM: clean up cache handling in platform code 2013-12-11 16:24:34 -08:00
mach-sunxi ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-tegra ARM: driver updates for 3.14 2014-01-23 18:49:36 -08:00
mach-u300 ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
mach-ux500 ARM: SoC DT updates for 3.14 2014-01-23 18:45:38 -08:00
mach-versatile ARM: versatile: move GPIO2 and GPIO3 to core 2013-12-20 18:22:47 +01:00
mach-vexpress ARM: vexpress/TC2: Implement MCPM power_down_finish() 2013-11-25 14:12:14 -08:00
mach-virt
mach-vt8500
mach-w90x900
mach-zynq ARM: zynq: Reserve not DMAable space in front of the kernel 2014-02-10 10:45:42 -08:00
mm Merge branches 'fixes' and 'misc' into for-linus 2014-01-28 21:38:48 +00:00
net bpf: do not use reciprocal divide 2014-01-15 17:02:08 -08:00
nwfpe
oprofile
plat-iop Merge branch 'soc/sched_clock' into next/soc 2013-12-06 08:05:55 -08:00
plat-omap Merge branch 'efm32/soc' into next/soc 2013-12-20 08:59:30 -08:00
plat-orion mvebu fixes for v3.13 (incremental #2) 2014-01-31 14:59:28 -08:00
plat-pxa ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
plat-samsung MTD updates for 3.14: 2014-01-28 18:56:37 -08:00
plat-versatile ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
tools
vfp
xen xen/gnttab: Use phys_addr_t to describe the grant frame base address 2014-01-30 12:56:34 +00:00
Kconfig Bug-fixes: 2014-01-31 08:38:18 -08:00
Kconfig-nommu
Kconfig.debug ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
Makefile Merge branches 'fixes' and 'misc' into for-linus 2014-01-28 21:38:48 +00:00