static struct of_device *pmi_dev;
 
+#ifdef CONFIG_PPC_PMI
 static int set_pmode_pmi(int cpu, unsigned int pmode)
 {
        int ret;
 #endif
        return ret;
 }
-
+#endif
 
 static int get_pmode(int cpu)
 {
 }
 
 static int set_pmode(int cpu, unsigned int slow_mode) {
+#ifdef CONFIG_PPC_PMI
        if (pmi_dev)
                return set_pmode_pmi(cpu, slow_mode);
        else
+#endif
                return set_pmode_reg(cpu, slow_mode);
 }
 
 
 static int __init cbe_cpufreq_init(void)
 {
+#ifdef CONFIG_PPC_PMI
        struct device_node *np;
-
+#endif
        if (!machine_is(cell))
                return -ENODEV;
-
+#ifdef CONFIG_PPC_PMI
        np = of_find_node_by_type(NULL, "ibm,pmi");
 
        pmi_dev = of_find_device_by_node(np);
 
        if (pmi_dev)
                pmi_register_handler(pmi_dev, &cbe_pmi_handler);
-
+#endif
        return cpufreq_register_driver(&cbe_cpufreq_driver);
 }
 
 static void __exit cbe_cpufreq_exit(void)
 {
+#ifdef CONFIG_PPC_PMI
        if (pmi_dev)
                pmi_unregister_handler(pmi_dev, &cbe_pmi_handler);
-
+#endif
        cpufreq_unregister_driver(&cbe_cpufreq_driver);
 }