linux/drivers/gpio/gpio-sifive.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2019 SiFive
 */

#include <linux/bitops.h>
#include <linux/device.h>
#include <linux/errno.h>
#include <linux/gpio/driver.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/regmap.h>

#define SIFIVE_GPIO_INPUT_VAL
#define SIFIVE_GPIO_INPUT_EN
#define SIFIVE_GPIO_OUTPUT_EN
#define SIFIVE_GPIO_OUTPUT_VAL
#define SIFIVE_GPIO_RISE_IE
#define SIFIVE_GPIO_RISE_IP
#define SIFIVE_GPIO_FALL_IE
#define SIFIVE_GPIO_FALL_IP
#define SIFIVE_GPIO_HIGH_IE
#define SIFIVE_GPIO_HIGH_IP
#define SIFIVE_GPIO_LOW_IE
#define SIFIVE_GPIO_LOW_IP
#define SIFIVE_GPIO_OUTPUT_XOR

#define SIFIVE_GPIO_MAX

struct sifive_gpio {};

static void sifive_gpio_set_ie(struct sifive_gpio *chip, unsigned int offset)
{}

static int sifive_gpio_irq_set_type(struct irq_data *d, unsigned int trigger)
{}

static void sifive_gpio_irq_enable(struct irq_data *d)
{}

static void sifive_gpio_irq_disable(struct irq_data *d)
{}

static void sifive_gpio_irq_eoi(struct irq_data *d)
{}

static int sifive_gpio_irq_set_affinity(struct irq_data *data,
					const struct cpumask *dest,
					bool force)
{}

static const struct irq_chip sifive_gpio_irqchip =;

static int sifive_gpio_child_to_parent_hwirq(struct gpio_chip *gc,
					     unsigned int child,
					     unsigned int child_type,
					     unsigned int *parent,
					     unsigned int *parent_type)
{}

static const struct regmap_config sifive_gpio_regmap_config =;

static int sifive_gpio_probe(struct platform_device *pdev)
{}

static const struct of_device_id sifive_gpio_match[] =;

static struct platform_driver sifive_gpio_driver =;
module_platform_driver()

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