#include <linux/types.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/dma-mapping.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/sys_soc.h>
#include <linux/fsl/mc.h>
#include <soc/fsl/dpaa2-io.h>
#include "qbman-portal.h"
#include "dpio.h"
#include "dpio-cmd.h"
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
struct dpio_priv { … };
static cpumask_var_t cpus_unused_mask;
static const struct soc_device_attribute ls1088a_soc[] = …;
static const struct soc_device_attribute ls2080a_soc[] = …;
static const struct soc_device_attribute ls2088a_soc[] = …;
static const struct soc_device_attribute lx2160a_soc[] = …;
static int dpaa2_dpio_get_cluster_sdest(struct fsl_mc_device *dpio_dev, int cpu)
{ … }
static irqreturn_t dpio_irq_handler(int irq_num, void *arg)
{ … }
static void unregister_dpio_irq_handlers(struct fsl_mc_device *dpio_dev)
{ … }
static int register_dpio_irq_handlers(struct fsl_mc_device *dpio_dev, int cpu)
{ … }
static int dpaa2_dpio_probe(struct fsl_mc_device *dpio_dev)
{ … }
static void dpio_teardown_irqs(struct fsl_mc_device *dpio_dev)
{ … }
static void dpaa2_dpio_remove(struct fsl_mc_device *dpio_dev)
{ … }
static const struct fsl_mc_device_id dpaa2_dpio_match_id_table[] = …;
static struct fsl_mc_driver dpaa2_dpio_driver = …;
static int dpio_driver_init(void)
{ … }
static void dpio_driver_exit(void)
{ … }
module_init(…) …;
module_exit(dpio_driver_exit);