diff options
Diffstat (limited to 'arch/mips/kernel/i8259.c')
| -rw-r--r-- | arch/mips/kernel/i8259.c | 22 | 
1 files changed, 6 insertions, 16 deletions
| diff --git a/arch/mips/kernel/i8259.c b/arch/mips/kernel/i8259.c index c018696765d4..5c74eb797f08 100644 --- a/arch/mips/kernel/i8259.c +++ b/arch/mips/kernel/i8259.c @@ -14,7 +14,7 @@  #include <linux/interrupt.h>  #include <linux/kernel.h>  #include <linux/spinlock.h> -#include <linux/sysdev.h> +#include <linux/syscore_ops.h>  #include <linux/irq.h>  #include <asm/i8259.h> @@ -215,14 +215,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,26 +231,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 sys_device device_i8259A = { -	.id	= 0, -	.cls	= &i8259_sysdev_class, -}; -  static int __init i8259A_init_sysfs(void)  { -	int error = sysdev_class_register(&i8259_sysdev_class); -	if (!error) -		error = sysdev_register(&device_i8259A); -	return error; +	register_syscore_ops(&i8259_syscore_ops); +	return 0;  }  device_initcall(i8259A_init_sysfs); |