linux/arch/powerpc/platforms/powermac
Benjamin Herrenschmidt 11a50873ef powerpc/pmac: Fix issues with sleep on some powerbooks
Since the change of how interrupts are disabled during suspend,
certain PowerBook models started exhibiting various issues during
suspend or resume from sleep.

I finally tracked it down to the code that runs various "platform"
functions (kind of little scripts extracted from the device-tree),
which uses our i2c and PMU drivers expecting interrutps to work,
and at a time where with the new scheme, they have been disabled.

This causes timeouts internally which for some reason results in
the PMU being unable to see the trackpad, among other issues, really
it depends on the machine. Most of the time, we fail to properly adjust
some clocks for suspend/resume so the results are not always
predictable.

This patch fixes it by using IRQF_TIMER for both the PMU and the I2C
interrupts. I prefer doing it this way than moving the call sites since
I really want those platform functions to still be called after all
drivers (and before sysdevs).

We also do a slight cleanup to via-pmu.c driver to make sure the
ADB autopoll mask is handled correctly when doing bus resets

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-10-14 16:58:35 +11:00
..
Kconfig powerpc/kconfig: Kill PPC_MULTIPLATFORM 2009-03-11 17:11:35 +11:00
Makefile ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
backlight.c [POWERPC] Remove old interface find_devices 2007-04-24 22:09:02 +10:00
bootx_init.c [POWERPC] Remove old includes from arch/ppc 2007-08-22 22:39:35 -05:00
cache.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cpufreq_32.c powerpc: Remove SMP warning from PowerMac cpufreq 2009-08-27 13:12:53 +10:00
cpufreq_64.c powerpc: Remove unnecessary semicolons 2009-07-08 13:50:21 +10:00
feature.c powerpc: Missing tests for NULL after ioremap() 2009-08-20 10:29:25 +10:00
low_i2c.c powerpc/pmac: Fix issues with sleep on some powerbooks 2009-10-14 16:58:35 +11:00
nvram.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
pci.c powerpc: Fix some late PowerMac G5 with PCIe ATI graphics 2009-09-02 16:20:42 +10:00
pfunc_base.c [POWERPC] powermac: Use machine_*_initcall() hooks in platform code 2008-01-17 14:57:14 +11:00
pfunc_core.c arch: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:14:49 -04:00
pic.c powerpc: Remove unnecessary semicolons 2009-07-08 13:50:21 +10:00
pic.h powerpc/irq: Convert obsolete hw_interrupt_type to struct irq_chip 2009-03-11 17:11:34 +11:00
pmac.h ppc/pmac: remove ppc_ide_md hooks 2008-04-18 00:46:29 +02:00
setup.c powerpc/pmac: Fix issues with PowerMac "PowerSurge" SMP 2009-06-26 14:37:24 +10:00
sleep.S powerpc/mm: Introduce MMU features 2008-12-21 14:21:16 +11:00
smp.c cpumask: Use accessors for cpu_*_mask: powerpc 2009-09-24 09:34:48 +09:30
time.c powerpc/powermac: Add missing of_node_put 2009-01-08 16:25:07 +11:00
udbg_adb.c [POWERPC] Fix section mismatches in udbg_adb.c 2007-08-17 11:02:06 +10:00
udbg_scc.c trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00