linux/drivers/gpio/gpio-ath79.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 *  Atheros AR71XX/AR724X/AR913X GPIO API support
 *
 *  Copyright (C) 2015 Alban Bedel <[email protected]>
 *  Copyright (C) 2010-2011 Jaiganesh Narayanan <[email protected]>
 *  Copyright (C) 2008-2011 Gabor Juhos <[email protected]>
 *  Copyright (C) 2008 Imre Kaloz <[email protected]>
 */

#include <linux/gpio/driver.h>
#include <linux/platform_device.h>
#include <linux/platform_data/gpio-ath79.h>
#include <linux/of.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/irq.h>

#define AR71XX_GPIO_REG_OE
#define AR71XX_GPIO_REG_IN
#define AR71XX_GPIO_REG_SET
#define AR71XX_GPIO_REG_CLEAR

#define AR71XX_GPIO_REG_INT_ENABLE
#define AR71XX_GPIO_REG_INT_TYPE
#define AR71XX_GPIO_REG_INT_POLARITY
#define AR71XX_GPIO_REG_INT_PENDING
#define AR71XX_GPIO_REG_INT_MASK

struct ath79_gpio_ctrl {};

static struct ath79_gpio_ctrl *irq_data_to_ath79_gpio(struct irq_data *data)
{}

static u32 ath79_gpio_read(struct ath79_gpio_ctrl *ctrl, unsigned reg)
{}

static void ath79_gpio_write(struct ath79_gpio_ctrl *ctrl,
			unsigned reg, u32 val)
{}

static bool ath79_gpio_update_bits(
	struct ath79_gpio_ctrl *ctrl, unsigned reg, u32 mask, u32 bits)
{}

static void ath79_gpio_irq_unmask(struct irq_data *data)
{}

static void ath79_gpio_irq_mask(struct irq_data *data)
{}

static void ath79_gpio_irq_enable(struct irq_data *data)
{}

static void ath79_gpio_irq_disable(struct irq_data *data)
{}

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

static const struct irq_chip ath79_gpio_irqchip =;

static void ath79_gpio_irq_handler(struct irq_desc *desc)
{}

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

static int ath79_gpio_probe(struct platform_device *pdev)
{}

static struct platform_driver ath79_gpio_driver =;

module_platform_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();