linux/drivers/uio/uio_dmem_genirq.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * drivers/uio/uio_dmem_genirq.c
 *
 * Userspace I/O platform driver with generic IRQ handling code.
 *
 * Copyright (C) 2012 Damian Hobson-Garcia
 *
 * Based on uio_pdrv_genirq.c by Magnus Damm
 */

#include <linux/platform_device.h>
#include <linux/uio_driver.h>
#include <linux/spinlock.h>
#include <linux/bitops.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/platform_data/uio_dmem_genirq.h>
#include <linux/stringify.h>
#include <linux/pm_runtime.h>
#include <linux/dma-mapping.h>
#include <linux/slab.h>
#include <linux/irq.h>

#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/of_address.h>

#define DRIVER_NAME
#define DMEM_MAP_ERROR

struct uio_dmem_genirq_platdata {};

/* Bits in uio_dmem_genirq_platdata.flags */
enum {};

static int uio_dmem_genirq_open(struct uio_info *info, struct inode *inode)
{}

static int uio_dmem_genirq_release(struct uio_info *info, struct inode *inode)
{}

static irqreturn_t uio_dmem_genirq_handler(int irq, struct uio_info *dev_info)
{}

static int uio_dmem_genirq_irqcontrol(struct uio_info *dev_info, s32 irq_on)
{}

static void uio_dmem_genirq_pm_disable(void *data)
{}

static int uio_dmem_genirq_probe(struct platform_device *pdev)
{}

static int uio_dmem_genirq_runtime_nop(struct device *dev)
{}

static const struct dev_pm_ops uio_dmem_genirq_dev_pm_ops =;

#ifdef CONFIG_OF
static const struct of_device_id uio_of_genirq_match[] =;
MODULE_DEVICE_TABLE(of, uio_of_genirq_match);
#endif

static struct platform_driver uio_dmem_genirq =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_ALIAS();