linux/drivers/gpio/gpio-104-idio-16.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * GPIO driver for the ACCES 104-IDIO-16 family
 * Copyright (C) 2015 William Breathitt Gray
 *
 * This driver supports the following ACCES devices: 104-IDIO-16,
 * 104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, and 104-IDO-8.
 */
#include <linux/bits.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/ioport.h>
#include <linux/irq.h>
#include <linux/isa.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/regmap.h>
#include <linux/types.h>

#include "gpio-idio-16.h"

#define IDIO_16_EXTENT
#define MAX_NUM_IDIO_16

static unsigned int base[MAX_NUM_IDIO_16];
static unsigned int num_idio_16;
module_param_hw_array(base, uint, ioport, &num_idio_16, 0);
MODULE_PARM_DESC();

static unsigned int irq[MAX_NUM_IDIO_16];
static unsigned int num_irq;
module_param_hw_array(irq, uint, irq, &num_irq, 0);
MODULE_PARM_DESC();

static const struct regmap_range idio_16_wr_ranges[] =;
static const struct regmap_range idio_16_rd_ranges[] =;
static const struct regmap_range idio_16_precious_ranges[] =;
static const struct regmap_access_table idio_16_wr_table =;
static const struct regmap_access_table idio_16_rd_table =;
static const struct regmap_access_table idio_16_precious_table =;
static const struct regmap_config idio_16_regmap_config =;

/* Only input lines (GPIO 16-31) support interrupts */
#define IDIO_16_REGMAP_IRQ(_id)

static const struct regmap_irq idio_16_regmap_irqs[] =;

static int idio_16_probe(struct device *dev, unsigned int id)
{}

static struct isa_driver idio_16_driver =;

module_isa_driver_with_irq(idio_16_driver, num_idio_16, num_irq);

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_IMPORT_NS();