[ARM] 3613/1: S3C2410: Add sysdev and sysclass
Patch from Ben Dooks The S3C2440 and S3C2442 both have their own sysdev and sysclass for differentiating them from the currently default S3C2410. Add a sysdev for the S3C2410 as part of the work to make the code be non-dependant on the S3C2410. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Родитель
005b5e4d0c
Коммит
a341305e94
|
@ -73,5 +73,6 @@ extern struct sys_timer s3c24xx_timer;
|
|||
|
||||
/* system device classes */
|
||||
|
||||
extern struct sysdev_class s3c2410_sysclass;
|
||||
extern struct sysdev_class s3c2440_sysclass;
|
||||
extern struct sysdev_class s3c2442_sysclass;
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include <linux/list.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
|
@ -110,9 +111,30 @@ void __init s3c2410_init_clocks(int xtal)
|
|||
s3c24xx_setup_clocks(xtal, fclk, hclk, pclk);
|
||||
}
|
||||
|
||||
struct sysdev_class s3c2410_sysclass = {
|
||||
set_kset_name("s3c2410-core"),
|
||||
};
|
||||
|
||||
static struct sys_device s3c2410_sysdev = {
|
||||
.cls = &s3c2410_sysclass,
|
||||
};
|
||||
|
||||
/* need to register class before we actually register the device, and
|
||||
* we also need to ensure that it has been initialised before any of the
|
||||
* drivers even try to use it (even if not on an s3c2440 based system)
|
||||
* as a driver which may support both 2410 and 2440 may try and use it.
|
||||
*/
|
||||
|
||||
static int __init s3c2410_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s3c2410_sysclass);
|
||||
}
|
||||
|
||||
core_initcall(s3c2410_core_init);
|
||||
|
||||
int __init s3c2410_init(void)
|
||||
{
|
||||
printk("S3C2410: Initialising architecture\n");
|
||||
|
||||
return 0;
|
||||
return sysdev_register(&s3c2410_sysdev);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче