linux/drivers/media/usb/cx231xx/cx231xx-i2c.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
   cx231xx-i2c.c - driver for Conexant Cx23100/101/102 USB video capture devices

   Copyright (C) 2008 <srinivasa.deevi at conexant dot com>
		Based on em28xx driver
		Based on Cx23885 driver

 */

#include "cx231xx.h"
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/i2c.h>
#include <linux/i2c-mux.h>
#include <media/v4l2-common.h>
#include <media/tuner.h>


/* ----------------------------------------------------------- */

static unsigned int i2c_scan;
module_param(i2c_scan, int, 0444);
MODULE_PARM_DESC();

static unsigned int i2c_debug;
module_param(i2c_debug, int, 0644);
MODULE_PARM_DESC();

#define dprintk1(lvl, fmt, args...)

#define dprintk2(lvl, fmt, args...)

static inline int get_real_i2c_port(struct cx231xx *dev, int bus_nr)
{}

static inline bool is_tuner(struct cx231xx *dev, struct cx231xx_i2c *bus,
			const struct i2c_msg *msg, int tuner_type)
{}

/*
 * cx231xx_i2c_send_bytes()
 */
static int cx231xx_i2c_send_bytes(struct i2c_adapter *i2c_adap,
				  const struct i2c_msg *msg)
{}

/*
 * cx231xx_i2c_recv_bytes()
 * read a byte from the i2c device
 */
static int cx231xx_i2c_recv_bytes(struct i2c_adapter *i2c_adap,
				  const struct i2c_msg *msg)
{}

/*
 * cx231xx_i2c_recv_bytes_with_saddr()
 * read a byte from the i2c device
 */
static int cx231xx_i2c_recv_bytes_with_saddr(struct i2c_adapter *i2c_adap,
					     const struct i2c_msg *msg1,
					     const struct i2c_msg *msg2)
{}

/*
 * cx231xx_i2c_check_for_device()
 * check if there is a i2c_device at the supplied address
 */
static int cx231xx_i2c_check_for_device(struct i2c_adapter *i2c_adap,
					const struct i2c_msg *msg)
{}

/*
 * cx231xx_i2c_xfer()
 * the main i2c transfer function
 */
static int cx231xx_i2c_xfer(struct i2c_adapter *i2c_adap,
			    struct i2c_msg msgs[], int num)
{}

/* ----------------------------------------------------------- */

/*
 * functionality()
 */
static u32 functionality(struct i2c_adapter *adap)
{}

static const struct i2c_algorithm cx231xx_algo =;

static const struct i2c_adapter cx231xx_adap_template =;

/* ----------------------------------------------------------- */

/*
 * i2c_devs
 * incomplete list of known devices
 */
static const char *i2c_devs[128] =;

/*
 * cx231xx_do_i2c_scan()
 * check i2c address range for devices
 */
void cx231xx_do_i2c_scan(struct cx231xx *dev, int i2c_port)
{}

/*
 * cx231xx_i2c_register()
 * register i2c bus
 */
int cx231xx_i2c_register(struct cx231xx_i2c *bus)
{}

/*
 * cx231xx_i2c_unregister()
 * unregister i2c_bus
 */
void cx231xx_i2c_unregister(struct cx231xx_i2c *bus)
{}

/*
 * cx231xx_i2c_mux_select()
 * switch i2c master number 1 between port1 and port3
 */
static int cx231xx_i2c_mux_select(struct i2c_mux_core *muxc, u32 chan_id)
{}

int cx231xx_i2c_mux_create(struct cx231xx *dev)
{}

int cx231xx_i2c_mux_register(struct cx231xx *dev, int mux_no)
{}

void cx231xx_i2c_mux_unregister(struct cx231xx *dev)
{}

struct i2c_adapter *cx231xx_get_i2c_adap(struct cx231xx *dev, int i2c_port)
{}
EXPORT_SYMBOL_GPL();