linux/drivers/uio/uio_pdrv_genirq.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * drivers/uio/uio_pdrv_genirq.c
 *
 * Userspace I/O platform driver with generic IRQ handling code.
 *
 * Copyright (C) 2008 Magnus Damm
 *
 * Based on uio_pdrv.c by Uwe Kleine-Koenig,
 * Copyright (C) 2008 by Digi International Inc.
 * All rights reserved.
 */

#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/stringify.h>
#include <linux/pm_runtime.h>
#include <linux/slab.h>
#include <linux/irq.h>

#include <linux/of.h>
#include <linux/mod_devicetable.h>
#include <linux/property.h>

#define DRIVER_NAME

struct uio_pdrv_genirq_platdata {};

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

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

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

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

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

static void uio_pdrv_genirq_cleanup(void *data)
{}

static int uio_pdrv_genirq_probe(struct platform_device *pdev)
{}

static int uio_pdrv_genirq_runtime_nop(struct device *dev)
{}

static const struct dev_pm_ops uio_pdrv_genirq_dev_pm_ops =;

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

static struct platform_driver uio_pdrv_genirq =;

module_platform_driver();

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