linux/drivers/staging/greybus/gpio.c

// SPDX-License-Identifier: GPL-2.0
/*
 * GPIO Greybus driver.
 *
 * Copyright 2014 Google Inc.
 * Copyright 2014 Linaro Ltd.
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/gpio/driver.h>
#include <linux/mutex.h>
#include <linux/greybus.h>

#include "gbphy.h"

struct gb_gpio_line {};

struct gb_gpio_controller {};

static inline struct gb_gpio_controller *gpio_chip_to_gb_gpio_controller(struct gpio_chip *chip)
{}

static struct gpio_chip *irq_data_to_gpio_chip(struct irq_data *d)
{}

static int gb_gpio_line_count_operation(struct gb_gpio_controller *ggc)
{}

static int gb_gpio_activate_operation(struct gb_gpio_controller *ggc, u8 which)
{}

static void gb_gpio_deactivate_operation(struct gb_gpio_controller *ggc,
					 u8 which)
{}

static int gb_gpio_get_direction_operation(struct gb_gpio_controller *ggc,
					   u8 which)
{}

static int gb_gpio_direction_in_operation(struct gb_gpio_controller *ggc,
					  u8 which)
{}

static int gb_gpio_direction_out_operation(struct gb_gpio_controller *ggc,
					   u8 which, bool value_high)
{}

static int gb_gpio_get_value_operation(struct gb_gpio_controller *ggc,
				       u8 which)
{}

static void gb_gpio_set_value_operation(struct gb_gpio_controller *ggc,
					u8 which, bool value_high)
{}

static int gb_gpio_set_debounce_operation(struct gb_gpio_controller *ggc,
					  u8 which, u16 debounce_usec)
{}

static void _gb_gpio_irq_mask(struct gb_gpio_controller *ggc, u8 hwirq)
{}

static void _gb_gpio_irq_unmask(struct gb_gpio_controller *ggc, u8 hwirq)
{}

static void _gb_gpio_irq_set_type(struct gb_gpio_controller *ggc,
				  u8 hwirq, u8 type)
{}

static void gb_gpio_irq_mask(struct irq_data *d)
{}

static void gb_gpio_irq_unmask(struct irq_data *d)
{}

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

static void gb_gpio_irq_bus_lock(struct irq_data *d)
{}

static void gb_gpio_irq_bus_sync_unlock(struct irq_data *d)
{}

static int gb_gpio_request_handler(struct gb_operation *op)
{}

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

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

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

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

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

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

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

static int gb_gpio_set_config(struct gpio_chip *chip, unsigned int offset,
			      unsigned long config)
{}

static int gb_gpio_controller_setup(struct gb_gpio_controller *ggc)
{}

static int gb_gpio_probe(struct gbphy_device *gbphy_dev,
			 const struct gbphy_device_id *id)
{}

static void gb_gpio_remove(struct gbphy_device *gbphy_dev)
{}

static const struct gbphy_device_id gb_gpio_id_table[] =;
MODULE_DEVICE_TABLE(gbphy, gb_gpio_id_table);

static struct gbphy_driver gpio_driver =;

module_gbphy_driver();
MODULE_DESCRIPTION();
MODULE_LICENSE();