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

Commit 4a858cfc authored by Kay Sievers's avatar Kay Sievers Committed by Greg Kroah-Hartman
Browse files

arm: convert sysdev_class to a regular subsystem



After all sysdev classes are ported to regular driver core entities, the
sysdev implementation will be entirely removed from the kernel.

Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Vinod Koul <vinod.koul@intel.com>
Cc: Boojin Kim <boojin.kim@samsung.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
Cc: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: default avatarKay Sievers <kay.sievers@vrfy.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 8f1e938d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@
#ifndef __ASM_ARM_MACH_TIME_H
#define __ASM_ARM_MACH_TIME_H

#include <linux/sysdev.h>
#include <linux/device.h>

/*
 * This is our kernel timer structure.
+8 −7
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@
*/

#include <linux/sched.h>
#include <linux/sysdev.h>
#include <linux/device.h>

#include <asm/mach/map.h>
#include <asm/mach/irq.h>
@@ -243,17 +243,18 @@ void __init exynos4_init_irq(void)
	s5p_init_irq(NULL, 0);
}

struct sysdev_class exynos4_sysclass = {
struct bus_type exynos4_subsys = {
	.name		= "exynos4-core",
	.dev_name	= "exynos4-core",
};

static struct sys_device exynos4_sysdev = {
	.cls	= &exynos4_sysclass,
static struct device exynos4_dev = {
	.bus	= &exynos4_subsys,
};

static int __init exynos4_core_init(void)
{
	return sysdev_class_register(&exynos4_sysclass);
	return subsys_system_register(&exynos4_subsys, NULL);
}
core_initcall(exynos4_core_init);

@@ -294,5 +295,5 @@ int __init exynos_init(void)
	if (soc_is_exynos4210() || soc_is_exynos4212() || soc_is_exynos4412())
		s5p_reset_hook = exynos4_sw_reset;

	return sysdev_register(&exynos4_sysdev);
	return device_register(&exynos4_dev);
}
+6 −4
Original line number Diff line number Diff line
@@ -205,7 +205,7 @@ static void exynos4_pm_prepare(void)

}

static int exynos4_pm_add(struct sys_device *sysdev)
static int exynos4_pm_add(struct device *dev)
{
	pm_cpu_prep = exynos4_pm_prepare;
	pm_cpu_sleep = exynos4_cpu_suspend;
@@ -301,8 +301,10 @@ static void exynos4_restore_pll(void)
	} while (epll_wait || vpll_wait);
}

static struct sysdev_driver exynos4_pm_driver = {
	.add		= exynos4_pm_add,
static struct subsys_interface exynos4_pm_interface = {
	.name		= "exynos4_pm",
	.subsys		= &exynos4_subsys,
	.add_dev	= exynos4_pm_add,
};

static __init int exynos4_pm_drvinit(void)
@@ -325,7 +327,7 @@ static __init int exynos4_pm_drvinit(void)
		clk_put(pll_base);
	}

	return sysdev_driver_register(&exynos4_sysclass, &exynos4_pm_driver);
	return subsys_interface_register(&exynos4_pm_interface);
}
arch_initcall(exynos4_pm_drvinit);

+14 −12
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/cpufreq.h>
#include <linux/sysdev.h>
#include <linux/device.h>
#include <linux/clk.h>
#include <linux/err.h>
#include <linux/io.h>
@@ -115,24 +115,25 @@ static struct s3c_cpufreq_info s3c2410_cpufreq_info = {
	.debug_io_show	= s3c_cpufreq_debugfs_call(s3c2410_iotiming_debugfs),
};

static int s3c2410_cpufreq_add(struct sys_device *sysdev)
static int s3c2410_cpufreq_add(struct device *dev)
{
	return s3c_cpufreq_register(&s3c2410_cpufreq_info);
}

