linux/drivers/media/usb/siano/smsusb.c

// SPDX-License-Identifier: GPL-2.0-or-later
/****************************************************************

Siano Mobile Silicon, Inc.
MDTV receiver kernel modules.
Copyright (C) 2005-2009, Uri Shkolnik, Anatoly Greenblat


****************************************************************/

#include "smscoreapi.h"

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/usb.h>
#include <linux/firmware.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <media/media-device.h>

#include "sms-cards.h"
#include "smsendian.h"

#define USB1_BUFFER_SIZE
#define USB2_BUFFER_SIZE

#define MAX_BUFFERS
#define MAX_URBS

struct smsusb_device_t;

enum smsusb_state {};

struct smsusb_urb_t {};

struct smsusb_device_t {};

static int smsusb_submit_urb(struct smsusb_device_t *dev,
			     struct smsusb_urb_t *surb);

/*
 * Completing URB's callback handler - bottom half (process context)
 * submits the URB prepared on smsusb_onresponse()
 */
static void do_submit_urb(struct work_struct *work)
{}

/*
 * Completing URB's callback handler - top half (interrupt context)
 * adds completing sms urb to the global surbs list and activtes the worker
 * thread the surb
 * IMPORTANT - blocking functions must not be called from here !!!

 * @param urb pointer to a completing urb object
 */
static void smsusb_onresponse(struct urb *urb)
{}

static int smsusb_submit_urb(struct smsusb_device_t *dev,
			     struct smsusb_urb_t *surb)
{}

static void smsusb_stop_streaming(struct smsusb_device_t *dev)
{}

static int smsusb_start_streaming(struct smsusb_device_t *dev)
{}

static int smsusb_sendrequest(void *context, void *buffer, size_t size)
{}

static char *smsusb1_fw_lkup[] =;

static inline char *sms_get_fw_name(int mode, int board_id)
{}

static int smsusb1_load_firmware(struct usb_device *udev, int id, int board_id)
{}

static void smsusb1_detectmode(void *context, int *mode)
{}

static int smsusb1_setmode(void *context, int mode)
{}

static void smsusb_term_device(struct usb_interface *intf)
{}

static void *siano_media_device_register(struct smsusb_device_t *dev,
					int board_id)
{}

static int smsusb_init_device(struct usb_interface *intf, int board_id)
{}

static int smsusb_probe(struct usb_interface *intf,
			const struct usb_device_id *id)
{}

static void smsusb_disconnect(struct usb_interface *intf)
{}

static int smsusb_suspend(struct usb_interface *intf, pm_message_t msg)
{}

static int smsusb_resume(struct usb_interface *intf)
{}

static const struct usb_device_id smsusb_id_table[] =;

MODULE_DEVICE_TABLE(usb, smsusb_id_table);

static struct usb_driver smsusb_driver =;

module_usb_driver();

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