Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a341305e authored by Ben Dooks's avatar Ben Dooks Committed by Russell King
Browse files

[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: default avatarBen Dooks <ben-linux@fluff.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 005b5e4d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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;
+23 −1
Original line number Diff line number Diff line
@@ -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);
}