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

// SPDX-License-Identifier: GPL-2.0
/*
 * GPIO library for the ACCES IDIO-16 family
 * Copyright (C) 2022 William Breathitt Gray
 */
#include <linux/bits.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/export.h>
#include <linux/gpio/regmap.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/types.h>

#include "gpio-idio-16.h"

#define DEFAULT_SYMBOL_NAMESPACE

#define IDIO_16_DAT_BASE
#define IDIO_16_OUT_BASE
#define IDIO_16_IN_BASE
#define IDIO_16_CLEAR_INTERRUPT
#define IDIO_16_ENABLE_IRQ
#define IDIO_16_DEACTIVATE_INPUT_FILTERS
#define IDIO_16_DISABLE_IRQ
#define IDIO_16_INTERRUPT_STATUS

#define IDIO_16_NGPIO
#define IDIO_16_NGPIO_PER_REG
#define IDIO_16_REG_STRIDE

struct idio_16_data {};

static int idio_16_handle_mask_sync(const int index, const unsigned int mask_buf_def,
				    const unsigned int mask_buf, void *const irq_drv_data)
{}

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

static const char *idio_16_names[IDIO_16_NGPIO] =;

/**
 * devm_idio_16_regmap_register - Register an IDIO-16 GPIO device
 * @dev:	device that is registering this IDIO-16 GPIO device
 * @config:	configuration for idio_16_regmap_config
 *
 * Registers an IDIO-16 GPIO device. Returns 0 on success and negative error number on failure.
 */
int devm_idio_16_regmap_register(struct device *const dev,
				 const struct idio_16_regmap_config *const config)
{}
EXPORT_SYMBOL_GPL();

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