static struct sysdev_driver s3c2410_cpufreq_driver = {
	.add		= s3c2410_cpufreq_add,
static struct subsys_interface s3c2410_cpufreq_interface = {
	.name		= "s3c2410_cpufreq",
	.subsys		= &s3c2410_subsys,
	.add_dev	= s3c2410_cpufreq_add,
};

static int __init s3c2410_cpufreq_init(void)
{
	return sysdev_driver_register(&s3c2410_sysclass,
				      &s3c2410_cpufreq_driver);
	return subsys_interface_register(&s3c2410_cpufreq_interface);
}

arch_initcall(s3c2410_cpufreq_init);

static int s3c2410a_cpufreq_add(struct sys_device *sysdev)
static int s3c2410a_cpufreq_add(struct device *dev)
{
	/* alter the maximum freq settings for S3C2410A. If a board knows
	 * it only has a maximum of 200, then it should register its own
@@ -143,17 +144,18 @@ static int s3c2410a_cpufreq_add(struct sys_device *sysdev)
	s3c2410_cpufreq_info.max.pclk =  66500000;
	s3c2410_cpufreq_info.name = "s3c2410a";

	return s3c2410_cpufreq_add(sysdev);
	return s3c2410_cpufreq_add(dev);
}

static struct sysdev_driver s3c2410a_cpufreq_driver = {
	.add		= s3c2410a_cpufreq_add,
static struct subsys_interface s3c2410a_cpufreq_interface = {
	.name		= "s3c2410a_cpufreq",
	.subsys		= &s3c2410a_subsys,
	.add_dev	= s3c2410a_cpufreq_add,
};

static int __init s3c2410a_cpufreq_init(void)
{
	return sysdev_driver_register(&s3c2410a_sysclass,
				      &s3c2410a_cpufreq_driver);
	return subsys_interface_register(&s3c2410a_cpufreq_interface);
}

arch_initcall(s3c2410a_cpufreq_init);
+17 −11
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/sysdev.h>
#include <linux/device.h>
#include <linux/serial_core.h>

#include <mach/map.h>
@@ -132,7 +132,7 @@ static struct s3c24xx_dma_order __initdata s3c2410_dma_order = {
	},
};

static int __init s3c2410_dma_add(struct sys_device *sysdev)
static int __init s3c2410_dma_add(struct device *dev)
{
	s3c2410_dma_init();
	s3c24xx_dma_order_set(&s3c2410_dma_order);
@@ -140,24 +140,28 @@ static int __init s3c2410_dma_add(struct sys_device *sysdev)
}

#if defined(CONFIG_CPU_S3C2410)
static struct sysdev_driver s3c2410_dma_driver = {
	.add	= s3c2410_dma_add,
static struct subsys_interface s3c2410_dma_interface = {
	.name		= "s3c2410_dma",
	.subsys		= &s3c2410_subsys,
	.add_dev	= s3c2410_dma_add,
};

static int __init s3c2410_dma_drvinit(void)
{
	return sysdev_driver_register(&s3c2410_sysclass, &s3c2410_dma_driver);
	return subsys_interface_register(&s3c2410_interface);
}

arch_initcall(s3c2410_dma_drvinit);

static struct sysdev_driver s3c2410a_dma_driver = {
	.add	= s3c2410_dma_add,
static struct subsys_interface s3c2410a_dma_interface = {
	.name		= "s3c2410a_dma",
	.subsys		= &s3c2410a_subsys,
	.add_dev	= s3c2410_dma_add,
};

static int __init s3c2410a_dma_drvinit(void)
{
	return sysdev_driver_register(&s3c2410a_sysclass, &s3c2410a_dma_driver);
	return subsys_interface_register(&s3c2410a_dma_interface);
}

arch_initcall(s3c2410a_dma_drvinit);
@@ -165,13 +169,15 @@ arch_initcall(s3c2410a_dma_drvinit);

#if defined(CONFIG_CPU_S3C2442)
/* S3C2442 DMA contains the same selection table as the S3C2410 */
static struct sysdev_driver s3c2442_dma_driver = {
	.add	= s3c2410_dma_add,
static struct subsys_interface s3c2442_dma_interface = {
	.name		= "s3c2442_dma",
	.subsys		= &s3c2442_subsys,
	.add_dev	= s3c2410_dma_add,
};

static int __init s3c2442_dma_drvinit(void)
{
	return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_dma_driver);
	return subsys_interface_register(&s3c2442_dma_interface);
}

arch_initcall(s3c2442_dma_drvinit);
Loading