#include <sys/cdefs.h>
#include <sys/stdint.h>
#include <sys/stddef.h>
#include <sys/param.h>
#include <sys/queue.h>
#include <sys/types.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/bus.h>
#include <sys/module.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/condvar.h>
#include <sys/sysctl.h>
#include <sys/sx.h>
#include <sys/unistd.h>
#include <sys/callout.h>
#include <sys/malloc.h>
#include <sys/priv.h>
#include <sys/conf.h>
#include <sys/fcntl.h>
#include <dev/usb/usb.h>
#include <dev/usb/usbdi.h>
#include "usbdevs.h"
#include <dev/usb/usb_ioctl.h>
#include <dev/usb/usb_generic.h>
#include <dev/usb/usb_debug.h>
#include <dev/usb/storage/rio500_usb.h>
Go to the source code of this file.
|
| __FBSDID ("$FreeBSD$") |
|
| DRIVER_MODULE (urio, uhub, urio_driver, urio_devclass, NULL, 0) |
|
| MODULE_DEPEND (urio, usb, 1, 1, 1) |
|
| MODULE_VERSION (urio, 1) |
|
| USB_PNP_HOST_INFO (urio_devs) |
|
static int | urio_probe (device_t dev) |
|
static int | urio_attach (device_t dev) |
|
static void | urio_write_callback (struct usb_xfer *xfer, usb_error_t error) |
|
static void | urio_write_clear_stall_callback (struct usb_xfer *xfer, usb_error_t error) |
|
static void | urio_read_callback (struct usb_xfer *xfer, usb_error_t error) |
|
static void | urio_read_clear_stall_callback (struct usb_xfer *xfer, usb_error_t error) |
|
static void | urio_start_read (struct usb_fifo *fifo) |
|
static void | urio_stop_read (struct usb_fifo *fifo) |
|
static void | urio_start_write (struct usb_fifo *fifo) |
|
static void | urio_stop_write (struct usb_fifo *fifo) |
|
static int | urio_open (struct usb_fifo *fifo, int fflags) |
|
static void | urio_close (struct usb_fifo *fifo, int fflags) |
|
static int | urio_ioctl (struct usb_fifo *fifo, u_long cmd, void *addr, int fflags) |
|
static int | urio_detach (device_t dev) |
|
◆ URIO_BSIZE
#define URIO_BSIZE (1<<12) /* bytes */ |
◆ URIO_FLAG_READ_STALL
#define URIO_FLAG_READ_STALL 0x01 /* read transfer stalled */ |
◆ URIO_FLAG_WRITE_STALL
#define URIO_FLAG_WRITE_STALL 0x02 /* write transfer stalled */ |
◆ URIO_IFQ_MAXLEN
#define URIO_IFQ_MAXLEN 2 /* units */ |
◆ URIO_T_MAX
◆ URIO_T_RD
◆ URIO_T_RD_CS
◆ URIO_T_WR
◆ URIO_T_WR_CS
◆ USB_DEBUG_VAR
#define USB_DEBUG_VAR urio_debug |
◆ __FBSDID()
◆ DRIVER_MODULE()
◆ MODULE_DEPEND()
MODULE_DEPEND |
( |
urio |
, |
|
|
usb |
, |
|
|
1 |
, |
|
|
1 |
, |
|
|
1 |
|
|
) |
| |
◆ MODULE_VERSION()
MODULE_VERSION |
( |
urio |
, |
|
|
1 |
|
|
) |
| |
◆ urio_attach()
static int urio_attach |
( |
device_t |
dev | ) |
|
|
static |
Definition at line 227 of file urio.c.
References usbd_lookup_info::bIfaceIndex, dev, usb_attach_arg::device, device_set_usb_desc(), DPRINTF, error, usb_attach_arg::info, urio_softc::sc_fifo, urio_softc::sc_mtx, urio_softc::sc_name, urio_softc::sc_udev, urio_softc::sc_xfer, urio_config, urio_detach, urio_fifo_methods, URIO_T_MAX, usb_fifo_attach(), usbd_errstr(), and usbd_transfer_setup().
◆ urio_close()
static void urio_close |
( |
struct usb_fifo * |
fifo, |
|
|
int |
fflags |
|
) |
| |
|
static |
◆ urio_detach()
static int urio_detach |
( |
device_t |
dev | ) |
|
|
static |
◆ urio_ioctl()
static int urio_ioctl |
( |
struct usb_fifo * |
fifo, |
|
|
u_long |
cmd, |
|
|
void * |
addr, |
|
|
int |
fflags |
|
) |
| |
|
static |
Definition at line 433 of file urio.c.
References addr, usb_device_request::bmRequestType, usb_device_request::bRequest, RioCommand::buffer, error, RioCommand::index, RioCommand::length, RioCommand::request, RioCommand::requesttype, RIO_RECV_COMMAND, RIO_SEND_COMMAND, usb_ctl_request::ucr_data, usb_ctl_request::ucr_request, ugen_do_request(), USETW, UT_READ_VENDOR_DEVICE, UT_WRITE_VENDOR_DEVICE, RioCommand::value, usb_device_request::wIndex, usb_device_request::wLength, and usb_device_request::wValue.
◆ urio_open()
static int urio_open |
( |
struct usb_fifo * |
fifo, |
|
|
int |
fflags |
|
) |
| |
|
static |
Definition at line 395 of file urio.c.
References urio_softc::sc_flags, urio_softc::sc_mtx, urio_softc::sc_xfer, URIO_FLAG_READ_STALL, URIO_FLAG_WRITE_STALL, URIO_IFQ_MAXLEN, URIO_T_RD, URIO_T_WR, usb_fifo_alloc_buffer(), usb_fifo_softc(), and usbd_xfer_max_len().
◆ urio_probe()
static int urio_probe |
( |
device_t |
dev | ) |
|
|
static |
◆ urio_read_callback()
Definition at line 312 of file urio.c.
References error, usb_fifo_sc::fp, urio_softc::sc_fifo, urio_softc::sc_flags, urio_softc::sc_xfer, URIO_FLAG_READ_STALL, URIO_T_RD_CS, USB_ERR_CANCELLED, usb_fifo_put_bytes_max(), usb_fifo_put_data(), USB_FIFO_RX, USB_GET_STATE, USB_ST_SETUP, USB_ST_TRANSFERRED, usbd_transfer_start(), usbd_transfer_submit(), usbd_xfer_get_frame(), usbd_xfer_max_len(), usbd_xfer_set_frame_len(), usbd_xfer_softc(), and usbd_xfer_status().
◆ urio_read_clear_stall_callback()
◆ urio_start_read()
static void urio_start_read |
( |
struct usb_fifo * |
fifo | ) |
|
|
static |
◆ urio_start_write()
static void urio_start_write |
( |
struct usb_fifo * |
fifo | ) |
|
|
static |
◆ urio_stop_read()
static void urio_stop_read |
( |
struct usb_fifo * |
fifo | ) |
|
|
static |
◆ urio_stop_write()
static void urio_stop_write |
( |
struct usb_fifo * |
fifo | ) |
|
|
static |
◆ urio_write_callback()
Definition at line 266 of file urio.c.
References error, usb_fifo_sc::fp, urio_softc::sc_fifo, urio_softc::sc_flags, urio_softc::sc_xfer, URIO_FLAG_WRITE_STALL, URIO_T_WR_CS, USB_ERR_CANCELLED, usb_fifo_get_data(), USB_FIFO_TX, USB_GET_STATE, USB_ST_SETUP, USB_ST_TRANSFERRED, usbd_transfer_start(), usbd_transfer_submit(), usbd_xfer_get_frame(), usbd_xfer_max_len(), usbd_xfer_set_frame_len(), and usbd_xfer_softc().
◆ urio_write_clear_stall_callback()
◆ USB_PNP_HOST_INFO()
◆ urio_attach
device_attach_t urio_attach |
|
static |
◆ urio_close
◆ urio_config
◆ urio_detach
device_detach_t urio_detach |
|
static |
◆ urio_devclass
◆ urio_devs
Initial value:= {
{
USB_VPI(USB_VENDOR_DIAMOND2, USB_PRODUCT_DIAMOND2_RIO600USB, 0)},
{
USB_VPI(USB_VENDOR_DIAMOND2, USB_PRODUCT_DIAMOND2_RIO800USB, 0)},
}
#define USB_PRODUCT_DIAMOND_RIO500USB
#define USB_VENDOR_DIAMOND
#define USB_VPI(vend, prod, info)
Definition at line 200 of file urio.c.
Referenced by urio_probe().
◆ urio_driver
Initial value:= {
.name = "urio",
}
static device_method_t urio_methods[]
Definition at line 194 of file urio.c.
◆ urio_fifo_methods
Initial value:= {
.basename[0] = "urio",
}
static usb_fifo_cmd_t urio_start_write
static usb_fifo_open_t urio_open
static usb_fifo_cmd_t urio_stop_read
static usb_fifo_ioctl_t urio_ioctl
static usb_fifo_cmd_t urio_stop_write
static usb_fifo_cmd_t urio_start_read
static usb_fifo_close_t urio_close
Definition at line 132 of file urio.c.
Referenced by urio_attach().
◆ urio_ioctl
◆ urio_methods
device_method_t urio_methods[] |
|
static |
Initial value:= {
DEVMETHOD_END
}
static device_probe_t urio_probe
static device_detach_t urio_detach
static device_attach_t urio_attach
Definition at line 185 of file urio.c.
◆ urio_open
◆ urio_probe
device_probe_t urio_probe |
|
static |
◆ urio_read_callback
◆ urio_read_clear_stall_callback
◆ urio_start_read
◆ urio_start_write
◆ urio_stop_read
◆ urio_stop_write
◆ urio_write_callback
◆ urio_write_clear_stall_callback