Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
[sfrench/cifs-2.6.git] / arch / arm / mach-s3c2410 / s3c244x-irq.c
index 2aadca1ce7ebb6412edf59231b816b9864fc2cd4..146f2109dd905bcff124151fea8573428a8a68a3 100644 (file)
@@ -1,4 +1,4 @@
-/* linux/arch/arm/mach-s3c2410/s3c2440-irq.c
+/* linux/arch/arm/mach-s3c2410/s3c244x-irq.c
  *
  * Copyright (c) 2003,2004 Simtec Electronics
  *     Ben Dooks <ben@simtec.co.uk>
@@ -17,9 +17,6 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
- * Changelog:
- *     25-Jul-2005 BJD         Split from irq.c
- *
 */
 
 #include <linux/init.h>
@@ -45,8 +42,7 @@
 /* camera irq */
 
 static void s3c_irq_demux_cam(unsigned int irq,
-                             struct irqdesc *desc,
-                             struct pt_regs *regs)
+                             struct irqdesc *desc)
 {
        unsigned int subsrc, submsk;
        struct irqdesc *mydesc;
@@ -64,11 +60,11 @@ static void s3c_irq_demux_cam(unsigned int irq,
        if (subsrc != 0) {
                if (subsrc & 1) {
                        mydesc = irq_desc + IRQ_S3C2440_CAM_C;
-                       desc_handle_irq(IRQ_S3C2440_CAM_C, mydesc, regs);
+                       desc_handle_irq(IRQ_S3C2440_CAM_C, mydesc);
                }
                if (subsrc & 2) {
                        mydesc = irq_desc + IRQ_S3C2440_CAM_P;
-                       desc_handle_irq(IRQ_S3C2440_CAM_P, mydesc, regs);
+                       desc_handle_irq(IRQ_S3C2440_CAM_P, mydesc);
                }
        }
 }
@@ -122,21 +118,29 @@ static int s3c244x_irq_add(struct sys_device *sysdev)
        return 0;
 }
 
-static struct sysdev_driver s3c244x_irq_driver = {
-       .add    = s3c244x_irq_add,
+static struct sysdev_driver s3c2440_irq_driver = {
+       .add            = s3c244x_irq_add,
+       .suspend        = s3c24xx_irq_suspend,
+       .resume         = s3c24xx_irq_resume,
 };
 
 static int s3c2440_irq_init(void)
 {
-       return sysdev_driver_register(&s3c2440_sysclass, &s3c244x_irq_driver);
+       return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_irq_driver);
 }
 
 arch_initcall(s3c2440_irq_init);
 
+static struct sysdev_driver s3c2442_irq_driver = {
+       .add            = s3c244x_irq_add,
+       .suspend        = s3c24xx_irq_suspend,
+       .resume         = s3c24xx_irq_resume,
+};
+
 
 static int s3c2442_irq_init(void)
 {
-       return sysdev_driver_register(&s3c2442_sysclass, &s3c244x_irq_driver);
+       return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_irq_driver);
 }
 
 arch_initcall(s3c2442_irq_init);