diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2011-12-19 19:13:33 +0100 |
---|---|---|
committer | Kay Sievers <kay.sievers@vrfy.org> | 2011-12-19 19:13:33 +0100 |
commit | 35ca1766193d2a0c41e605b4e74a277c5ba4a709 (patch) | |
tree | 9f04e6db4ff56a0c5c8926f02d9b697348105fab | |
parent | 13bb0455e991f4931a17dda081c18f567095acf8 (diff) | |
download | patches-35ca1766193d2a0c41e605b4e74a277c5ba4a709.tar.gz |
more ARM
-rw-r--r-- | 20-arm.patch | 437 |
1 files changed, 436 insertions, 1 deletions
diff --git a/20-arm.patch b/20-arm.patch index d91cd95..126a7f8 100644 --- a/20-arm.patch +++ b/20-arm.patch @@ -13,13 +13,22 @@ arch/arm/mach-s3c2412/dma.c | 10 ++++---- arch/arm/mach-s3c2412/irq.c | 10 ++++---- arch/arm/mach-s3c2412/pm.c | 10 ++++---- + arch/arm/mach-s3c2412/s3c2412.c | 15 ++++++------ + arch/arm/mach-s3c2416/irq.c | 10 ++++---- + arch/arm/mach-s3c2416/pm.c | 10 ++++---- + arch/arm/mach-s3c2416/s3c2416.c | 15 ++++++------ + arch/arm/mach-s3c2440/clock.c | 14 ++++++----- arch/arm/mach-s3c2440/dma.c | 10 ++++---- + arch/arm/mach-s3c2440/irq.c | 10 ++++---- + arch/arm/mach-s3c2440/s3c2440-cpufreq.c | 18 ++++++++------ + arch/arm/mach-s3c2440/s3c2440-pll-12000000.c | 16 ++++++++----- + arch/arm/mach-s3c2440/s3c2440-pll-16934400.c | 20 ++++++++-------- arch/arm/mach-s3c2443/dma.c | 10 ++++---- arch/arm/mach-s3c64xx/dma.c | 23 +++++++++--------- arch/arm/plat-samsung/include/plat/cpu.h | 26 ++++++++++----------- arch/arm/plat-samsung/include/plat/dma-s3c24xx.h | 2 - arch/arm/plat-samsung/include/plat/pm.h | 2 - - 20 files changed, 157 insertions(+), 119 deletions(-) + 29 files changed, 229 insertions(+), 175 deletions(-) --- a/arch/arm/include/asm/mach/time.h +++ b/arch/arm/include/asm/mach/time.h @@ -683,6 +692,227 @@ } arch_initcall(s3c2412_pm_init); +--- a/arch/arm/mach-s3c2412/s3c2412.c ++++ b/arch/arm/mach-s3c2412/s3c2412.c +@@ -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); + } + + 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); + } +--- a/arch/arm/mach-s3c2416/irq.c ++++ b/arch/arm/mach-s3c2416/irq.c +@@ -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(unsign + 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 + return 0; + } + +-static struct sysdev_driver s3c2416_irq_driver = { ++static struct subsys_interface s3c2416_irq_interface = { ++ .name = "s3c2416_irq", ++ .subsys = &s3c2416_subsys, + .add = 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); +--- a/arch/arm/mach-s3c2416/pm.c ++++ b/arch/arm/mach-s3c2416/pm.c +@@ -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_dev + return 0; + } + +-static struct sysdev_driver s3c2416_pm_driver = { ++static struct subsys_interface s3c2416_pm_interface = { ++ .name = "s3c2416_pm", ++ .subsys = &s3c2416_subsys, + .add = 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); +--- a/arch/arm/mach-s3c2416/s3c2416.c ++++ b/arch/arm/mach-s3c2416/s3c2416.c +@@ -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[] + 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); + } + + core_initcall(s3c2416_core_init); +--- a/arch/arm/mach-s3c2440/clock.c ++++ b/arch/arm/mach-s3c2440/clock.c +@@ -28,7 +28,7 @@ + #include <linux/errno.h> + #include <linux/err.h> + #include <linux/device.h> +-#include <linux/sysdev.h> ++#include <linux/device.h> + #include <linux/interrupt.h> + #include <linux/ioport.h> + #include <linux/mutex.h> +@@ -108,7 +108,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 +137,15 @@ static int s3c2440_clk_add(struct sys_de + return 0; + } + +-static struct sysdev_driver s3c2440_clk_driver = { ++static struct subsys_interface s3c2440_clk_interface = { ++ .name = "s3c2440_clk", ++ .subsys = &s3c2440_subsys, + .add = 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); --- a/arch/arm/mach-s3c2440/dma.c +++ b/arch/arm/mach-s3c2440/dma.c @@ -14,7 +14,7 @@ @@ -720,6 +950,211 @@ } arch_initcall(s3c2440_dma_init); +--- a/arch/arm/mach-s3c2440/irq.c ++++ b/arch/arm/mach-s3c2440/irq.c +@@ -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_de + return 0; + } + +-static struct sysdev_driver s3c2440_irq_driver = { ++static struct subsys_interface s3c2440_irq_interface = { ++ .name = "s3c2440_irq", ++ .subsys = &s3c2440_subsys, + .add = 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); +--- a/arch/arm/mach-s3c2440/s3c2440-cpufreq.c ++++ b/arch/arm/mach-s3c2440/s3c2440-cpufreq.c +@@ -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_ + .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 sy + return s3c_cpufreq_register(&s3c2440_cpufreq_info); + } + +-static struct sysdev_driver s3c2440_cpufreq_driver = { ++static struct subsys_interface s3c2440_cpufreq_interface = { ++ .name = "s3c2440_cpufreq", ++ .subsys = &s3c2440_subsys, + .add = 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 = { ++static struct subsys_interface s3c2442_cpufreq_interface = { ++ .name = "s3c2442_cpufreq", ++ .subsys = &s3c2442_subsys, + .add = 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); +--- a/arch/arm/mach-s3c2440/s3c2440-pll-12000000.c ++++ b/arch/arm/mach-s3c2440/s3c2440-pll-12000000.c +@@ -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 s3 + { .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 + return 0; + } + +-static struct sysdev_driver s3c2440_plls12_drv = { ++static struct subsys_interface s3c2440_plls12_interface = { ++ .name = "s3c2440_plls12", ++ .subsys = &s3c2440_subsys, + .add = 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 = { ++static struct subsys_interface s3c2442_plls12_interface = { ++ .name = "s3c2442_plls12", ++ .subsys = &s3c2442_subsys, + .add = 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); + + } + +--- a/arch/arm/mach-s3c2440/s3c2440-pll-16934400.c ++++ b/arch/arm/mach-s3c2440/s3c2440-pll-16934400.c +@@ -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 s3 + { .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 + return 0; + } + +-static struct sysdev_driver s3c2440_plls169344_drv = { ++static struct subsys_interface s3c2440_plls169344_interface = { ++ .name = "s3c2440_plls169344", ++ .subsys = &s3c2440_subsys, + .add = 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 = { ++static struct subsys_interface s3c2442_plls169344_interface = { ++ .name = "s3c2442_plls169344", ++ .subsys = &s3c2442_subsys, + .add = 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); --- a/arch/arm/mach-s3c2443/dma.c +++ b/arch/arm/mach-s3c2443/dma.c @@ -14,7 +14,7 @@ |