OpenCloudOS-Kernel/drivers/macintosh
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: Make macintosh/mediabay driver depend on CONFIG_BLOCK 2009-04-22 14:56:35 +10:00
Makefile [POWERPC] windfarm: Add PowerMac 12,1 support 2008-04-29 15:57:35 +10:00
adb-iop.c [POWERPC] Remove old includes from arch/ppc 2007-08-22 22:39:35 -05:00
adb.c device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
adbhid.c Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next 2008-07-21 00:55:14 -04:00
ans-lcd.c ans-lcd: BKL pushdown 2008-06-20 14:05:54 -06:00
ans-lcd.h [POWERPC] Copy over headers from arch/ppc to arch/powerpc that we need 2007-08-22 22:43:29 -05:00
apm_emu.c [POWERPC] apm_emu: Use generic apm-emulation 2007-05-02 16:42:19 +10:00
mac_hid.c mac-hid: fix build after lockdep annotation 2008-04-25 18:57:09 -07:00
macio-adb.c [POWERPC] Remove find_compatible_devices 2007-04-24 22:08:57 +10:00
macio_asic.c powerpc/macio: Don't the address of an array element before boundchecking 2009-08-20 10:29:26 +10:00
macio_sysfs.c [POWERPC] Create modalias file in sysfs for of_platform bus 2008-05-14 22:31:28 +10:00
mediabay.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2009-04-24 08:16:05 -07:00
nvram.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
rack-meter.c trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
smu.c Merge commit '85082fd7cbe3173198aac0eb5e85ab1edcc6352c' into test-build 2008-07-15 15:44:51 +10:00
therm_adt746x.c macintosh: Don't assume i2c device probing always succeeds 2009-10-04 22:53:46 +02:00
therm_pm72.c macintosh: Don't assume i2c device probing always succeeds 2009-10-04 22:53:46 +02:00
therm_pm72.h [POWERPC] Xserve G5 thermal control fixes 2006-07-28 10:42:49 +10:00
therm_windtunnel.c powerpc/powermac: Thermal control turns system off too eagerly 2009-09-02 15:46:00 +10:00
via-cuda.c m68k: machw.h cleanup 2008-12-28 20:00:03 +01:00
via-macii.c m68k: machw.h cleanup 2008-12-28 20:00:03 +01:00
via-maciisi.c m68k: count can reach 51, not 50 2009-08-26 23:14:49 +02:00
via-pmu-backlight.c [POWERPC] Fix sleep on some powerbooks 2008-03-13 10:09:27 +11:00
via-pmu-event.c Input: via-pmu - add input device support 2006-06-26 01:49:55 -04:00
via-pmu-event.h Input: via-pmu - add input device support 2006-06-26 01:49:55 -04:00
via-pmu-led.c leds: Fix LED names 2009-09-07 14:37:27 +01:00
via-pmu.c powerpc/pmac: Fix issues with sleep on some powerbooks 2009-10-14 16:58:35 +11:00
via-pmu68k.c m68k: machw.h cleanup 2008-12-28 20:00:03 +01:00
windfarm.h [PATCH] powerpc: Thermal control for dual core G5s 2006-02-07 22:05:14 -08:00
windfarm_core.c [POWERPC] windfarm: Fix windfarm thread freezer interaction 2007-11-08 14:15:34 +11:00
windfarm_cpufreq_clamp.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
windfarm_lm75_sensor.c macintosh: Don't assume i2c device probing always succeeds 2009-10-04 22:53:46 +02:00
windfarm_max6690_sensor.c macintosh: Don't assume i2c device probing always succeeds 2009-10-04 22:53:46 +02:00
windfarm_pid.c [PATCH] windfarm license fix 2006-03-06 18:40:45 -08:00
windfarm_pid.h [PATCH] powerpc: Thermal control for dual core G5s 2006-02-07 22:05:14 -08:00
windfarm_pm81.c [POWERPC] macintosh/windfarm: Fix platform driver hotplug/coldplug 2008-04-24 20:56:52 +10:00
windfarm_pm91.c [POWERPC] macintosh/windfarm: Fix platform driver hotplug/coldplug 2008-04-24 20:56:52 +10:00
windfarm_pm112.c [POWERPC] macintosh/windfarm: Fix platform driver hotplug/coldplug 2008-04-24 20:56:52 +10:00
windfarm_pm121.c [POWERPC] windfarm: Add PowerMac 12,1 support 2008-04-29 15:57:35 +10:00
windfarm_smu_controls.c [POWERPC] windfarm: Add PowerMac 12,1 support 2008-04-29 15:57:35 +10:00
windfarm_smu_sat.c macintosh: Don't assume i2c device probing always succeeds 2009-10-04 22:53:46 +02:00
windfarm_smu_sensors.c [POWERPC] Rename get_property to of_get_property: partial drivers 2007-04-27 15:51:56 +10:00