linux/drivers/gpio/gpio-em.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Emma Mobile GPIO Support - GIO
 *
 *  Copyright (C) 2012 Magnus Damm
 */

#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/spinlock.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/bitops.h>
#include <linux/err.h>
#include <linux/gpio/driver.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/pinctrl/consumer.h>

struct em_gio_priv {};

#define GIO_E1
#define GIO_E0
#define GIO_EM
#define GIO_OL
#define GIO_OH
#define GIO_I
#define GIO_IIA
#define GIO_IEN
#define GIO_IDS
#define GIO_IIM
#define GIO_RAW
#define GIO_MST
#define GIO_IIR

#define GIO_IDT0
#define GIO_IDT1
#define GIO_IDT2
#define GIO_IDT3
#define GIO_RAWBL
#define GIO_RAWBH
#define GIO_IRBL
#define GIO_IRBH

#define GIO_IDT(n)

static inline unsigned long em_gio_read(struct em_gio_priv *p, int offs)
{}

static inline void em_gio_write(struct em_gio_priv *p, int offs,
				unsigned long value)
{}

static void em_gio_irq_disable(struct irq_data *d)
{}

static void em_gio_irq_enable(struct irq_data *d)
{}

static int em_gio_irq_reqres(struct irq_data *d)
{}

static void em_gio_irq_relres(struct irq_data *d)
{}


#define GIO_ASYNC(x)

static unsigned char em_gio_sense_table[IRQ_TYPE_SENSE_MASK + 1] =;

static int em_gio_irq_set_type(struct irq_data *d, unsigned int type)
{}

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

static inline struct em_gio_priv *gpio_to_priv(struct gpio_chip *chip)
{}

static int em_gio_direction_input(struct gpio_chip *chip, unsigned offset)
{}

static int em_gio_get(struct gpio_chip *chip, unsigned offset)
{}

static void __em_gio_set(struct gpio_chip *chip, unsigned int reg,
			 unsigned shift, int value)
{}

static void em_gio_set(struct gpio_chip *chip, unsigned offset, int value)
{}

static int em_gio_direction_output(struct gpio_chip *chip, unsigned offset,
				   int value)
{}

static int em_gio_to_irq(struct gpio_chip *chip, unsigned offset)
{}

static void em_gio_free(struct gpio_chip *chip, unsigned offset)
{}

static int em_gio_irq_domain_map(struct irq_domain *h, unsigned int irq,
				 irq_hw_number_t hwirq)
{}

static const struct irq_domain_ops em_gio_irq_domain_ops =;

static void em_gio_irq_domain_remove(void *data)
{}

static int em_gio_probe(struct platform_device *pdev)
{}

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

static struct platform_driver em_gio_device_driver =;

static int __init em_gio_init(void)
{}
postcore_initcall(em_gio_init);

static void __exit em_gio_exit(void)
{}
module_exit(em_gio_exit);

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