lkml.org 
[lkml]   [2019]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/5 v6] irqchip: ingenic: Drop redundant irq_suspend / irq_resume functions
    Date
    From: Paul Cercueil <paul@crapouillou.net>

    The same behaviour can be obtained by using the IRQCHIP_MASK_ON_SUSPEND
    flag on the IRQ chip.

    Signed-off-by: Paul Cercueil <paul@crapouillou.net>
    Signed-off-by: Zhou Yanjie <zhouyanjie@zoho.com>
    ---
    drivers/irqchip/irq-ingenic.c | 24 +-----------------------
    include/linux/irqchip/ingenic.h | 14 --------------
    2 files changed, 1 insertion(+), 37 deletions(-)
    delete mode 100644 include/linux/irqchip/ingenic.h

    diff --git a/drivers/irqchip/irq-ingenic.c b/drivers/irqchip/irq-ingenic.c
    index f126255..06fa810 100644
    --- a/drivers/irqchip/irq-ingenic.c
    +++ b/drivers/irqchip/irq-ingenic.c
    @@ -10,7 +10,6 @@
    #include <linux/interrupt.h>
    #include <linux/ioport.h>
    #include <linux/irqchip.h>
    -#include <linux/irqchip/ingenic.h>
    #include <linux/of_address.h>
    #include <linux/of_irq.h>
    #include <linux/timex.h>
    @@ -50,26 +49,6 @@ static irqreturn_t intc_cascade(int irq, void *data)
    return IRQ_HANDLED;
    }

    -static void intc_irq_set_mask(struct irq_chip_generic *gc, uint32_t mask)
    -{
    - struct irq_chip_regs *regs = &gc->chip_types->regs;
    -
    - writel(mask, gc->reg_base + regs->enable);
    - writel(~mask, gc->reg_base + regs->disable);
    -}
    -
    -void ingenic_intc_irq_suspend(struct irq_data *data)
    -{
    - struct irq_chip_generic *gc = irq_data_get_irq_chip_data(data);
    - intc_irq_set_mask(gc, gc->wake_active);
    -}
    -
    -void ingenic_intc_irq_resume(struct irq_data *data)
    -{
    - struct irq_chip_generic *gc = irq_data_get_irq_chip_data(data);
    - intc_irq_set_mask(gc, gc->mask_cache);
    -}
    -
    static struct irqaction intc_cascade_action = {
    .handler = intc_cascade,
    .name = "SoC intc cascade interrupt",
    @@ -127,8 +106,7 @@ static int __init ingenic_intc_of_init(struct device_node *node,
    ct->chip.irq_mask = irq_gc_mask_disable_reg;
    ct->chip.irq_mask_ack = irq_gc_mask_disable_reg;
    ct->chip.irq_set_wake = irq_gc_set_wake;
    - ct->chip.irq_suspend = ingenic_intc_irq_suspend;
    - ct->chip.irq_resume = ingenic_intc_irq_resume;
    + ct->chip.flags = IRQCHIP_MASK_ON_SUSPEND;

    irq_setup_generic_chip(gc, IRQ_MSK(32), 0, 0,
    IRQ_NOPROBE | IRQ_LEVEL);
    diff --git a/include/linux/irqchip/ingenic.h b/include/linux/irqchip/ingenic.h
    deleted file mode 100644
    index 1465588..00000000
    --- a/include/linux/irqchip/ingenic.h
    +++ /dev/null
    @@ -1,14 +0,0 @@
    -/* SPDX-License-Identifier: GPL-2.0-or-later */
    -/*
    - * Copyright (C) 2010, Lars-Peter Clausen <lars@metafoo.de>
    - */
    -
    -#ifndef __LINUX_IRQCHIP_INGENIC_H__
    -#define __LINUX_IRQCHIP_INGENIC_H__
    -
    -#include <linux/irq.h>
    -
    -extern void ingenic_intc_irq_suspend(struct irq_data *data);
    -extern void ingenic_intc_irq_resume(struct irq_data *data);
    -
    -#endif
    --
    2.7.4

    \
     
     \ /
      Last update: 2019-10-12 07:56    [W:3.979 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site