linux/drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c

// SPDX-License-Identifier: GPL-2.0
// Copyright (C) 2022 Microchip Technology Inc.
// pci1xxxx gpio driver

#include <linux/module.h>
#include <linux/spinlock.h>
#include <linux/gpio/driver.h>
#include <linux/bio.h>
#include <linux/mutex.h>
#include <linux/kthread.h>
#include <linux/interrupt.h>

#include "mchp_pci1xxxx_gp.h"

#define PCI1XXXX_NR_PINS
#define PERI_GEN_RESET
#define OUT_EN_OFFSET(x)
#define INP_EN_OFFSET(x)
#define OUT_OFFSET(x)
#define INP_OFFSET(x)
#define PULLUP_OFFSET(x)
#define PULLDOWN_OFFSET(x)
#define OPENDRAIN_OFFSET(x)
#define WAKEMASK_OFFSET(x)
#define MODE_OFFSET(x)
#define INTR_LO_TO_HI_EDGE_CONFIG(x)
#define INTR_HI_TO_LO_EDGE_CONFIG(x)
#define INTR_LEVEL_CONFIG_OFFSET(x)
#define INTR_LEVEL_MASK_OFFSET(x)
#define INTR_STAT_OFFSET(x)
#define DEBOUNCE_OFFSET(x)
#define PIO_GLOBAL_CONFIG_OFFSET
#define PIO_PCI_CTRL_REG_OFFSET
#define INTR_MASK_OFFSET(x)
#define INTR_STATUS_OFFSET(x)

struct pci1xxxx_gpio {};

static int pci1xxxx_gpio_get_direction(struct gpio_chip *gpio, unsigned int nr)
{}

static inline void pci1xxx_assign_bit(void __iomem *base_addr, unsigned int reg_offset,
				      unsigned int bitpos, bool set)
{}

static int pci1xxxx_gpio_direction_input(struct gpio_chip *gpio, unsigned int nr)
{}

static int pci1xxxx_gpio_get(struct gpio_chip *gpio, unsigned int nr)
{}

static int pci1xxxx_gpio_direction_output(struct gpio_chip *gpio,
					  unsigned int nr, int val)
{}

static void pci1xxxx_gpio_set(struct gpio_chip *gpio,
			      unsigned int nr, int val)
{}

static int pci1xxxx_gpio_set_config(struct gpio_chip *gpio, unsigned int offset,
				    unsigned long config)
{}

static void pci1xxxx_gpio_irq_ack(struct irq_data *data)
{}

static void pci1xxxx_gpio_irq_set_mask(struct irq_data *data, bool set)
{}

static void pci1xxxx_gpio_irq_mask(struct irq_data *data)
{}

static void pci1xxxx_gpio_irq_unmask(struct irq_data *data)
{}

static int pci1xxxx_gpio_set_type(struct irq_data *data, unsigned int trigger_type)
{}

static irqreturn_t pci1xxxx_gpio_irq_handler(int irq, void *dev_id)
{}

static const struct irq_chip pci1xxxx_gpio_irqchip =;

static int pci1xxxx_gpio_suspend(struct device *dev)
{}

static int pci1xxxx_gpio_resume(struct device *dev)
{}

static int pci1xxxx_gpio_setup(struct pci1xxxx_gpio *priv, int irq)
{}

static int pci1xxxx_gpio_probe(struct auxiliary_device *aux_dev,
			       const struct auxiliary_device_id *id)

{}

static DEFINE_SIMPLE_DEV_PM_OPS(pci1xxxx_gpio_pm_ops, pci1xxxx_gpio_suspend, pci1xxxx_gpio_resume);

static const struct auxiliary_device_id pci1xxxx_gpio_auxiliary_id_table[] =;
MODULE_DEVICE_TABLE(auxiliary, pci1xxxx_gpio_auxiliary_id_table);

static struct auxiliary_driver pci1xxxx_gpio_driver =;
module_auxiliary_driver();

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