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    [W:0.022 / U:0.488 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site