summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2011-12-19 19:13:33 +0100
committerKay Sievers <kay.sievers@vrfy.org>2011-12-19 19:13:33 +0100
commit35ca1766193d2a0c41e605b4e74a277c5ba4a709 (patch)
tree9f04e6db4ff56a0c5c8926f02d9b697348105fab
parent13bb0455e991f4931a17dda081c18f567095acf8 (diff)
downloadpatches-35ca1766193d2a0c41e605b4e74a277c5ba4a709.tar.gz
more ARM
-rw-r--r--20-arm.patch437
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 @@