blob: 502b059de42274d21ae94b3606cdb8a5cc39b5e9 [file] [log] [blame]
Wu Zhangjinf8ede0f2009-11-17 01:32:59 +08001/*
2 * Copyright (C) 2009 Lemote Inc.
Wu Zhangjinf7a904d2010-01-04 17:16:51 +08003 * Author: Wu Zhangjin, wuzhangjin@gmail.com
Wu Zhangjinf8ede0f2009-11-17 01:32:59 +08004 *
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>
Paul Gortmakerc72f4d62011-07-28 19:39:02 -040012#include <linux/smp.h>
Wu Zhangjinf8ede0f2009-11-17 01:32:59 +080013#include <linux/platform_device.h>
14
15static struct platform_device loongson2_cpufreq_device = {
16 .name = "loongson2_cpufreq",
17 .id = -1,
18};
19
20static int __init loongson2_cpufreq_init(void)
21{
22 struct cpuinfo_mips *c = &current_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
31arch_initcall(loongson2_cpufreq_init);