linux/drivers/pci/controller/pcie-altera-msi.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Altera PCIe MSI support
 *
 * Author: Ley Foon Tan <[email protected]>
 *
 * Copyright Altera Corporation (C) 2013-2015. All rights reserved
 */

#include <linux/interrupt.h>
#include <linux/irqchip/chained_irq.h>
#include <linux/irqdomain.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/msi.h>
#include <linux/of_address.h>
#include <linux/of_pci.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
#include <linux/slab.h>

#define MSI_STATUS
#define MSI_ERROR
#define MSI_INTMASK

#define MAX_MSI_VECTORS

struct altera_msi {};

static inline void msi_writel(struct altera_msi *msi, const u32 value,
			      const u32 reg)
{}

static inline u32 msi_readl(struct altera_msi *msi, const u32 reg)
{}

static void altera_msi_isr(struct irq_desc *desc)
{}

static struct irq_chip altera_msi_irq_chip =;

static struct msi_domain_info altera_msi_domain_info =;

static void altera_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
{}

static int altera_msi_set_affinity(struct irq_data *irq_data,
				   const struct cpumask *mask, bool force)
{}

static struct irq_chip altera_msi_bottom_irq_chip =;

static int altera_irq_domain_alloc(struct irq_domain *domain, unsigned int virq,
				   unsigned int nr_irqs, void *args)
{}

static void altera_irq_domain_free(struct irq_domain *domain,
				   unsigned int virq, unsigned int nr_irqs)
{}

static const struct irq_domain_ops msi_domain_ops =;

static int altera_allocate_domains(struct altera_msi *msi)
{}

static void altera_free_domains(struct altera_msi *msi)
{}

static void altera_msi_remove(struct platform_device *pdev)
{}

static int altera_msi_probe(struct platform_device *pdev)
{}

static const struct of_device_id altera_msi_of_match[] =;

static struct platform_driver altera_msi_driver =;

static int __init altera_msi_init(void)
{}

static void __exit altera_msi_exit(void)
{}

subsys_initcall(altera_msi_init);
MODULE_DEVICE_TABLE(of, altera_msi_of_match);
module_exit(altera_msi_exit);
MODULE_DESCRIPTION();
MODULE_LICENSE();