linux/drivers/gpio/gpio-i8255.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Intel 8255 Programmable Peripheral Interface
 * 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 "gpio-i8255.h"

#define I8255_NGPIO
#define I8255_NGPIO_PER_REG
#define I8255_CONTROL_PORTC_LOWER_DIRECTION
#define I8255_CONTROL_PORTB_DIRECTION
#define I8255_CONTROL_PORTC_UPPER_DIRECTION
#define I8255_CONTROL_PORTA_DIRECTION
#define I8255_CONTROL_MODE_SET
#define I8255_PORTA
#define I8255_PORTB
#define I8255_PORTC
#define I8255_CONTROL
#define I8255_REG_DAT_BASE
#define I8255_REG_DIR_IN_BASE

static int i8255_direction_mask(const unsigned int offset)
{}

static int i8255_ppi_init(struct regmap *const map, const unsigned int base)
{}

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

/**
 * devm_i8255_regmap_register - Register an i8255 GPIO controller
 * @dev:	device that is registering this i8255 GPIO device
 * @config:	configuration for i8255_regmap_config
 *
 * Registers an Intel 8255 Programmable Peripheral Interface GPIO controller.
 * Returns 0 on success and negative error number on failure.
 */
int devm_i8255_regmap_register(struct device *const dev,
			       const struct i8255_regmap_config *const config)
{}
EXPORT_SYMBOL_NS_GPL();

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