diff options
author | Ben Dooks <ben@simtec.co.uk> | 2009-07-30 18:23:38 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2009-07-30 18:22:55 -0400 |
commit | f0176794b6abc2e5239c07a58cf11b6f43d0f185 (patch) | |
tree | 9aedd745c1d53a2f77199e4d36f67519f828db7d /arch/arm/mach-s3c2410/s3c2410.c | |
parent | 140780ab5a2bc04ccff77337c3a27f3b44182a91 (diff) |
ARM: S3C2410: Add S3C2410A sysdev.
Add a sysdev S3C2410A sysdev to allow the differentiation
of the S3C2410A from the S3C2410. This is needed for the
CPUFREQ code to enable the extra features and update cpu
specific information.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/mach-s3c2410/s3c2410.c')
-rw-r--r-- | arch/arm/mach-s3c2410/s3c2410.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2410/s3c2410.c b/arch/arm/mach-s3c2410/s3c2410.c index feb141b1f915..e5724a22c358 100644 --- a/arch/arm/mach-s3c2410/s3c2410.c +++ b/arch/arm/mach-s3c2410/s3c2410.c | |||
@@ -116,6 +116,13 @@ struct sysdev_class s3c2410_sysclass = { | |||
116 | .name = "s3c2410-core", | 116 | .name = "s3c2410-core", |
117 | }; | 117 | }; |
118 | 118 | ||
119 | /* Note, we would have liked to name this s3c2410-core, but we cannot | ||
120 | * register two sysdev_class with the same name. | ||
121 | */ | ||
122 | struct sysdev_class s3c2410a_sysclass = { | ||
123 | .name = "s3c2410a-core", | ||
124 | }; | ||
125 | |||
119 | static struct sys_device s3c2410_sysdev = { | 126 | static struct sys_device s3c2410_sysdev = { |
120 | .cls = &s3c2410_sysclass, | 127 | .cls = &s3c2410_sysclass, |
121 | }; | 128 | }; |
@@ -133,9 +140,22 @@ static int __init s3c2410_core_init(void) | |||
133 | 140 | ||
134 | core_initcall(s3c2410_core_init); | 141 | core_initcall(s3c2410_core_init); |
135 | 142 | ||
143 | static int __init s3c2410a_core_init(void) | ||
144 | { | ||
145 | return sysdev_class_register(&s3c2410a_sysclass); | ||
146 | } | ||
147 | |||
148 | core_initcall(s3c2410a_core_init); | ||
149 | |||
136 | int __init s3c2410_init(void) | 150 | int __init s3c2410_init(void) |
137 | { | 151 | { |
138 | printk("S3C2410: Initialising architecture\n"); | 152 | printk("S3C2410: Initialising architecture\n"); |
139 | 153 | ||
140 | return sysdev_register(&s3c2410_sysdev); | 154 | return sysdev_register(&s3c2410_sysdev); |
141 | } | 155 | } |
156 | |||
157 | int __init s3c2410a_init(void) | ||
158 | { | ||
159 | s3c2410_sysdev.cls = &s3c2410a_sysclass; | ||
160 | return s3c2410_init(); | ||
161 | } | ||