#include <linux/module.h>
#include <linux/of_device.h>
#include <linux/gpio/driver.h>
#include <linux/platform_device.h>
#define MMIO_74XX_DIR_IN (0 << 8)
#define MMIO_74XX_DIR_OUT (1 << 8)
#define MMIO_74XX_BIT_CNT(x) ((x) & 0xff)
struct mmio_74xx_gpio_priv {
static const struct of_device_id mmio_74xx_gpio_ids[] = {
.compatible = "ti,741g125",
.data = (const void *)(MMIO_74XX_DIR_IN | 1),
.compatible = "ti,742g125",
.data = (const void *)(MMIO_74XX_DIR_IN | 2),
.compatible = "ti,74125",
.data = (const void *)(MMIO_74XX_DIR_IN | 4),
.compatible = "ti,74365",
.data = (const void *)(MMIO_74XX_DIR_IN | 6),
.compatible = "ti,74244",
.data = (const void *)(MMIO_74XX_DIR_IN | 8),
.compatible = "ti,741624",
.data = (const void *)(MMIO_74XX_DIR_IN | 16),
.compatible = "ti,741g74",
.data = (const void *)(MMIO_74XX_DIR_OUT | 1),
.data = (const void *)(MMIO_74XX_DIR_OUT | 2),
.compatible = "ti,74175",
.data = (const void *)(MMIO_74XX_DIR_OUT | 4),