linux-mips
[Top] [All Lists]

[PATCH] MIPS:i8259.c remove resume and shutdown to syscore_ops

To: Ralf Baechle <ralf@linux-mips.org>, Thomas Gleixner <tglx@linutronix.de>
Subject: [PATCH] MIPS:i8259.c remove resume and shutdown to syscore_ops
From: Pengfei Zhang <zoppof.zhang@gmail.com>
Date: Tue, 24 May 2011 20:19:18 +0800
Cc: linux-mips@linux-mips.org, linux-kernel@vger.kernel.org, Pengfei Zhang <zoppof.zhang@gmail.com>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:cc:subject:date:message-id:x-mailer; bh=wBSEePNwtVpXoPKZRv4gPUOmVzTPsuKSDfibObidilg=; b=Ku9KUpvxv+AbWU6CSgQoUkQ/3fe7i/WuyAb3r1UmkCbfBHv/mNQwm5HLEnytkkJxeu hOq2aRd/xkhcpGX5RDUFeEA4TvTAcgI7UeNeZEwAgV0lLNOZBNvzAvLN8WLtfR5VthUM zn01y+0pBJUYN1Ba1nAk+SHZ2VuD10MU3eXRE=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=pB2e3uModwfXet52A9tBMbrEOJ7q797l0WdstL3hOUc812xjXPDJYpC0be3aiEz0m5 /Ro32oOAvuN0a5+2xAaVXYTrrExq7jfeNO3RYphyo3QSZ+T2P+3GGjraQbi/BOXrAljn ar5+cXDI6iwLcl2hTD/DxkcM0I/dHFSJwnG2Y=
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Remove the resume and shutdown of i8259A from the sysdev_class
to the syscore_ops since these members had removed from the
structure sysdev_class.

Signed-off-by: Pengfei Zhang <zoppof.zhang@gmail.com>
---
 arch/mips/kernel/i8259.c |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/arch/mips/kernel/i8259.c b/arch/mips/kernel/i8259.c
index c018696..a74a8ea 100644
--- a/arch/mips/kernel/i8259.c
+++ b/arch/mips/kernel/i8259.c
@@ -16,6 +16,7 @@
 #include <linux/spinlock.h>
 #include <linux/sysdev.h>
 #include <linux/irq.h>
+#include <linux/syscore_ops.h>
 
 #include <asm/i8259.h>
 #include <asm/io.h>
@@ -215,14 +216,13 @@ spurious_8259A_irq:
        }
 }
 
-static int i8259A_resume(struct sys_device *dev)
+static void i8259A_resume(void)
 {
        if (i8259A_auto_eoi >= 0)
                init_8259A(i8259A_auto_eoi);
-       return 0;
 }
 
-static int i8259A_shutdown(struct sys_device *dev)
+static void i8259A_shutdown(void)
 {
        /* Put the i8259A into a quiescent state that
         * the kernel initialization code can get it
@@ -232,15 +232,17 @@ static int i8259A_shutdown(struct sys_device *dev)
                outb(0xff, PIC_MASTER_IMR);     /* mask all of 8259A-1 */
                outb(0xff, PIC_SLAVE_IMR);      /* mask all of 8259A-1 */
        }
-       return 0;
 }
 
-static struct sysdev_class i8259_sysdev_class = {
-       .name = "i8259",
+static struct syscore_ops i8259_syscore_ops = {
        .resume = i8259A_resume,
        .shutdown = i8259A_shutdown,
 };
 
+static struct sysdev_class i8259_sysdev_class = {
+       .name = "i8259",
+};
+
 static struct sys_device device_i8259A = {
        .id     = 0,
        .cls    = &i8259_sysdev_class,
@@ -248,7 +250,11 @@ static struct sys_device device_i8259A = {
 
 static int __init i8259A_init_sysfs(void)
 {
-       int error = sysdev_class_register(&i8259_sysdev_class);
+       int error;
+
+       register_syscore_ops(&i8259_syscore_ops);
+
+       error = sysdev_class_register(&i8259_sysdev_class);
        if (!error)
                error = sysdev_register(&device_i8259A);
        return error;
-- 
1.7.4.1


<Prev in Thread] Current Thread [Next in Thread>