linux/drivers/media/pci/cx18/cx18-gpio.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  cx18 gpio functions
 *
 *  Derived from ivtv-gpio.c
 *
 *  Copyright (C) 2007  Hans Verkuil <[email protected]>
 *  Copyright (C) 2008  Andy Walls <[email protected]>
 */

#include "cx18-driver.h"
#include "cx18-io.h"
#include "cx18-cards.h"
#include "cx18-gpio.h"
#include "xc2028.h"

/********************* GPIO stuffs *********************/

/* GPIO registers */
#define CX18_REG_GPIO_IN
#define CX18_REG_GPIO_OUT1
#define CX18_REG_GPIO_DIR1
#define CX18_REG_GPIO_OUT2
#define CX18_REG_GPIO_DIR2

/*
 * HVR-1600 GPIO pins, courtesy of Hauppauge:
 *
 * gpio0: zilog ir process reset pin
 * gpio1: zilog programming pin (you should never use this)
 * gpio12: cx24227 reset pin
 * gpio13: cs5345 reset pin
*/

/*
 * File scope utility functions
 */
static void gpio_write(struct cx18 *cx)
{}

static void gpio_update(struct cx18 *cx, u32 mask, u32 data)
{}

static void gpio_reset_seq(struct cx18 *cx, u32 active_lo, u32 active_hi,
			   unsigned int assert_msecs,
			   unsigned int recovery_msecs)
{}

/*
 * GPIO Multiplexer - logical device
 */
static int gpiomux_log_status(struct v4l2_subdev *sd)
{}

static int gpiomux_s_radio(struct v4l2_subdev *sd)
{}

static int gpiomux_s_std(struct v4l2_subdev *sd, v4l2_std_id norm)
{}

static int gpiomux_s_audio_routing(struct v4l2_subdev *sd,
				   u32 input, u32 output, u32 config)
{}

static const struct v4l2_subdev_core_ops gpiomux_core_ops =;

static const struct v4l2_subdev_tuner_ops gpiomux_tuner_ops =;

static const struct v4l2_subdev_audio_ops gpiomux_audio_ops =;

static const struct v4l2_subdev_video_ops gpiomux_video_ops =;

static const struct v4l2_subdev_ops gpiomux_ops =;

/*
 * GPIO Reset Controller - logical device
 */
static int resetctrl_log_status(struct v4l2_subdev *sd)
{}

static int resetctrl_reset(struct v4l2_subdev *sd, u32 val)
{}

static const struct v4l2_subdev_core_ops resetctrl_core_ops =;

static const struct v4l2_subdev_ops resetctrl_ops =;

/*
 * External entry points
 */
void cx18_gpio_init(struct cx18 *cx)
{}

int cx18_gpio_register(struct cx18 *cx, u32 hw)
{}

void cx18_reset_ir_gpio(void *data)
{}
EXPORT_SYMBOL();
/* This symbol is exported for use by lirc_pvr150 for the IR-blaster */

/* Xceive tuner reset function */
int cx18_reset_tuner_gpio(void *dev, int component, int cmd, int value)
{}