1 /* 2 * Copyright (C) 2009 Lemote Inc. 3 * Author: Wu Zhangjin, wuzhangjin@gmail.com 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License as published by the 7 * Free Software Foundation; either version 2 of the License, or (at your 8 * option) any later version. 9 */ 10 11 #include <linux/err.h> 12 #include <linux/smp.h> 13 #include <linux/platform_device.h> 14 15 static struct platform_device loongson2_cpufreq_device = { 16 .name = "loongson2_cpufreq", 17 .id = -1, 18 }; 19 loongson2_cpufreq_init(void)20static int __init loongson2_cpufreq_init(void) 21 { 22 struct cpuinfo_mips *c = ¤t_cpu_data; 23 24 /* Only 2F revision and it's successors support CPUFreq */ 25 if ((c->processor_id & PRID_REV_MASK) >= PRID_REV_LOONGSON2F) 26 return platform_device_register(&loongson2_cpufreq_device); 27 28 return -ENODEV; 29 } 30 31 arch_initcall(loongson2_cpufreq_init); 32