linux/drivers/gpio/gpio-rda.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * RDA Micro GPIO driver
 *
 * Copyright (C) 2012 RDA Micro Inc.
 * Copyright (C) 2019 Manivannan Sadhasivam
 */

#include <linux/bitops.h>
#include <linux/gpio/driver.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/spinlock.h>

#define RDA_GPIO_OEN_VAL
#define RDA_GPIO_OEN_SET_OUT
#define RDA_GPIO_OEN_SET_IN
#define RDA_GPIO_VAL
#define RDA_GPIO_SET
#define RDA_GPIO_CLR
#define RDA_GPIO_INT_CTRL_SET
#define RDA_GPIO_INT_CTRL_CLR
#define RDA_GPIO_INT_CLR
#define RDA_GPIO_INT_STATUS

#define RDA_GPIO_IRQ_RISE_SHIFT
#define RDA_GPIO_IRQ_FALL_SHIFT
#define RDA_GPIO_DEBOUCE_SHIFT
#define RDA_GPIO_LEVEL_SHIFT

#define RDA_GPIO_IRQ_MASK

/* Each bank consists of 32 GPIOs */
#define RDA_GPIO_BANK_NR

struct rda_gpio {};

static inline void rda_gpio_update(struct gpio_chip *chip, unsigned int offset,
				   u16 reg, int val)
{}

static void rda_gpio_irq_mask(struct irq_data *data)
{}

static void rda_gpio_irq_ack(struct irq_data *data)
{}

static int rda_gpio_set_irq(struct gpio_chip *chip, u32 offset,
			    unsigned int flow_type)
{}

static void rda_gpio_irq_unmask(struct irq_data *data)
{}

static int rda_gpio_irq_set_type(struct irq_data *data, unsigned int flow_type)
{}

static void rda_gpio_irq_handler(struct irq_desc *desc)
{}

static const struct irq_chip rda_gpio_irq_chip =;

static int rda_gpio_probe(struct platform_device *pdev)
{}

static const struct of_device_id rda_gpio_of_match[] =;
MODULE_DEVICE_TABLE(of, rda_gpio_of_match);

static struct platform_driver rda_gpio_driver =;

module_platform_driver_probe();

MODULE_DESCRIPTION();
MODULE_AUTHOR();