linux/drivers/gpio/gpio-mc33880.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * MC33880 high-side/low-side switch GPIO driver
 * Copyright (c) 2009 Intel Corporation
 */

/* Supports:
 * Freescale MC33880 high-side/low-side switch
 */

#include <linux/init.h>
#include <linux/mutex.h>
#include <linux/spi/spi.h>
#include <linux/spi/mc33880.h>
#include <linux/gpio/driver.h>
#include <linux/slab.h>
#include <linux/module.h>

#define DRIVER_NAME

/*
 * Pin configurations, see MAX7301 datasheet page 6
 */
#define PIN_CONFIG_MASK
#define PIN_CONFIG_IN_PULLUP
#define PIN_CONFIG_IN_WO_PULLUP
#define PIN_CONFIG_OUT

#define PIN_NUMBER


/*
 * Some registers must be read back to modify.
 * To save time we cache them here in memory
 */
struct mc33880 {};

static int mc33880_write_config(struct mc33880 *mc)
{}


static int __mc33880_set(struct mc33880 *mc, unsigned offset, int value)
{}


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

static int mc33880_probe(struct spi_device *spi)
{}

static void mc33880_remove(struct spi_device *spi)
{}

static struct spi_driver mc33880_driver =;

static int __init mc33880_init(void)
{}
/* register after spi postcore initcall and before
 * subsys initcalls that may rely on these GPIOs
 */
subsys_initcall(mc33880_init);

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

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