1
0
Fork 0
alistair23-linux/arch/arm/mach-mmp
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
..
include/mach ARM: mmp: delete the custom GPIO header 2013-09-27 14:00:56 +02:00
Kconfig ARM: mmp: build sram driver alone 2013-12-11 17:33:02 -08:00
Makefile ARM: mmp: build sram driver alone 2013-12-11 17:33:02 -08:00
Makefile.boot ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
aspenite.c Merge branch 'for-next' of git://github.com/rydberg/linux into next 2013-06-27 23:00:25 -07:00
avengers_lite.c ARM: pxa: move PXA_GPIO_TO_IRQ macro 2013-04-11 10:00:05 +08:00
brownstone.c ARM: pxa: move PXA_GPIO_TO_IRQ macro 2013-04-11 10:00:05 +08:00
clock-mmp2.c ARM: pxa: remove cpu_is_xxx in gpio driver 2013-04-11 09:59:23 +08:00
clock-pxa168.c ARM: pxa: remove cpu_is_xxx in gpio driver 2013-04-11 09:59:23 +08:00
clock-pxa910.c ARM: pxa: remove cpu_is_xxx in gpio driver 2013-04-11 09:59:23 +08:00
clock.c ARM: pxa: add clk_set_rate() 2011-07-12 19:45:19 +08:00
clock.h ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
common.c reboot: arm: change reboot_mode to use enum reboot_mode 2013-07-09 10:33:29 -07:00
common.h irqchip: move mmp irq driver 2013-08-24 17:39:02 +08:00
devices.c ARM: mmp: add usb host support for PXA168 2012-05-03 15:06:05 +08:00
flint.c ARM: pxa: move PXA_GPIO_TO_IRQ macro 2013-04-11 10:00:05 +08:00
gplugd.c ARM: pxa: move PXA_GPIO_TO_IRQ macro 2013-04-11 10:00:05 +08:00
jasper.c ARM: pxa: move PXA_GPIO_TO_IRQ macro 2013-04-11 10:00:05 +08:00
mmp-dt.c irqchip: mmp: support irqchip 2013-08-24 17:42:09 +08:00
mmp2-dt.c irqchip: mmp: support irqchip 2013-08-24 17:42:09 +08:00
mmp2.c ARM: mmp: avoid to include head file in mach-mmp 2013-08-24 17:44:45 +08:00
pm-mmp2.c arm: mmp: Remove pointless fiddling with irq internals 2014-03-04 17:37:52 +01:00
pm-pxa910.c arm: mmp: Remove pointless fiddling with irq internals 2014-03-04 17:37:52 +01:00
pxa168.c reboot: arm: change reboot_mode to use enum reboot_mode 2013-07-09 10:33:29 -07:00
pxa910.c ARM: mmp: avoid to include head file in mach-mmp 2013-08-24 17:44:45 +08:00
sram.c ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
tavorevb.c ARM: pxa: move PXA_GPIO_TO_IRQ macro 2013-04-11 10:00:05 +08:00
teton_bga.c Merge branch 'for-next' of git://github.com/rydberg/linux into next 2013-06-27 23:00:25 -07:00
time.c ARM: mmp: Switch to sched_clock_register() 2013-11-21 15:41:00 -08:00
ttc_dkb.c ARM: mmp: remove the legacy rbswap setting for ttc_dkb platform 2013-09-20 12:52:32 +03:00