diff options
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 | } | ||