linux/drivers/irqchip/irq-gic-common.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Copyright (C) 2002 ARM Limited, All Rights Reserved.
   4 */
   5
   6#ifndef _IRQ_GIC_COMMON_H
   7#define _IRQ_GIC_COMMON_H
   8
   9#include <linux/of.h>
  10#include <linux/irqdomain.h>
  11#include <linux/irqchip/arm-gic-common.h>
  12
  13struct gic_quirk {
  14        const char *desc;
  15        const char *compatible;
  16        bool (*init)(void *data);
  17        u32 iidr;
  18        u32 mask;
  19};
  20
  21int gic_configure_irq(unsigned int irq, unsigned int type,
  22                       void __iomem *base, void (*sync_access)(void));
  23void gic_dist_config(void __iomem *base, int gic_irqs,
  24                     void (*sync_access)(void));
  25void gic_cpu_config(void __iomem *base, int nr, void (*sync_access)(void));
  26void gic_enable_quirks(u32 iidr, const struct gic_quirk *quirks,
  27                void *data);
  28void gic_enable_of_quirks(const struct device_node *np,
  29                          const struct gic_quirk *quirks, void *data);
  30
  31#endif /* _IRQ_GIC_COMMON_H */
  32