aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc/platforms/pmac_feature.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2005-04-16 15:24:18 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 15:24:18 -0700
commit7a648b9ec09f32606fe0f27fb9d095311cf968ca (patch)
tree7bab0ea91f5af84f6fedf0422d10194308c851b2 /arch/ppc/platforms/pmac_feature.c
parent[PATCH] ppc32: fix single-stepping of emulated instructions (diff)
downloadlinux-dev-7a648b9ec09f32606fe0f27fb9d095311cf968ca.tar.xz
linux-dev-7a648b9ec09f32606fe0f27fb9d095311cf968ca.zip
[PATCH] ppc32: Fix cpufreq problems
This patch updates the PowerMac cpufreq driver. It depends on the addition of the suspend() method (my previous patch) and on the new flag I defined to silence some warnings that are normal for us. It fixes various issues related to cpufreq on pmac, including some crashes on some models when sleeping the machine while in low speed, proper voltage control on some newer machines, and adds voltage control on 750FX based G3 laptops. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc/platforms/pmac_feature.c')
-rw-r--r--arch/ppc/platforms/pmac_feature.c26
1 files changed, 0 insertions, 26 deletions
diff --git a/arch/ppc/platforms/pmac_feature.c b/arch/ppc/platforms/pmac_feature.c
index 8e60550863a6..eda9c80746a4 100644
--- a/arch/ppc/platforms/pmac_feature.c
+++ b/arch/ppc/platforms/pmac_feature.c
@@ -1779,32 +1779,6 @@ core99_sleep_state(struct device_node* node, long param, long value)
if ((pmac_mb.board_flags & PMAC_MB_CAN_SLEEP) == 0)
return -EPERM;
-#ifdef CONFIG_CPU_FREQ_PMAC
- /* XXX should be elsewhere */
- if (machine_is_compatible("PowerBook6,5") ||
- machine_is_compatible("PowerBook6,4") ||
- machine_is_compatible("PowerBook5,5") ||
- machine_is_compatible("PowerBook5,4")) {
- struct device_node *volt_gpio_np;
- u32 *reg = NULL;
-
- volt_gpio_np = of_find_node_by_name(NULL, "cpu-vcore-select");
- if (volt_gpio_np != NULL)
- reg = (u32 *)get_property(volt_gpio_np, "reg", NULL);
- if (reg != NULL) {
- /* Set the CPU voltage high if sleeping */
- if (value == 1) {
- pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL,
- *reg, 0x05);
- } else if (value == 0 && (mfspr(SPRN_HID1) & HID1_DFS)) {
- pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL,
- *reg, 0x04);
- }
- mdelay(2);
- }
- }
-#endif /* CONFIG_CPU_FREQ_PMAC */
-
if (value == 1)
return core99_sleep();
else if (value == 0)