arm: convert sysdev_class to a regular subsystem
[sfrench/cifs-2.6.git] / arch / arm / mach-s3c2440 / irq.c
index eb1cc0f0705e348905d982004fef868602bb3521..4fee9bc6bcb51e5f0d025fb34912b8a455ceeb93 100644 (file)
@@ -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);