linux/drivers/media/usb/stk1160/stk1160-core.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * STK1160 driver
 *
 * Copyright (C) 2012 Ezequiel Garcia
 * <elezegarcia--a.t--gmail.com>
 *
 * Based on Easycap driver by R.M. Thomas
 *	Copyright (C) 2010 R.M. Thomas
 *	<rmthomas--a.t--sciolus.org>
 *
 * TODO:
 *
 * 1. Support stream at lower speed: lower frame rate or lower frame size.
 */

#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/slab.h>

#include <linux/usb.h>
#include <linux/mm.h>
#include <linux/vmalloc.h>
#include <media/i2c/saa7115.h>

#include "stk1160.h"
#include "stk1160-reg.h"

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

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

/* Devices supported by this driver */
static const struct usb_device_id stk1160_id_table[] =;
MODULE_DEVICE_TABLE(usb, stk1160_id_table);

/* saa7113 I2C address */
static unsigned short saa7113_addrs[] =;

/*
 * Read/Write stk registers
 */
int stk1160_read_reg(struct stk1160 *dev, u16 reg, u8 *value)
{}

int stk1160_write_reg(struct stk1160 *dev, u16 reg, u16 value)
{}

void stk1160_select_input(struct stk1160 *dev)
{}

/* TODO: We should break this into pieces */
static void stk1160_reg_reset(struct stk1160 *dev)
{}

static void stk1160_release(struct v4l2_device *v4l2_dev)
{}

/* high bandwidth multiplier, as encoded in highspeed endpoint descriptors */
#define hb_mult(wMaxPacketSize)

/*
 * Scan usb interface and populate max_pkt_size array
 * with information on each alternate setting.
 * The array should be allocated by the caller.
 */
static int stk1160_scan_usb(struct usb_interface *intf, struct usb_device *udev,
		unsigned int *max_pkt_size)
{}

static int stk1160_probe(struct usb_interface *interface,
		const struct usb_device_id *id)
{}

static void stk1160_disconnect(struct usb_interface *interface)
{}

static struct usb_driver stk1160_usb_driver =;

module_usb_driver();