diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-12-12 00:24:31 +0000 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2009-05-07 11:04:56 +0100 |
commit | 1deb507dc7612e6c81b7953e827d1c859c1d8c0b (patch) | |
tree | 7ef632398ff6b1391a21b2892e82d0cce52e5f23 /arch/arm/plat-s3c64xx/cpu.c | |
parent | 0abfe9aab1867abd96b44a425ad27ce021891e4f (diff) | |
download | kernel_samsung_smdk4412-1deb507dc7612e6c81b7953e827d1c859c1d8c0b.zip kernel_samsung_smdk4412-1deb507dc7612e6c81b7953e827d1c859c1d8c0b.tar.gz kernel_samsung_smdk4412-1deb507dc7612e6c81b7953e827d1c859c1d8c0b.tar.bz2 |
[ARM] S3C64XX: Add generic s3c64xx sys device.
Add an s3c64xx_sysclass and device for items that currently
want to bind to any s3c64xx processor. The first user of this
will be parts of the s3c64xx suspend support which need to
save device state over suspend/resume.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/plat-s3c64xx/cpu.c')
-rw-r--r-- | arch/arm/plat-s3c64xx/cpu.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/plat-s3c64xx/cpu.c b/arch/arm/plat-s3c64xx/cpu.c index 91f49a3..f9fdaab 100644 --- a/arch/arm/plat-s3c64xx/cpu.c +++ b/arch/arm/plat-s3c64xx/cpu.c @@ -16,6 +16,7 @@ #include <linux/module.h> #include <linux/interrupt.h> #include <linux/ioport.h> +#include <linux/sysdev.h> #include <linux/serial_core.h> #include <linux/platform_device.h> #include <linux/io.h> @@ -104,6 +105,16 @@ static struct map_desc s3c_iodesc[] __initdata = { }, }; + +struct sysdev_class s3c64xx_sysclass = { + .name = "s3c64xx-core", +}; + +static struct sys_device s3c64xx_sysdev = { + .cls = &s3c64xx_sysclass, +}; + + /* read cpu identification code */ void __init s3c64xx_init_io(struct map_desc *mach_desc, int size) @@ -117,3 +128,11 @@ void __init s3c64xx_init_io(struct map_desc *mach_desc, int size) idcode = __raw_readl(S3C_VA_SYS + 0x118); s3c_init_cpu(idcode, cpu_ids, ARRAY_SIZE(cpu_ids)); } + +static __init int s3c64xx_sysdev_init(void) +{ + sysdev_class_register(&s3c64xx_sysclass); + return sysdev_register(&s3c64xx_sysdev); +} + +core_initcall(s3c64xx_sysdev_init); |