lkml.org 
[lkml]   [2011]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] MIPS:i8259.c remove resume and shutdown to syscore_ops
Date
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


\
 
 \ /
  Last update: 2011-05-24 14:23    [from the cache]
©2003-2011 Jasper Spaans