linux/drivers/gpio/gpio-104-idi-48.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * GPIO driver for the ACCES 104-IDI-48 family
 * Copyright (C) 2015 William Breathitt Gray
 *
 * This driver supports the following ACCES devices: 104-IDI-48A,
 * 104-IDI-48AC, 104-IDI-48B, and 104-IDI-48BC.
 */
#include <linux/bits.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/gpio/regmap.h>
#include <linux/interrupt.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>

#define IDI_48_EXTENT
#define MAX_NUM_IDI_48

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

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

#define IDI48_IRQ_STATUS
#define IDI48_IRQ_ENABLE

static int idi_48_reg_mask_xlate(struct gpio_regmap *gpio, unsigned int base,
				 unsigned int offset, unsigned int *reg,
				 unsigned int *mask)
{}

static const struct regmap_range idi_48_wr_ranges[] =;
static const struct regmap_range idi_48_rd_ranges[] =;
static const struct regmap_range idi_48_precious_ranges[] =;
static const struct regmap_access_table idi_48_wr_table =;
static const struct regmap_access_table idi_48_rd_table =;
static const struct regmap_access_table idi_48_precious_table =;
static const struct regmap_config idi48_regmap_config =;

#define IDI48_NGPIO

#define IDI48_REGMAP_IRQ(_id)

static const struct regmap_irq idi48_regmap_irqs[IDI48_NGPIO] =;

static const char *idi48_names[IDI48_NGPIO] =;

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

static struct isa_driver idi_48_driver =;
module_isa_driver_with_irq(idi_48_driver, num_idi_48, num_irq);

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