forked from Minki/linux
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: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
8f1e938db9
commit
4a858cfc9a
@ -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.
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -13,7 +13,7 @@
|
||||
#ifndef __ASM_ARCH_DMA_H
|
||||
#define __ASM_ARCH_DMA_H __FILE__
|
||||
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
|
||||
#define MAX_DMA_TRANSFER_SIZE 0x100000 /* Data Unit is half word */
|
||||
|
||||
@ -202,7 +202,7 @@ struct s3c2410_dma_chan {
|
||||
struct s3c2410_dma_buf *end; /* end of queue */
|
||||
|
||||
/* system device */
|
||||
struct sys_device dev;
|
||||
struct device dev;
|
||||
};
|
||||
|
||||
typedef unsigned long dma_device_t;
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/err.h>
|
||||
@ -66,30 +66,34 @@ static struct cpufreq_frequency_table pll_vals_12MHz[] = {
|
||||
{ .frequency = 270000000, .index = PLLVAL(127, 1, 1), },
|
||||
};
|
||||
|
||||
static int s3c2410_plls_add(struct sys_device *dev)
|
||||
static int s3c2410_plls_add(struct device *dev)
|
||||
{
|
||||
return s3c_plltab_register(pll_vals_12MHz, ARRAY_SIZE(pll_vals_12MHz));
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2410_plls_drv = {
|
||||
.add = s3c2410_plls_add,
|
||||
static struct subsys_interface s3c2410_plls_interface = {
|
||||
.name = "s3c2410_plls",
|
||||
.subsys = &s3c2410_subsys,
|
||||
.add_dev = s3c2410_plls_add,
|
||||
};
|
||||
|
||||
static int __init s3c2410_pll_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2410_sysclass, &s3c2410_plls_drv);
|
||||
return subsys_interface_register(&s3c2410_plls_interface);
|
||||
|
||||
}
|
||||
|
||||
arch_initcall(s3c2410_pll_init);
|
||||
|
||||
static struct sysdev_driver s3c2410a_plls_drv = {
|
||||
.add = s3c2410_plls_add,
|
||||
static struct subsys_interface s3c2410a_plls_interface = {
|
||||
.name = "s3c2410a_plls",
|
||||
.subsys = &s3c2410a_subsys,
|
||||
.add_dev = s3c2410_plls_add,
|
||||
};
|
||||
|
||||
static int __init s3c2410a_pll_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2410a_sysclass, &s3c2410a_plls_drv);
|
||||
return subsys_interface_register(&s3c2410a_plls_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2410a_pll_init);
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <linux/suspend.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/time.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/io.h>
|
||||
@ -111,7 +111,7 @@ struct syscore_ops s3c2410_pm_syscore_ops = {
|
||||
.resume = s3c2410_pm_resume,
|
||||
};
|
||||
|
||||
static int s3c2410_pm_add(struct sys_device *dev)
|
||||
static int s3c2410_pm_add(struct device *dev)
|
||||
{
|
||||
pm_cpu_prep = s3c2410_pm_prepare;
|
||||
pm_cpu_sleep = s3c2410_cpu_suspend;
|
||||
@ -120,52 +120,60 @@ static int s3c2410_pm_add(struct sys_device *dev)
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CPU_S3C2410)
|
||||
static struct sysdev_driver s3c2410_pm_driver = {
|
||||
.add = s3c2410_pm_add,
|
||||
static struct subsys_interface s3c2410_pm_interface = {
|
||||
.name = "s3c2410_pm",
|
||||
.subsys = &s3c2410_subsys,
|
||||
.add_dev = s3c2410_pm_add,
|
||||
};
|
||||
|
||||
/* register ourselves */
|
||||
|
||||
static int __init s3c2410_pm_drvinit(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2410_sysclass, &s3c2410_pm_driver);
|
||||
return subsys_interface_register(&s3c2410_pm_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2410_pm_drvinit);
|
||||
|
||||
static struct sysdev_driver s3c2410a_pm_driver = {
|
||||
.add = s3c2410_pm_add,
|
||||
static struct subsys_interface s3c2410a_pm_interface = {
|
||||
.name = "s3c2410a_pm",
|
||||
subsys = &s3c2410a_subsys,
|
||||
.add_dev = s3c2410_pm_add,
|
||||
};
|
||||
|
||||
static int __init s3c2410a_pm_drvinit(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2410a_sysclass, &s3c2410a_pm_driver);
|
||||
return subsys_interface_register(&s3c2410a_pm_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2410a_pm_drvinit);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_CPU_S3C2440)
|
||||
static struct sysdev_driver s3c2440_pm_driver = {
|
||||
.add = s3c2410_pm_add,
|
||||
static struct subsys_interface s3c2440_pm_interface = {
|
||||
.name = "s3c2440_pm",
|
||||
.subsys = &s3c2440_subsys,
|
||||
.add_dev = s3c2410_pm_add,
|
||||
};
|
||||
|
||||
static int __init s3c2440_pm_drvinit(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_pm_driver);
|
||||
return subsys_interface_register(&s3c2440_pm_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2440_pm_drvinit);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_CPU_S3C2442)
|
||||
static struct sysdev_driver s3c2442_pm_driver = {
|
||||
.add = s3c2410_pm_add,
|
||||
static struct subsys_interface s3c2442_pm_interface = {
|
||||
.name = "s3c2442_pm",
|
||||
.subsys = &s3c2442_subsys,
|
||||
.add_dev = s3c2410_pm_add,
|
||||
};
|
||||
|
||||
static int __init s3c2442_pm_drvinit(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_pm_driver);
|
||||
return subsys_interface_register(&s3c2442_pm_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2442_pm_drvinit);
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/platform_device.h>
|
||||
@ -131,22 +131,24 @@ void __init s3c2410_init_clocks(int xtal)
|
||||
s3c24xx_register_clock(&s3c2410_armclk);
|
||||
}
|
||||
|
||||
struct sysdev_class s3c2410_sysclass = {
|
||||
struct bus_type s3c2410_subsys = {
|
||||
.name = "s3c2410-core",
|
||||
.dev_name = "s3c2410-core",
|
||||
};
|
||||
|
||||
/* Note, we would have liked to name this s3c2410-core, but we cannot
|
||||
* register two sysdev_class with the same name.
|
||||
* register two subsystems with the same name.
|
||||
*/
|
||||
struct sysdev_class s3c2410a_sysclass = {
|
||||
struct bus_type s3c2410a_subsys = {
|
||||
.name = "s3c2410a-core",
|
||||
.dev_name = "s3c2410a-core",
|
||||
};
|
||||
|
||||
static struct sys_device s3c2410_sysdev = {
|
||||
.cls = &s3c2410_sysclass,
|
||||
static struct device s3c2410_dev = {
|
||||
.bus = &s3c2410_subsys,
|
||||
};
|
||||
|
||||
/* need to register class before we actually register the device, and
|
||||
/* need to register the subsystem 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 s3c2410 based system)
|
||||
* as a driver which may support both 2410 and 2440 may try and use it.
|
||||
@ -154,14 +156,14 @@ static struct sys_device s3c2410_sysdev = {
|
||||
|
||||
static int __init s3c2410_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s3c2410_sysclass);
|
||||
return subsys_system_register(&s3c2410_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s3c2410_core_init);
|
||||
|
||||
static int __init s3c2410a_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s3c2410a_sysclass);
|
||||
return subsys_system_register(&s3c2410a_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s3c2410a_core_init);
|
||||
@ -175,11 +177,11 @@ int __init s3c2410_init(void)
|
||||
#endif
|
||||
register_syscore_ops(&s3c24xx_irq_syscore_ops);
|
||||
|
||||
return sysdev_register(&s3c2410_sysdev);
|
||||
return device_register(&s3c2410_dev);
|
||||
}
|
||||
|
||||
int __init s3c2410a_init(void)
|
||||
{
|
||||
s3c2410_sysdev.cls = &s3c2410a_sysclass;
|
||||
s3c2410_dev.bus = &s3c2410a_subsys;
|
||||
return s3c2410_init();
|
||||
}
|
||||
|
@ -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/delay.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/err.h>
|
||||
@ -194,7 +194,7 @@ static struct s3c_cpufreq_info s3c2412_cpufreq_info = {
|
||||
.debug_io_show = s3c_cpufreq_debugfs_call(s3c2412_iotiming_debugfs),
|
||||
};
|
||||
|
||||
static int s3c2412_cpufreq_add(struct sys_device *sysdev)
|
||||
static int s3c2412_cpufreq_add(struct device *dev)
|
||||
{
|
||||
unsigned long fclk_rate;
|
||||
|
||||
@ -244,14 +244,15 @@ err_fclk:
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2412_cpufreq_driver = {
|
||||
.add = s3c2412_cpufreq_add,
|
||||
static struct subsys_interface s3c2412_cpufreq_interface = {
|
||||
.name = "s3c2412_cpufreq",
|
||||
.subsys = &s3c2412_subsys,
|
||||
.add_dev = s3c2412_cpufreq_add,
|
||||
};
|
||||
|
||||
static int s3c2412_cpufreq_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2412_sysclass,
|
||||
&s3c2412_cpufreq_driver);
|
||||
return subsys_interface_register(&s3c2412_cpufreq_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2412_cpufreq_init);
|
||||
|
@ -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 <linux/io.h>
|
||||
|
||||
@ -159,19 +159,21 @@ static struct s3c24xx_dma_selection __initdata s3c2412_dma_sel = {
|
||||
.map_size = ARRAY_SIZE(s3c2412_dma_mappings),
|
||||
};
|
||||
|
||||
static int __init s3c2412_dma_add(struct sys_device *sysdev)
|
||||
static int __init s3c2412_dma_add(struct device *dev)
|
||||
{
|
||||
s3c2410_dma_init();
|
||||
return s3c24xx_dma_init_map(&s3c2412_dma_sel);
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2412_dma_driver = {
|
||||
.add = s3c2412_dma_add,
|
||||
static struct subsys_interface s3c2412_dma_interface = {
|
||||
.name = "s3c2412_dma",
|
||||
.subsys = &s3c2412_subsys,
|
||||
.add_dev = s3c2412_dma_add,
|
||||
};
|
||||
|
||||
static int __init s3c2412_dma_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2412_sysclass, &s3c2412_dma_driver);
|
||||
return subsys_interface_register(&s3c2412_dma_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2412_dma_init);
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
@ -170,7 +170,7 @@ static int s3c2412_irq_rtc_wake(struct irq_data *data, unsigned int state)
|
||||
|
||||
static struct irq_chip s3c2412_irq_rtc_chip;
|
||||
|
||||
static int s3c2412_irq_add(struct sys_device *sysdev)
|
||||
static int s3c2412_irq_add(struct device *dev)
|
||||
{
|
||||
unsigned int irqno;
|
||||
|
||||
@ -200,13 +200,15 @@ static int s3c2412_irq_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2412_irq_driver = {
|
||||
.add = s3c2412_irq_add,
|
||||
static struct subsys_interface s3c2412_irq_interface = {
|
||||
.name = "s3c2412_irq",
|
||||
.subsys = &s3c2412_subsys,
|
||||
.add_dev = s3c2412_irq_add,
|
||||
};
|
||||
|
||||
static int s3c2412_irq_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2412_sysclass, &s3c2412_irq_driver);
|
||||
return subsys_interface_register(&s3c2412_irq_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2412_irq_init);
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <linux/list.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
@ -56,7 +56,7 @@ static void s3c2412_pm_prepare(void)
|
||||
{
|
||||
}
|
||||
|
||||
static int s3c2412_pm_add(struct sys_device *sysdev)
|
||||
static int s3c2412_pm_add(struct device *dev)
|
||||
{
|
||||
pm_cpu_prep = s3c2412_pm_prepare;
|
||||
pm_cpu_sleep = s3c2412_cpu_suspend;
|
||||
@ -87,13 +87,15 @@ static struct sleep_save s3c2412_sleep[] = {
|
||||
SAVE_ITEM(S3C2413_GPJSLPCON),
|
||||
};
|
||||
|
||||
static struct sysdev_driver s3c2412_pm_driver = {
|
||||
.add = s3c2412_pm_add,
|
||||
static struct subsys_interface s3c2412_pm_interface = {
|
||||
.name = "s3c2412_pm",
|
||||
.subsys = &s3c2412_subsys,
|
||||
.add_dev = s3c2412_pm_add,
|
||||
};
|
||||
|
||||
static __init int s3c2412_pm_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2412_sysclass, &s3c2412_pm_driver);
|
||||
return subsys_interface_register_register(&s3c2412_pm_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2412_pm_init);
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/platform_device.h>
|
||||
@ -220,25 +220,26 @@ void __init s3c2412_init_clocks(int xtal)
|
||||
s3c2412_baseclk_add();
|
||||
}
|
||||
|
||||
/* need to register class before we actually register the device, and
|
||||
/* need to register the subsystem 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 s3c2412 based system)
|
||||
* as a driver which may support both 2410 and 2440 may try and use it.
|
||||
*/
|
||||
|
||||
struct sysdev_class s3c2412_sysclass = {
|
||||
struct bus_type s3c2412_subsys = {
|
||||
.name = "s3c2412-core",
|
||||
.dev_name = "s3c2412-core",
|
||||
};
|
||||
|
||||
static int __init s3c2412_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s3c2412_sysclass);
|
||||
return subsys_system_register(&s3c2412_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s3c2412_core_init);
|
||||
|
||||
static struct sys_device s3c2412_sysdev = {
|
||||
.cls = &s3c2412_sysclass,
|
||||
static struct device s3c2412_dev = {
|
||||
.bus = &s3c2412_subsys,
|
||||
};
|
||||
|
||||
int __init s3c2412_init(void)
|
||||
@ -250,5 +251,5 @@ int __init s3c2412_init(void)
|
||||
#endif
|
||||
register_syscore_ops(&s3c24xx_irq_syscore_ops);
|
||||
|
||||
return sysdev_register(&s3c2412_sysdev);
|
||||
return device_register(&s3c2412_dev);
|
||||
}
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
@ -213,7 +213,7 @@ static int __init s3c2416_add_sub(unsigned int base,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __init s3c2416_irq_add(struct sys_device *sysdev)
|
||||
static int __init s3c2416_irq_add(struct device *dev)
|
||||
{
|
||||
printk(KERN_INFO "S3C2416: IRQ Support\n");
|
||||
|
||||
@ -234,13 +234,15 @@ static int __init s3c2416_irq_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2416_irq_driver = {
|
||||
.add = s3c2416_irq_add,
|
||||
static struct subsys_interface s3c2416_irq_interface = {
|
||||
.name = "s3c2416_irq",
|
||||
.subsys = &s3c2416_subsys,
|
||||
.add_dev = s3c2416_irq_add,
|
||||
};
|
||||
|
||||
static int __init s3c2416_irq_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2416_sysclass, &s3c2416_irq_driver);
|
||||
return subsys_interface_register(&s3c2416_irq_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2416_irq_init);
|
||||
|
@ -10,7 +10,7 @@
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
@ -48,7 +48,7 @@ static void s3c2416_pm_prepare(void)
|
||||
__raw_writel(virt_to_phys(s3c_cpu_resume), S3C2412_INFORM1);
|
||||
}
|
||||
|
||||
static int s3c2416_pm_add(struct sys_device *sysdev)
|
||||
static int s3c2416_pm_add(struct device *dev)
|
||||
{
|
||||
pm_cpu_prep = s3c2416_pm_prepare;
|
||||
pm_cpu_sleep = s3c2416_cpu_suspend;
|
||||
@ -56,13 +56,15 @@ static int s3c2416_pm_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2416_pm_driver = {
|
||||
.add = s3c2416_pm_add,
|
||||
static struct subsys_interface s3c2416_pm_interface = {
|
||||
.name = "s3c2416_pm",
|
||||
.subsys = &s3c2416_subsys,
|
||||
.add_dev = s3c2416_pm_add,
|
||||
};
|
||||
|
||||
static __init int s3c2416_pm_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2416_sysclass, &s3c2416_pm_driver);
|
||||
return subsys_interface_register(&s3c2416_pm_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2416_pm_init);
|
||||
|
@ -31,7 +31,7 @@
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
@ -68,12 +68,13 @@ static struct map_desc s3c2416_iodesc[] __initdata = {
|
||||
IODESC_ENT(TIMER),
|
||||
};
|
||||
|
||||
struct sysdev_class s3c2416_sysclass = {
|
||||
struct bus_type s3c2416_subsys = {
|
||||
.name = "s3c2416-core",
|
||||
.dev_name = "s3c2416-core",
|
||||
};
|
||||
|
||||
static struct sys_device s3c2416_sysdev = {
|
||||
.cls = &s3c2416_sysclass,
|
||||
static struct device s3c2416_dev = {
|
||||
.bus = &s3c2416_subsys,
|
||||
};
|
||||
|
||||
static void s3c2416_hard_reset(void)
|
||||
@ -105,7 +106,7 @@ int __init s3c2416_init(void)
|
||||
#endif
|
||||
register_syscore_ops(&s3c24xx_irq_syscore_ops);
|
||||
|
||||
return sysdev_register(&s3c2416_sysdev);
|
||||
return device_register(&s3c2416_dev);
|
||||
}
|
||||
|
||||
void __init s3c2416_init_uarts(struct s3c2410_uartcfg *cfg, int no)
|
||||
@ -133,7 +134,7 @@ void __init s3c2416_map_io(void)
|
||||
iotable_init(s3c2416_iodesc, ARRAY_SIZE(s3c2416_iodesc));
|
||||
}
|
||||
|
||||
/* need to register class before we actually register the device, and
|
||||
/* need to register the subsystem 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 s3c2416 based system)
|
||||
* as a driver which may support both 2443 and 2440 may try and use it.
|
||||
@ -141,7 +142,7 @@ void __init s3c2416_map_io(void)
|
||||
|
||||
static int __init s3c2416_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s3c2416_sysclass);
|
||||
return subsys_system_register(&s3c2416_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s3c2416_core_init);
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/mutex.h>
|
||||
@ -108,7 +107,7 @@ static struct clk s3c2440_clk_ac97 = {
|
||||
.ctrlbit = S3C2440_CLKCON_CAMERA,
|
||||
};
|
||||
|
||||
static int s3c2440_clk_add(struct sys_device *sysdev)
|
||||
static int s3c2440_clk_add(struct device *dev)
|
||||
{
|
||||
struct clk *clock_upll;
|
||||
struct clk *clock_h;
|
||||
@ -137,13 +136,15 @@ static int s3c2440_clk_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2440_clk_driver = {
|
||||
.add = s3c2440_clk_add,
|
||||
static struct subsys_interface s3c2440_clk_interface = {
|
||||
.name = "s3c2440_clk",
|
||||
.subsys = &s3c2440_subsys,
|
||||
.add_dev = s3c2440_clk_add,
|
||||
};
|
||||
|
||||
static __init int s3c24xx_clk_driver(void)
|
||||
static __init int s3c24xx_clk_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_clk_driver);
|
||||
return subsys_interface_register(&s3c2440_clk_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c24xx_clk_driver);
|
||||
arch_initcall(s3c24xx_clk_init);
|
||||
|
@ -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>
|
||||
@ -174,20 +174,22 @@ static struct s3c24xx_dma_order __initdata s3c2440_dma_order = {
|
||||
},
|
||||
};
|
||||
|
||||
static int __init s3c2440_dma_add(struct sys_device *sysdev)
|
||||
static int __init s3c2440_dma_add(struct device *dev)
|
||||
{
|
||||
s3c2410_dma_init();
|
||||
s3c24xx_dma_order_set(&s3c2440_dma_order);
|
||||
return s3c24xx_dma_init_map(&s3c2440_dma_sel);
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2440_dma_driver = {
|
||||
.add = s3c2440_dma_add,
|
||||
static struct subsys_interface s3c2440_dma_interface = {
|
||||
.name = "s3c2440_dma",
|
||||
.subsys = &s3c2440_subsys,
|
||||
.add_dev = s3c2440_dma_add,
|
||||
};
|
||||
|
||||
static int __init s3c2440_dma_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_dma_driver);
|
||||
return subsys_interface_register(&s3c2440_dma_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2440_dma_init);
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
@ -92,7 +92,7 @@ static struct irq_chip s3c_irq_wdtac97 = {
|
||||
.irq_ack = s3c_irq_wdtac97_ack,
|
||||
};
|
||||
|
||||
static int s3c2440_irq_add(struct sys_device *sysdev)
|
||||
static int s3c2440_irq_add(struct device *dev)
|
||||
{
|
||||
unsigned int irqno;
|
||||
|
||||
@ -113,13 +113,15 @@ static int s3c2440_irq_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2440_irq_driver = {
|
||||
.add = s3c2440_irq_add,
|
||||
static struct subsys_interface s3c2440_irq_interface = {
|
||||
.name = "s3c2440_irq",
|
||||
.subsys = &s3c2440_subsys,
|
||||
.add_dev = s3c2440_irq_add,
|
||||
};
|
||||
|
||||
static int s3c2440_irq_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_irq_driver);
|
||||
return subsys_interface_register(&s3c2440_irq_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2440_irq_init);
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/cpufreq.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/err.h>
|
||||
@ -270,7 +270,7 @@ struct s3c_cpufreq_info s3c2440_cpufreq_info = {
|
||||
.debug_io_show = s3c_cpufreq_debugfs_call(s3c2410_iotiming_debugfs),
|
||||
};
|
||||
|
||||
static int s3c2440_cpufreq_add(struct sys_device *sysdev)
|
||||
static int s3c2440_cpufreq_add(struct device *dev)
|
||||
{
|
||||
xtal = s3c_cpufreq_clk_get(NULL, "xtal");
|
||||
hclk = s3c_cpufreq_clk_get(NULL, "hclk");
|
||||
@ -285,27 +285,29 @@ static int s3c2440_cpufreq_add(struct sys_device *sysdev)
|
||||
return s3c_cpufreq_register(&s3c2440_cpufreq_info);
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2440_cpufreq_driver = {
|
||||
.add = s3c2440_cpufreq_add,
|
||||
static struct subsys_interface s3c2440_cpufreq_interface = {
|
||||
.name = "s3c2440_cpufreq",
|
||||
.subsys = &s3c2440_subsys,
|
||||
.add_dev = s3c2440_cpufreq_add,
|
||||
};
|
||||
|
||||
static int s3c2440_cpufreq_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2440_sysclass,
|
||||
&s3c2440_cpufreq_driver);
|
||||
return subsys_interface_register(&s3c2440_cpufreq_interface);
|
||||
}
|
||||
|
||||
/* arch_initcall adds the clocks we need, so use subsys_initcall. */
|
||||
subsys_initcall(s3c2440_cpufreq_init);
|
||||
|
||||
static struct sysdev_driver s3c2442_cpufreq_driver = {
|
||||
.add = s3c2440_cpufreq_add,
|
||||
static struct subsys_interface s3c2442_cpufreq_interface = {
|
||||
.name = "s3c2442_cpufreq",
|
||||
.subsys = &s3c2442_subsys,
|
||||
.add_dev = s3c2440_cpufreq_add,
|
||||
};
|
||||
|
||||
static int s3c2442_cpufreq_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2442_sysclass,
|
||||
&s3c2442_cpufreq_driver);
|
||||
return subsys_interface_register(&s3c2442_cpufreq_interface);
|
||||
}
|
||||
|
||||
subsys_initcall(s3c2442_cpufreq_init);
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
@ -51,7 +51,7 @@ static struct cpufreq_frequency_table s3c2440_plls_12[] __initdata = {
|
||||
{ .frequency = 400000000, .index = PLLVAL(0x5c, 1, 1), }, /* FVco 800.000000 */
|
||||
};
|
||||
|
||||
static int s3c2440_plls12_add(struct sys_device *dev)
|
||||
static int s3c2440_plls12_add(struct device *dev)
|
||||
{
|
||||
struct clk *xtal_clk;
|
||||
unsigned long xtal;
|
||||
@ -72,25 +72,29 @@ static int s3c2440_plls12_add(struct sys_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2440_plls12_drv = {
|
||||
.add = s3c2440_plls12_add,
|
||||
static struct subsys_interface s3c2440_plls12_interface = {
|
||||
.name = "s3c2440_plls12",
|
||||
.subsys = &s3c2440_subsys,
|
||||
.add_dev = s3c2440_plls12_add,
|
||||
};
|
||||
|
||||
static int __init s3c2440_pll_12mhz(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_plls12_drv);
|
||||
return subsys_interface_register(&s3c2440_plls12_interface);
|
||||
|
||||
}
|
||||
|
||||
arch_initcall(s3c2440_pll_12mhz);
|
||||
|
||||
static struct sysdev_driver s3c2442_plls12_drv = {
|
||||
.add = s3c2440_plls12_add,
|
||||
static struct subsys_interface s3c2442_plls12_interface = {
|
||||
.name = "s3c2442_plls12",
|
||||
.subsys = &s3c2442_subsys,
|
||||
.add_dev = s3c2440_plls12_add,
|
||||
};
|
||||
|
||||
static int __init s3c2442_pll_12mhz(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_plls12_drv);
|
||||
return subsys_interface_register(&s3c2442_plls12_interface);
|
||||
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
@ -79,7 +79,7 @@ static struct cpufreq_frequency_table s3c2440_plls_169344[] __initdata = {
|
||||
{ .frequency = 402192000, .index = PLLVAL(87, 2, 1), }, /* FVco 804.384000 */
|
||||
};
|
||||
|
||||
static int s3c2440_plls169344_add(struct sys_device *dev)
|
||||
static int s3c2440_plls169344_add(struct device *dev)
|
||||
{
|
||||
struct clk *xtal_clk;
|
||||
unsigned long xtal;
|
||||
@ -100,28 +100,28 @@ static int s3c2440_plls169344_add(struct sys_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2440_plls169344_drv = {
|
||||
.add = s3c2440_plls169344_add,
|
||||
static struct subsys_interface s3c2440_plls169344_interface = {
|
||||
.name = "s3c2440_plls169344",
|
||||
.subsys = &s3c2440_subsys,
|
||||
.add_dev = s3c2440_plls169344_add,
|
||||
};
|
||||
|
||||
static int __init s3c2440_pll_16934400(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2440_sysclass,
|
||||
&s3c2440_plls169344_drv);
|
||||
|
||||
return subsys_interface_register(&s3c2440_plls169344_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2440_pll_16934400);
|
||||
|
||||
static struct sysdev_driver s3c2442_plls169344_drv = {
|
||||
.add = s3c2440_plls169344_add,
|
||||
static struct subsys_interface s3c2442_plls169344_interface = {
|
||||
.name = "s3c2442_plls169344",
|
||||
.subsys = &s3c2442_subsys,
|
||||
.add_dev = s3c2440_plls169344_add,
|
||||
};
|
||||
|
||||
static int __init s3c2442_pll_16934400(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2442_sysclass,
|
||||
&s3c2442_plls169344_drv);
|
||||
|
||||
return subsys_interface_register(&s3c2442_plls169344_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2442_pll_16934400);
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/clk.h>
|
||||
@ -40,8 +40,8 @@
|
||||
#include <plat/gpio-cfg.h>
|
||||
#include <plat/gpio-cfg-helpers.h>
|
||||
|
||||
static struct sys_device s3c2440_sysdev = {
|
||||
.cls = &s3c2440_sysclass,
|
||||
static struct device s3c2440_dev = {
|
||||
.bus = &s3c2440_subsys,
|
||||
};
|
||||
|
||||
int __init s3c2440_init(void)
|
||||
@ -63,7 +63,7 @@ int __init s3c2440_init(void)
|
||||
|
||||
/* register our system device for everything else */
|
||||
|
||||
return sysdev_register(&s3c2440_sysdev);
|
||||
return device_register(&s3c2440_dev);
|
||||
}
|
||||
|
||||
void __init s3c2440_map_io(void)
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
@ -123,7 +122,7 @@ static struct clk s3c2442_clk_cam_upll = {
|
||||
},
|
||||
};
|
||||
|
||||
static int s3c2442_clk_add(struct sys_device *sysdev)
|
||||
static int s3c2442_clk_add(struct device *dev)
|
||||
{
|
||||
struct clk *clock_upll;
|
||||
struct clk *clock_h;
|
||||
@ -149,20 +148,22 @@ static int s3c2442_clk_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2442_clk_driver = {
|
||||
.add = s3c2442_clk_add,
|
||||
static struct subsys_interface s3c2442_clk_interface = {
|
||||
.name = "s3c2442_clk",
|
||||
.subsys = &s3c2442_subsys,
|
||||
.add_dev s3c2442_clk_add,
|
||||
};
|
||||
|
||||
static __init int s3c2442_clk_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_clk_driver);
|
||||
return subsys_interface_register(&s3c2442_clk_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2442_clk_init);
|
||||
|
||||
|
||||
static struct sys_device s3c2442_sysdev = {
|
||||
.cls = &s3c2442_sysclass,
|
||||
static struct device s3c2442_dev = {
|
||||
.bus = &s3c2442_subsys,
|
||||
};
|
||||
|
||||
int __init s3c2442_init(void)
|
||||
@ -175,7 +176,7 @@ int __init s3c2442_init(void)
|
||||
register_syscore_ops(&s3c244x_pm_syscore_ops);
|
||||
register_syscore_ops(&s3c24xx_irq_syscore_ops);
|
||||
|
||||
return sysdev_register(&s3c2442_sysdev);
|
||||
return device_register(&s3c2442_dev);
|
||||
}
|
||||
|
||||
void __init s3c2442_map_io(void)
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/clk.h>
|
||||
@ -73,7 +72,7 @@ static struct clk clk_arm = {
|
||||
},
|
||||
};
|
||||
|
||||
static int s3c244x_clk_add(struct sys_device *sysdev)
|
||||
static int s3c244x_clk_add(struct device *dev)
|
||||
{
|
||||
unsigned long camdivn = __raw_readl(S3C2440_CAMDIVN);
|
||||
unsigned long clkdivn;
|
||||
@ -115,24 +114,28 @@ static int s3c244x_clk_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2440_clk_driver = {
|
||||
.add = s3c244x_clk_add,
|
||||
static struct subsys_interface s3c2440_clk_interface = {
|
||||
.name = "s3c2440_clk",
|
||||
.subsys = &s3c2440_subsys,
|
||||
.add_dev = s3c244x_clk_add,
|
||||
};
|
||||
|
||||
static int s3c2440_clk_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_clk_driver);
|
||||
return subsys_interface_register(&s3c2440_clk_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2440_clk_init);
|
||||
|
||||
static struct sysdev_driver s3c2442_clk_driver = {
|
||||
.add = s3c244x_clk_add,
|
||||
static struct subsys_interface s3c2442_clk_interface = {
|
||||
.name = "s3c2442_clk",
|
||||
.subsys = &s3c2442_subsys,
|
||||
.add_dev = s3c244x_clk_add,
|
||||
};
|
||||
|
||||
static int s3c2442_clk_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_clk_driver);
|
||||
return subsys_interface_register(&s3c2442_clk_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2442_clk_init);
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
@ -91,7 +91,7 @@ static struct irq_chip s3c_irq_cam = {
|
||||
.irq_ack = s3c_irq_cam_ack,
|
||||
};
|
||||
|
||||
static int s3c244x_irq_add(struct sys_device *sysdev)
|
||||
static int s3c244x_irq_add(struct device *dev)
|
||||
{
|
||||
unsigned int irqno;
|
||||
|
||||
@ -114,25 +114,29 @@ static int s3c244x_irq_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2440_irq_driver = {
|
||||
.add = s3c244x_irq_add,
|
||||
static struct subsys_interface s3c2440_irq_interface = {
|
||||
.name = "s3c2440_irq",
|
||||
.subsys = &s3c2440_subsys,
|
||||
.add_dev = s3c244x_irq_add,
|
||||
};
|
||||
|
||||
static int s3c2440_irq_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_irq_driver);
|
||||
return subsys_interface_register(&s3c2440_irq_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2440_irq_init);
|
||||
|
||||
static struct sysdev_driver s3c2442_irq_driver = {
|
||||
.add = s3c244x_irq_add,
|
||||
static struct subsys_interface s3c2442_irq_interface = {
|
||||
.name = "s3c2442_irq",
|
||||
.subsys = &s3c2442_subsys,
|
||||
.add_dev = s3c244x_irq_add,
|
||||
};
|
||||
|
||||
|
||||
static int s3c2442_irq_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_irq_driver);
|
||||
return subsys_interface_register(&s3c2442_irq_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2442_irq_init);
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
@ -135,17 +135,19 @@ void __init s3c244x_init_clocks(int xtal)
|
||||
s3c2410_baseclk_add();
|
||||
}
|
||||
|
||||
/* Since the S3C2442 and S3C2440 share items, put both sysclasses here */
|
||||
/* Since the S3C2442 and S3C2440 share items, put both subsystems here */
|
||||
|
||||
struct sysdev_class s3c2440_sysclass = {
|
||||
struct bus_type s3c2440_subsys = {
|
||||
.name = "s3c2440-core",
|
||||
.dev_name = "s3c2440-core",
|
||||
};
|
||||
|
||||
struct sysdev_class s3c2442_sysclass = {
|
||||
struct bus_type s3c2442_subsys = {
|
||||
.name = "s3c2442-core",
|
||||
.dev_name = "s3c2442-core",
|
||||
};
|
||||
|
||||
/* need to register class before we actually register the device, and
|
||||
/* need to register the subsystem 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.
|
||||
@ -153,14 +155,14 @@ struct sysdev_class s3c2442_sysclass = {
|
||||
|
||||
static int __init s3c2440_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s3c2440_sysclass);
|
||||
return subsys_system_register(&s3c2440_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s3c2440_core_init);
|
||||
|
||||
static int __init s3c2442_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s3c2442_sysclass);
|
||||
return subsys_system_register(&s3c2442_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s3c2442_core_init);
|
||||
|
@ -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 <linux/io.h>
|
||||
|
||||
@ -135,19 +135,21 @@ static struct s3c24xx_dma_selection __initdata s3c2443_dma_sel = {
|
||||
.map_size = ARRAY_SIZE(s3c2443_dma_mappings),
|
||||
};
|
||||
|
||||
static int __init s3c2443_dma_add(struct sys_device *sysdev)
|
||||
static int __init s3c2443_dma_add(struct device *dev)
|
||||
{
|
||||
s3c24xx_dma_init(6, IRQ_S3C2443_DMA0, 0x100);
|
||||
return s3c24xx_dma_init_map(&s3c2443_dma_sel);
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2443_dma_driver = {
|
||||
.add = s3c2443_dma_add,
|
||||
static struct subsys_interface s3c2443_dma_interface = {
|
||||
.name = "s3c2443_dma",
|
||||
.subsys = &s3c2443_subsys,
|
||||
.add_dev = s3c2443_dma_add,
|
||||
};
|
||||
|
||||
static int __init s3c2443_dma_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2443_sysclass, &s3c2443_dma_driver);
|
||||
return subsys_interface_register(&s3c2443_dma_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2443_dma_init);
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
@ -241,7 +241,7 @@ static int __init s3c2443_add_sub(unsigned int base,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __init s3c2443_irq_add(struct sys_device *sysdev)
|
||||
static int __init s3c2443_irq_add(struct device *dev)
|
||||
{
|
||||
printk("S3C2443: IRQ Support\n");
|
||||
|
||||
@ -265,13 +265,15 @@ static int __init s3c2443_irq_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s3c2443_irq_driver = {
|
||||
.add = s3c2443_irq_add,
|
||||
static struct subsys_interface s3c2443_irq_interface = {
|
||||
.name = "s3c2443_irq",
|
||||
.subsys = &s3c2443_subsys,
|
||||
.add_dev = s3c2443_irq_add,
|
||||
};
|
||||
|
||||
static int __init s3c2443_irq_init(void)
|
||||
{
|
||||
return sysdev_driver_register(&s3c2443_sysclass, &s3c2443_irq_driver);
|
||||
return subsys_interface_register(&s3c2443_irq_interface);
|
||||
}
|
||||
|
||||
arch_initcall(s3c2443_irq_init);
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
@ -49,12 +49,13 @@ static struct map_desc s3c2443_iodesc[] __initdata = {
|
||||
IODESC_ENT(TIMER),
|
||||
};
|
||||
|
||||
struct sysdev_class s3c2443_sysclass = {
|
||||
struct bus_type s3c2443_subsys = {
|
||||
.name = "s3c2443-core",
|
||||
.dev_name = "s3c2443-core",
|
||||
};
|
||||
|
||||
static struct sys_device s3c2443_sysdev = {
|
||||
.cls = &s3c2443_sysclass,
|
||||
static struct device s3c2443_dev = {
|
||||
.bus = &s3c2443_subsys,
|
||||
};
|
||||
|
||||
static void s3c2443_hard_reset(void)
|
||||
@ -77,7 +78,7 @@ int __init s3c2443_init(void)
|
||||
s3c_device_wdt.resource[1].start = IRQ_S3C2443_WDT;
|
||||
s3c_device_wdt.resource[1].end = IRQ_S3C2443_WDT;
|
||||
|
||||
return sysdev_register(&s3c2443_sysdev);
|
||||
return device_register(&s3c2443_dev);
|
||||
}
|
||||
|
||||
void __init s3c2443_init_uarts(struct s3c2410_uartcfg *cfg, int no)
|
||||
@ -99,7 +100,7 @@ void __init s3c2443_map_io(void)
|
||||
iotable_init(s3c2443_iodesc, ARRAY_SIZE(s3c2443_iodesc));
|
||||
}
|
||||
|
||||
/* need to register class before we actually register the device, and
|
||||
/* need to register the subsystem 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 s3c2443 based system)
|
||||
* as a driver which may support both 2443 and 2440 may try and use it.
|
||||
@ -107,7 +108,7 @@ void __init s3c2443_map_io(void)
|
||||
|
||||
static int __init s3c2443_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s3c2443_sysclass);
|
||||
return subsys_system_register(&s3c2443_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s3c2443_core_init);
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
@ -122,12 +122,13 @@ static struct map_desc s3c_iodesc[] __initdata = {
|
||||
};
|
||||
|
||||
|
||||
struct sysdev_class s3c64xx_sysclass = {
|
||||
struct bus_type s3c64xx_subsys = {
|
||||
.name = "s3c64xx-core",
|
||||
.dev_name = "s3c64xx-core",
|
||||
};
|
||||
|
||||
static struct sys_device s3c64xx_sysdev = {
|
||||
.cls = &s3c64xx_sysclass,
|
||||
static struct device s3c64xx_dev = {
|
||||
.bus = &s3c64xx_subsys,
|
||||
};
|
||||
|
||||
/* uart registration process */
|
||||
@ -152,10 +153,10 @@ void __init s3c64xx_init_io(struct map_desc *mach_desc, int size)
|
||||
s3c_init_cpu(samsung_cpu_id, cpu_ids, ARRAY_SIZE(cpu_ids));
|
||||
}
|
||||
|
||||
static __init int s3c64xx_sysdev_init(void)
|
||||
static __init int s3c64xx_dev_init(void)
|
||||
{
|
||||
sysdev_class_register(&s3c64xx_sysclass);
|
||||
return sysdev_register(&s3c64xx_sysdev);
|
||||
subsys_system_register(&s3c64xx_subsys, NULL);
|
||||
return device_register(&s3c64xx_dev);
|
||||
}
|
||||
|
||||
core_initcall(s3c64xx_sysdev_init);
|
||||
core_initcall(s3c64xx_dev_init);
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/dmapool.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/delay.h>
|
||||
@ -35,7 +35,7 @@
|
||||
/* dma channel state information */
|
||||
|
||||
struct s3c64xx_dmac {
|
||||
struct sys_device sysdev;
|
||||
struct device dev;
|
||||
struct clk *clk;
|
||||
void __iomem *regs;
|
||||
struct s3c2410_dma_chan *channels;
|
||||
@ -631,8 +631,9 @@ static irqreturn_t s3c64xx_dma_irq(int irq, void *pw)
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static struct sysdev_class dma_sysclass = {
|
||||
static struct bus_type dma_subsys = {
|
||||
.name = "s3c64xx-dma",
|
||||
.dev_name = "s3c64xx-dma",
|
||||
};
|
||||
|
||||
static int s3c64xx_dma_init1(int chno, enum dma_ch chbase,
|
||||
@ -651,12 +652,12 @@ static int s3c64xx_dma_init1(int chno, enum dma_ch chbase,
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
dmac->sysdev.id = chno / 8;
|
||||
dmac->sysdev.cls = &dma_sysclass;
|
||||
dmac->dev.id = chno / 8;
|
||||
dmac->dev.bus = &dma_subsys;
|
||||
|
||||
err = sysdev_register(&dmac->sysdev);
|
||||
err = device_register(&dmac->dev);
|
||||
if (err) {
|
||||
printk(KERN_ERR "%s: failed to register sysdevice\n", __func__);
|
||||
printk(KERN_ERR "%s: failed to register device\n", __func__);
|
||||
goto err_alloc;
|
||||
}
|
||||
|
||||
@ -667,7 +668,7 @@ static int s3c64xx_dma_init1(int chno, enum dma_ch chbase,
|
||||
goto err_dev;
|
||||
}
|
||||
|
||||
snprintf(clkname, sizeof(clkname), "dma%d", dmac->sysdev.id);
|
||||
snprintf(clkname, sizeof(clkname), "dma%d", dmac->dev.id);
|
||||
|
||||
dmac->clk = clk_get(NULL, clkname);
|
||||
if (IS_ERR(dmac->clk)) {
|
||||
@ -715,7 +716,7 @@ err_clk:
|
||||
err_map:
|
||||
iounmap(regs);
|
||||
err_dev:
|
||||
sysdev_unregister(&dmac->sysdev);
|
||||
device_unregister(&dmac->dev);
|
||||
err_alloc:
|
||||
kfree(dmac);
|
||||
return err;
|
||||
@ -733,9 +734,9 @@ static int __init s3c64xx_dma_init(void)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
ret = sysdev_class_register(&dma_sysclass);
|
||||
ret = subsys_system_register(&dma_subsys, NULL);
|
||||
if (ret) {
|
||||
printk(KERN_ERR "%s: failed to create sysclass\n", __func__);
|
||||
printk(KERN_ERR "%s: failed to create subsys\n", __func__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
@ -70,17 +70,18 @@ void __init s3c6400_init_irq(void)
|
||||
s3c64xx_init_irq(~0 & ~(0xf << 5), ~0);
|
||||
}
|
||||
|
||||
struct sysdev_class s3c6400_sysclass = {
|
||||
static struct bus_type s3c6400_subsys = {
|
||||
.name = "s3c6400-core",
|
||||
.dev_name = "s3c6400-core",
|
||||
};
|
||||
|
||||
static struct sys_device s3c6400_sysdev = {
|
||||
.cls = &s3c6400_sysclass,
|
||||
static struct device s3c6400_dev = {
|
||||
.bus = &s3c6400_subsys,
|
||||
};
|
||||
|
||||
static int __init s3c6400_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s3c6400_sysclass);
|
||||
return subsys_system_register(&s3c6400_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s3c6400_core_init);
|
||||
@ -89,5 +90,5 @@ int __init s3c6400_init(void)
|
||||
{
|
||||
printk("S3C6400: Initialising architecture\n");
|
||||
|
||||
return sysdev_register(&s3c6400_sysdev);
|
||||
return device_register(&s3c6400_dev);
|
||||
}
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
@ -75,17 +75,18 @@ void __init s3c6410_init_irq(void)
|
||||
s3c64xx_init_irq(~0 & ~(1 << 7), ~0);
|
||||
}
|
||||
|
||||
struct sysdev_class s3c6410_sysclass = {
|
||||
struct bus_type s3c6410_subsys = {
|
||||
.name = "s3c6410-core",
|
||||
.dev_name = "s3c6410-core",
|
||||
};
|
||||
|
||||
static struct sys_device s3c6410_sysdev = {
|
||||
.cls = &s3c6410_sysclass,
|
||||
static struct device s3c6410_dev = {
|
||||
.bus = &s3c6410_subsys,
|
||||
};
|
||||
|
||||
static int __init s3c6410_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s3c6410_sysclass);
|
||||
return subsys_system_register(&s3c6410_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s3c6410_core_init);
|
||||
@ -94,5 +95,5 @@ int __init s3c6410_init(void)
|
||||
{
|
||||
printk("S3C6410: Initialising architecture\n");
|
||||
|
||||
return sysdev_register(&s3c6410_sysdev);
|
||||
return device_register(&s3c6410_dev);
|
||||
}
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/sched.h>
|
||||
@ -190,17 +190,18 @@ void __init s5p6450_init_irq(void)
|
||||
s5p_init_irq(vic, ARRAY_SIZE(vic));
|
||||
}
|
||||
|
||||
struct sysdev_class s5p64x0_sysclass = {
|
||||
struct bus_type s5p64x0_subsys = {
|
||||
.name = "s5p64x0-core",
|
||||
.dev_name = "s5p64x0-core",
|
||||
};
|
||||
|
||||
static struct sys_device s5p64x0_sysdev = {
|
||||
.cls = &s5p64x0_sysclass,
|
||||
static struct device s5p64x0_subsys = {
|
||||
.bus = &s5p64x0_subsys,
|
||||
};
|
||||
|
||||
static int __init s5p64x0_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s5p64x0_sysclass);
|
||||
return subsys_system_register(&s5p64x0_subsys, NULL);
|
||||
}
|
||||
core_initcall(s5p64x0_core_init);
|
||||
|
||||
@ -211,5 +212,5 @@ int __init s5p64x0_init(void)
|
||||
/* set idle function */
|
||||
pm_idle = s5p64x0_idle;
|
||||
|
||||
return sysdev_register(&s5p64x0_sysdev);
|
||||
return device_register(&s5p64x0_dev);
|
||||
}
|
||||
|
@ -160,7 +160,7 @@ static void s5p64x0_pm_prepare(void)
|
||||
|
||||
}
|
||||
|
||||
static int s5p64x0_pm_add(struct sys_device *sysdev)
|
||||
static int s5p64x0_pm_add(struct device *dev)
|
||||
{
|
||||
pm_cpu_prep = s5p64x0_pm_prepare;
|
||||
pm_cpu_sleep = s5p64x0_cpu_suspend;
|
||||
@ -169,15 +169,17 @@ static int s5p64x0_pm_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s5p64x0_pm_driver = {
|
||||
.add = s5p64x0_pm_add,
|
||||
static struct subsys_interface s5p64x0_pm_interface = {
|
||||
.name = "s5p64x0_pm",
|
||||
.subsys = &s5p64x0_subsys,
|
||||
.add_dev = s5p64x0_pm_add,
|
||||
};
|
||||
|
||||
static __init int s5p64x0_pm_drvinit(void)
|
||||
{
|
||||
s3c_pm_init();
|
||||
|
||||
return sysdev_driver_register(&s5p64x0_sysclass, &s5p64x0_pm_driver);
|
||||
return subsys_interface_register(&s5p64x0_pm_interface);
|
||||
}
|
||||
arch_initcall(s5p64x0_pm_drvinit);
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/sched.h>
|
||||
@ -143,17 +143,18 @@ void __init s5pc100_init_irq(void)
|
||||
s5p_init_irq(vic, ARRAY_SIZE(vic));
|
||||
}
|
||||
|
||||
static struct sysdev_class s5pc100_sysclass = {
|
||||
static struct bus_type s5pc100_subsys = {
|
||||
.name = "s5pc100-core",
|
||||
.dev_name = "s5pc100-core",
|
||||
};
|
||||
|
||||
static struct sys_device s5pc100_sysdev = {
|
||||
.cls = &s5pc100_sysclass,
|
||||
static struct device s5pc100_dev = {
|
||||
.bus = &s5pc100_subsys,
|
||||
};
|
||||
|
||||
static int __init s5pc100_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s5pc100_sysclass);
|
||||
return subsys_system_register(&s5pc100_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s5pc100_core_init);
|
||||
@ -165,5 +166,5 @@ int __init s5pc100_init(void)
|
||||
/* set idle function */
|
||||
pm_idle = s5pc100_idle;
|
||||
|
||||
return sysdev_register(&s5pc100_sysdev);
|
||||
return device_register(&s5pc100_sys);
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
@ -174,17 +174,18 @@ void __init s5pv210_init_irq(void)
|
||||
s5p_init_irq(vic, ARRAY_SIZE(vic));
|
||||
}
|
||||
|
||||
struct sysdev_class s5pv210_sysclass = {
|
||||
struct bus_type s5pv210_subsys = {
|
||||
.name = "s5pv210-core",
|
||||
.dev_name = "s5pv210-core",
|
||||
};
|
||||
|
||||
static struct sys_device s5pv210_sysdev = {
|
||||
.cls = &s5pv210_sysclass,
|
||||
static struct device s5pv210_dev = {
|
||||
.bus = &s5pv210_subsys,
|
||||
};
|
||||
|
||||
static int __init s5pv210_core_init(void)
|
||||
{
|
||||
return sysdev_class_register(&s5pv210_sysclass);
|
||||
return subsys_system_register(&s5pv210_subsys, NULL);
|
||||
}
|
||||
|
||||
core_initcall(s5pv210_core_init);
|
||||
@ -199,5 +200,5 @@ int __init s5pv210_init(void)
|
||||
/* set sw_reset function */
|
||||
s5p_reset_hook = s5pv210_sw_reset;
|
||||
|
||||
return sysdev_register(&s5pv210_sysdev);
|
||||
return device_register(&s5pv210_dev);
|
||||
}
|
||||
|
@ -133,7 +133,7 @@ static void s5pv210_pm_prepare(void)
|
||||
s3c_pm_do_save(s5pv210_core_save, ARRAY_SIZE(s5pv210_core_save));
|
||||
}
|
||||
|
||||
static int s5pv210_pm_add(struct sys_device *sysdev)
|
||||
static int s5pv210_pm_add(struct device *dev)
|
||||
{
|
||||
pm_cpu_prep = s5pv210_pm_prepare;
|
||||
pm_cpu_sleep = s5pv210_cpu_suspend;
|
||||
@ -141,13 +141,15 @@ static int s5pv210_pm_add(struct sys_device *sysdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver s5pv210_pm_driver = {
|
||||
.add = s5pv210_pm_add,
|
||||
static struct subsys_interface s5pv210_pm_interface = {
|
||||
.name = "s5pv210_pm",
|
||||
.subsys = &s5pv210_subsys,
|
||||
.add_dev = s5pv210_pm_add,
|
||||
};
|
||||
|
||||
static __init int s5pv210_pm_drvinit(void)
|
||||
{
|
||||
return sysdev_driver_register(&s5pv210_sysclass, &s5pv210_pm_driver);
|
||||
return subsys_interface_register(&s5pv210_pm_interface);
|
||||
}
|
||||
arch_initcall(s5pv210_pm_drvinit);
|
||||
|
||||
|
@ -185,20 +185,20 @@ extern struct syscore_ops s3c2416_pm_syscore_ops;
|
||||
extern struct syscore_ops s3c244x_pm_syscore_ops;
|
||||
extern struct syscore_ops s3c64xx_irq_syscore_ops;
|
||||
|
||||
/* system device classes */
|
||||
/* system device subsystems */
|
||||
|
||||
extern struct sysdev_class s3c2410_sysclass;
|
||||
extern struct sysdev_class s3c2410a_sysclass;
|
||||
extern struct sysdev_class s3c2412_sysclass;
|
||||
extern struct sysdev_class s3c2416_sysclass;
|
||||
extern struct sysdev_class s3c2440_sysclass;
|
||||
extern struct sysdev_class s3c2442_sysclass;
|
||||
extern struct sysdev_class s3c2443_sysclass;
|
||||
extern struct sysdev_class s3c6410_sysclass;
|
||||
extern struct sysdev_class s3c64xx_sysclass;
|
||||
extern struct sysdev_class s5p64x0_sysclass;
|
||||
extern struct sysdev_class s5pv210_sysclass;
|
||||
extern struct sysdev_class exynos4_sysclass;
|
||||
extern struct bus_type s3c2410_subsys;
|
||||
extern struct bus_type s3c2410a_subsys;
|
||||
extern struct bus_type s3c2412_subsys;
|
||||
extern struct bus_type s3c2416_subsys;
|
||||
extern struct bus_type s3c2440_subsys;
|
||||
extern struct bus_type s3c2442_subsys;
|
||||
extern struct bus_type s3c2443_subsys;
|
||||
extern struct bus_type s3c6410_subsys;
|
||||
extern struct bus_type s3c64xx_subsys;
|
||||
extern struct bus_type s5p64x0_subsys;
|
||||
extern struct bus_type s5pv210_subsys;
|
||||
extern struct bus_type exynos4_subsys;
|
||||
|
||||
extern void (*s5pc1xx_idle)(void);
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
#include <plat/dma-core.h>
|
||||
|
||||
extern struct sysdev_class dma_sysclass;
|
||||
extern struct bus_type dma_subsys;
|
||||
extern struct s3c2410_dma_chan s3c2410_chans[S3C_DMA_CHANNELS];
|
||||
|
||||
#define DMA_CH_VALID (1<<31)
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include <linux/irq.h>
|
||||
|
||||
struct sys_device;
|
||||
struct device;
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user