FreeBSD kernel usb device Code
ubsa.c File Reference
#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 <dev/usb/usb.h>
#include <dev/usb/usbdi.h>
#include <dev/usb/usbdi_util.h>
#include "usbdevs.h"
#include <dev/usb/usb_debug.h>
#include <dev/usb/usb_process.h>
#include <dev/usb/serial/usb_serial.h>
Include dependency graph for ubsa.c:

Go to the source code of this file.

Data Structures

struct  ubsa_softc
 

Macros

#define USB_DEBUG_VAR   ubsa_debug
 
#define UBSA_BSIZE   1024 /* bytes */
 
#define UBSA_CONFIG_INDEX   0
 
#define UBSA_IFACE_INDEX   0
 
#define UBSA_REG_BAUDRATE   0x00
 
#define UBSA_REG_STOP_BITS   0x01
 
#define UBSA_REG_DATA_BITS   0x02
 
#define UBSA_REG_PARITY   0x03
 
#define UBSA_REG_DTR   0x0A
 
#define UBSA_REG_RTS   0x0B
 
#define UBSA_REG_BREAK   0x0C
 
#define UBSA_REG_FLOW_CTRL   0x10
 
#define UBSA_PARITY_NONE   0x00
 
#define UBSA_PARITY_EVEN   0x01
 
#define UBSA_PARITY_ODD   0x02
 
#define UBSA_PARITY_MARK   0x03
 
#define UBSA_PARITY_SPACE   0x04
 
#define UBSA_FLOW_NONE   0x0000
 
#define UBSA_FLOW_OCTS   0x0001
 
#define UBSA_FLOW_ODSR   0x0002
 
#define UBSA_FLOW_IDSR   0x0004
 
#define UBSA_FLOW_IDTR   0x0008
 
#define UBSA_FLOW_IRTS   0x0010
 
#define UBSA_FLOW_ORTS   0x0020
 
#define UBSA_FLOW_UNKNOWN   0x0040
 
#define UBSA_FLOW_OXON   0x0080
 
#define UBSA_FLOW_IXON   0x0100
 
#define UBSA_LSR_TSRE   0x40 /* Transmitter empty: byte sent */
 
#define UBSA_LSR_TXRDY   0x20 /* Transmitter buffer empty */
 
#define UBSA_LSR_BI   0x10 /* Break detected */
 
#define UBSA_LSR_FE   0x08 /* Framing error: bad stop bit */
 
#define UBSA_LSR_PE   0x04 /* Parity error */
 
#define UBSA_LSR_OE   0x02 /* Overrun, lost incoming byte */
 
#define UBSA_LSR_RXRDY   0x01 /* Byte ready in Receive Buffer */
 
#define UBSA_LSR_RCV_MASK   0x1f /* Mask for incoming data or error */
 
#define UBSA_MSR_DCD   0x80 /* Current Data Carrier Detect */
 
#define UBSA_MSR_RI   0x40 /* Current Ring Indicator */
 
#define UBSA_MSR_DSR   0x20 /* Current Data Set Ready */
 
#define UBSA_MSR_CTS   0x10 /* Current Clear to Send */
 
#define UBSA_MSR_DDCD   0x08 /* DCD has changed state */
 
#define UBSA_MSR_TERI   0x04 /* RI has toggled low to high */
 
#define UBSA_MSR_DDSR   0x02 /* DSR has changed state */
 
#define UBSA_MSR_DCTS   0x01 /* CTS has changed state */
 

Enumerations

enum  { UBSA_BULK_DT_WR , UBSA_BULK_DT_RD , UBSA_INTR_DT_RD , UBSA_N_TRANSFER }
 

Functions

 __FBSDID ("$FreeBSD$")
 
static void ubsa_free_softc (struct ubsa_softc *)
 
static void ubsa_cfg_request (struct ubsa_softc *, uint8_t, uint16_t)
 
static void ubsa_free (struct ucom_softc *)
 
static void ubsa_cfg_set_dtr (struct ucom_softc *, uint8_t)
 
static void ubsa_cfg_set_rts (struct ucom_softc *, uint8_t)
 
static void ubsa_cfg_set_break (struct ucom_softc *, uint8_t)
 
static int ubsa_pre_param (struct ucom_softc *, struct termios *)
 
static void ubsa_cfg_param (struct ucom_softc *, struct termios *)
 
static void ubsa_start_read (struct ucom_softc *)
 
static void ubsa_stop_read (struct ucom_softc *)
 
static void ubsa_start_write (struct ucom_softc *)
 
static void ubsa_stop_write (struct ucom_softc *)
 
static void ubsa_cfg_get_status (struct ucom_softc *, uint8_t *, uint8_t *)
 
static void ubsa_poll (struct ucom_softc *ucom)
 
 DRIVER_MODULE (ubsa, uhub, ubsa_driver, ubsa_devclass, NULL, 0)
 
 MODULE_DEPEND (ubsa, ucom, 1, 1, 1)
 
 MODULE_DEPEND (ubsa, usb, 1, 1, 1)
 
 MODULE_VERSION (ubsa, 1)
 
 USB_PNP_HOST_INFO (ubsa_devs)
 
static int ubsa_probe (device_t dev)
 
static int ubsa_attach (device_t dev)
 
static int ubsa_detach (device_t dev)
 
 UCOM_UNLOAD_DRAIN (ubsa)
 
static void ubsa_write_callback (struct usb_xfer *xfer, usb_error_t error)
 
static void ubsa_read_callback (struct usb_xfer *xfer, usb_error_t error)
 
static void ubsa_intr_callback (struct usb_xfer *xfer, usb_error_t error)
 

Variables

static device_probe_t ubsa_probe
 
static device_attach_t ubsa_attach
 
static device_detach_t ubsa_detach
 
static usb_callback_t ubsa_write_callback
 
static usb_callback_t ubsa_read_callback
 
static usb_callback_t ubsa_intr_callback
 
static const struct usb_config ubsa_config [UBSA_N_TRANSFER]
 
static const struct ucom_callback ubsa_callback
 
static const STRUCT_USB_HOST_ID ubsa_devs []
 
static device_method_t ubsa_methods []
 
static devclass_t ubsa_devclass
 
static driver_t ubsa_driver
 

Macro Definition Documentation

◆ UBSA_BSIZE

#define UBSA_BSIZE   1024 /* bytes */

Definition at line 99 of file ubsa.c.

◆ UBSA_CONFIG_INDEX

#define UBSA_CONFIG_INDEX   0

Definition at line 101 of file ubsa.c.

◆ UBSA_FLOW_IDSR

#define UBSA_FLOW_IDSR   0x0004

Definition at line 122 of file ubsa.c.

◆ UBSA_FLOW_IDTR

#define UBSA_FLOW_IDTR   0x0008

Definition at line 123 of file ubsa.c.

◆ UBSA_FLOW_IRTS

#define UBSA_FLOW_IRTS   0x0010

Definition at line 124 of file ubsa.c.

◆ UBSA_FLOW_IXON

#define UBSA_FLOW_IXON   0x0100

Definition at line 128 of file ubsa.c.

◆ UBSA_FLOW_NONE

#define UBSA_FLOW_NONE   0x0000

Definition at line 119 of file ubsa.c.

◆ UBSA_FLOW_OCTS

#define UBSA_FLOW_OCTS   0x0001

Definition at line 120 of file ubsa.c.

◆ UBSA_FLOW_ODSR

#define UBSA_FLOW_ODSR   0x0002

Definition at line 121 of file ubsa.c.

◆ UBSA_FLOW_ORTS

#define UBSA_FLOW_ORTS   0x0020

Definition at line 125 of file ubsa.c.

◆ UBSA_FLOW_OXON

#define UBSA_FLOW_OXON   0x0080

Definition at line 127 of file ubsa.c.

◆ UBSA_FLOW_UNKNOWN

#define UBSA_FLOW_UNKNOWN   0x0040

Definition at line 126 of file ubsa.c.

◆ UBSA_IFACE_INDEX

#define UBSA_IFACE_INDEX   0

Definition at line 102 of file ubsa.c.

◆ UBSA_LSR_BI

#define UBSA_LSR_BI   0x10 /* Break detected */

Definition at line 133 of file ubsa.c.

◆ UBSA_LSR_FE

#define UBSA_LSR_FE   0x08 /* Framing error: bad stop bit */

Definition at line 134 of file ubsa.c.

◆ UBSA_LSR_OE

#define UBSA_LSR_OE   0x02 /* Overrun, lost incoming byte */

Definition at line 136 of file ubsa.c.

◆ UBSA_LSR_PE

#define UBSA_LSR_PE   0x04 /* Parity error */

Definition at line 135 of file ubsa.c.

◆ UBSA_LSR_RCV_MASK

#define UBSA_LSR_RCV_MASK   0x1f /* Mask for incoming data or error */

Definition at line 138 of file ubsa.c.

◆ UBSA_LSR_RXRDY

#define UBSA_LSR_RXRDY   0x01 /* Byte ready in Receive Buffer */

Definition at line 137 of file ubsa.c.

◆ UBSA_LSR_TSRE

#define UBSA_LSR_TSRE   0x40 /* Transmitter empty: byte sent */

Definition at line 131 of file ubsa.c.

◆ UBSA_LSR_TXRDY

#define UBSA_LSR_TXRDY   0x20 /* Transmitter buffer empty */

Definition at line 132 of file ubsa.c.

◆ UBSA_MSR_CTS

#define UBSA_MSR_CTS   0x10 /* Current Clear to Send */

Definition at line 145 of file ubsa.c.

◆ UBSA_MSR_DCD

#define UBSA_MSR_DCD   0x80 /* Current Data Carrier Detect */

Definition at line 142 of file ubsa.c.

◆ UBSA_MSR_DCTS

#define UBSA_MSR_DCTS   0x01 /* CTS has changed state */

Definition at line 149 of file ubsa.c.

◆ UBSA_MSR_DDCD

#define UBSA_MSR_DDCD   0x08 /* DCD has changed state */

Definition at line 146 of file ubsa.c.

◆ UBSA_MSR_DDSR

#define UBSA_MSR_DDSR   0x02 /* DSR has changed state */

Definition at line 148 of file ubsa.c.

◆ UBSA_MSR_DSR

#define UBSA_MSR_DSR   0x20 /* Current Data Set Ready */

Definition at line 144 of file ubsa.c.

◆ UBSA_MSR_RI

#define UBSA_MSR_RI   0x40 /* Current Ring Indicator */

Definition at line 143 of file ubsa.c.

◆ UBSA_MSR_TERI

#define UBSA_MSR_TERI   0x04 /* RI has toggled low to high */

Definition at line 147 of file ubsa.c.

◆ UBSA_PARITY_EVEN

#define UBSA_PARITY_EVEN   0x01

Definition at line 114 of file ubsa.c.

◆ UBSA_PARITY_MARK

#define UBSA_PARITY_MARK   0x03

Definition at line 116 of file ubsa.c.

◆ UBSA_PARITY_NONE

#define UBSA_PARITY_NONE   0x00

Definition at line 113 of file ubsa.c.

◆ UBSA_PARITY_ODD

#define UBSA_PARITY_ODD   0x02

Definition at line 115 of file ubsa.c.

◆ UBSA_PARITY_SPACE

#define UBSA_PARITY_SPACE   0x04

Definition at line 117 of file ubsa.c.

◆ UBSA_REG_BAUDRATE

#define UBSA_REG_BAUDRATE   0x00

Definition at line 104 of file ubsa.c.

◆ UBSA_REG_BREAK

#define UBSA_REG_BREAK   0x0C

Definition at line 110 of file ubsa.c.

◆ UBSA_REG_DATA_BITS

#define UBSA_REG_DATA_BITS   0x02

Definition at line 106 of file ubsa.c.

◆ UBSA_REG_DTR

#define UBSA_REG_DTR   0x0A

Definition at line 108 of file ubsa.c.

◆ UBSA_REG_FLOW_CTRL

#define UBSA_REG_FLOW_CTRL   0x10

Definition at line 111 of file ubsa.c.

◆ UBSA_REG_PARITY

#define UBSA_REG_PARITY   0x03

Definition at line 107 of file ubsa.c.

◆ UBSA_REG_RTS

#define UBSA_REG_RTS   0x0B

Definition at line 109 of file ubsa.c.

◆ UBSA_REG_STOP_BITS

#define UBSA_REG_STOP_BITS   0x01

Definition at line 105 of file ubsa.c.

◆ USB_DEBUG_VAR

#define USB_DEBUG_VAR   ubsa_debug

Definition at line 84 of file ubsa.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
UBSA_BULK_DT_WR 
UBSA_BULK_DT_RD 
UBSA_INTR_DT_RD 
UBSA_N_TRANSFER 

Definition at line 151 of file ubsa.c.

Function Documentation

◆ __FBSDID()

__FBSDID ( "$FreeBSD$"  )

◆ DRIVER_MODULE()

DRIVER_MODULE ( ubsa  ,
uhub  ,
ubsa_driver  ,
ubsa_devclass  ,
NULL  ,
 
)

◆ MODULE_DEPEND() [1/2]

MODULE_DEPEND ( ubsa  ,
ucom  ,
,
,
 
)

◆ MODULE_DEPEND() [2/2]

MODULE_DEPEND ( ubsa  ,
usb  ,
,
,
 
)

◆ MODULE_VERSION()

MODULE_VERSION ( ubsa  ,
 
)

◆ ubsa_attach()

◆ ubsa_cfg_get_status()

static void ubsa_cfg_get_status ( struct ucom_softc ucom,
uint8_t *  lsr,
uint8_t *  msr 
)
static

Definition at line 565 of file ubsa.c.

References DPRINTF, ubsa_softc::sc_lsr, ubsa_softc::sc_msr, and ucom_softc::sc_parent.

◆ ubsa_cfg_param()

◆ ubsa_cfg_request()

static void ubsa_cfg_request ( struct ubsa_softc sc,
uint8_t  index,
uint16_t  value 
)
static

Definition at line 377 of file ubsa.c.

References index, req, ubsa_softc::sc_iface_no, ubsa_softc::sc_ucom, ubsa_softc::sc_udev, ucom_cfg_do_request, usbd_errstr(), USETW, UT_WRITE_VENDOR_DEVICE, and value.

Referenced by ubsa_cfg_param(), ubsa_cfg_set_break(), ubsa_cfg_set_dtr(), and ubsa_cfg_set_rts().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ubsa_cfg_set_break()

static void ubsa_cfg_set_break ( struct ucom_softc ucom,
uint8_t  onoff 
)
static

Definition at line 418 of file ubsa.c.

References DPRINTF, ucom_softc::sc_parent, ubsa_cfg_request(), and UBSA_REG_BREAK.

Here is the call graph for this function:

◆ ubsa_cfg_set_dtr()

static void ubsa_cfg_set_dtr ( struct ucom_softc ucom,
uint8_t  onoff 
)
static

Definition at line 398 of file ubsa.c.

References DPRINTF, ucom_softc::sc_parent, ubsa_cfg_request(), and UBSA_REG_DTR.

Referenced by ubsa_cfg_param().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ubsa_cfg_set_rts()

static void ubsa_cfg_set_rts ( struct ucom_softc ucom,
uint8_t  onoff 
)
static

Definition at line 408 of file ubsa.c.

References DPRINTF, ucom_softc::sc_parent, ubsa_cfg_request(), and UBSA_REG_RTS.

Referenced by ubsa_cfg_param().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ubsa_detach()

static int ubsa_detach ( device_t  dev)
static

Definition at line 343 of file ubsa.c.

References dev, DPRINTF, ubsa_softc::sc_super_ucom, ubsa_softc::sc_ucom, ubsa_softc::sc_xfer, ubsa_free_softc(), UBSA_N_TRANSFER, ucom_detach(), and usbd_transfer_unsetup().

Here is the call graph for this function:

◆ ubsa_free()

static void ubsa_free ( struct ucom_softc ucom)
static

Definition at line 371 of file ubsa.c.

References ucom_softc::sc_parent, and ubsa_free_softc().

Here is the call graph for this function:

◆ ubsa_free_softc()

static void ubsa_free_softc ( struct ubsa_softc sc)
static

Definition at line 362 of file ubsa.c.

References ubsa_softc::sc_mtx, ubsa_softc::sc_super_ucom, and ucom_unref().

Referenced by ubsa_detach(), and ubsa_free().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ubsa_intr_callback()

◆ ubsa_poll()

static void ubsa_poll ( struct ucom_softc ucom)
static

Definition at line 691 of file ubsa.c.

References ucom_softc::sc_parent, ubsa_softc::sc_xfer, UBSA_N_TRANSFER, and usbd_transfer_poll().

Here is the call graph for this function:

◆ ubsa_pre_param()

static int ubsa_pre_param ( struct ucom_softc ucom,
struct termios *  t 
)
static

Definition at line 428 of file ubsa.c.

References DPRINTF, and ucom_softc::sc_parent.

◆ ubsa_probe()

static int ubsa_probe ( device_t  dev)
static

◆ ubsa_read_callback()

static void ubsa_read_callback ( struct usb_xfer xfer,
usb_error_t  error 
)
static

◆ ubsa_start_read()

static void ubsa_start_read ( struct ucom_softc ucom)
static

Definition at line 525 of file ubsa.c.

References ucom_softc::sc_parent, ubsa_softc::sc_xfer, UBSA_BULK_DT_RD, UBSA_INTR_DT_RD, and usbd_transfer_start().

Here is the call graph for this function:

◆ ubsa_start_write()

static void ubsa_start_write ( struct ucom_softc ucom)
static

Definition at line 549 of file ubsa.c.

References ucom_softc::sc_parent, ubsa_softc::sc_xfer, UBSA_BULK_DT_WR, and usbd_transfer_start().

Here is the call graph for this function:

◆ ubsa_stop_read()

static void ubsa_stop_read ( struct ucom_softc ucom)
static

Definition at line 537 of file ubsa.c.

References ucom_softc::sc_parent, ubsa_softc::sc_xfer, UBSA_BULK_DT_RD, UBSA_INTR_DT_RD, and usbd_transfer_stop().

Here is the call graph for this function:

◆ ubsa_stop_write()

static void ubsa_stop_write ( struct ucom_softc ucom)
static

Definition at line 557 of file ubsa.c.

References ucom_softc::sc_parent, ubsa_softc::sc_xfer, UBSA_BULK_DT_WR, and usbd_transfer_stop().

Here is the call graph for this function:

◆ ubsa_write_callback()

static void ubsa_write_callback ( struct usb_xfer xfer,
usb_error_t  error 
)
static

◆ UCOM_UNLOAD_DRAIN()

UCOM_UNLOAD_DRAIN ( ubsa  )

◆ USB_PNP_HOST_INFO()

USB_PNP_HOST_INFO ( ubsa_devs  )

Variable Documentation

◆ ubsa_attach

device_attach_t ubsa_attach
static

Definition at line 173 of file ubsa.c.

◆ ubsa_callback

const struct ucom_callback ubsa_callback
static
Initial value:
= {
.ucom_cfg_get_status = &ubsa_cfg_get_status,
.ucom_cfg_set_dtr = &ubsa_cfg_set_dtr,
.ucom_cfg_set_rts = &ubsa_cfg_set_rts,
.ucom_cfg_set_break = &ubsa_cfg_set_break,
.ucom_cfg_param = &ubsa_cfg_param,
.ucom_pre_param = &ubsa_pre_param,
.ucom_start_read = &ubsa_start_read,
.ucom_stop_read = &ubsa_stop_read,
.ucom_start_write = &ubsa_start_write,
.ucom_stop_write = &ubsa_stop_write,
.ucom_poll = &ubsa_poll,
.ucom_free = &ubsa_free,
}
static void ubsa_stop_read(struct ucom_softc *)
Definition: ubsa.c:537
static void ubsa_cfg_get_status(struct ucom_softc *, uint8_t *, uint8_t *)
Definition: ubsa.c:565
static void ubsa_poll(struct ucom_softc *ucom)
Definition: ubsa.c:691
static void ubsa_start_write(struct ucom_softc *)
Definition: ubsa.c:549
static void ubsa_cfg_set_break(struct ucom_softc *, uint8_t)
Definition: ubsa.c:418
static void ubsa_free(struct ucom_softc *)
Definition: ubsa.c:371
static void ubsa_cfg_set_rts(struct ucom_softc *, uint8_t)
Definition: ubsa.c:408
static int ubsa_pre_param(struct ucom_softc *, struct termios *)
Definition: ubsa.c:428
static void ubsa_cfg_param(struct ucom_softc *, struct termios *)
Definition: ubsa.c:454
static void ubsa_cfg_set_dtr(struct ucom_softc *, uint8_t)
Definition: ubsa.c:398
static void ubsa_start_read(struct ucom_softc *)
Definition: ubsa.c:525
static void ubsa_stop_write(struct ucom_softc *)
Definition: ubsa.c:557

Definition at line 225 of file ubsa.c.

Referenced by ubsa_attach().

◆ ubsa_config

const struct usb_config ubsa_config[UBSA_N_TRANSFER]
static
Initial value:
= {
.type = UE_BULK,
.endpoint = UE_ADDR_ANY,
.direction = UE_DIR_OUT,
.bufsize = UBSA_BSIZE,
.flags = {.pipe_bof = 1,.force_short_xfer = 1,},
.callback = &ubsa_write_callback,
},
.type = UE_BULK,
.endpoint = UE_ADDR_ANY,
.direction = UE_DIR_IN,
.bufsize = UBSA_BSIZE,
.flags = {.pipe_bof = 1,.short_xfer_ok = 1,},
.callback = &ubsa_read_callback,
},
.type = UE_INTERRUPT,
.endpoint = UE_ADDR_ANY,
.direction = UE_DIR_IN,
.flags = {.pipe_bof = 1,.short_xfer_ok = 1,},
.bufsize = 0,
.callback = &ubsa_intr_callback,
},
}
#define UBSA_BSIZE
Definition: ubsa.c:99
static usb_callback_t ubsa_read_callback
Definition: ubsa.c:178
static usb_callback_t ubsa_intr_callback
Definition: ubsa.c:179
static usb_callback_t ubsa_write_callback
Definition: ubsa.c:177
@ UBSA_INTR_DT_RD
Definition: ubsa.c:154
@ UBSA_BULK_DT_WR
Definition: ubsa.c:152
@ UBSA_BULK_DT_RD
Definition: ubsa.c:153
#define UE_INTERRUPT
Definition: usb.h:544
#define UE_ADDR_ANY
Definition: usb.h:537
#define UE_BULK
Definition: usb.h:543
#define UE_DIR_IN
Definition: usb.h:531
#define UE_DIR_OUT
Definition: usb.h:532

Definition at line 196 of file ubsa.c.

Referenced by ubsa_attach().

◆ ubsa_detach

device_detach_t ubsa_detach
static

Definition at line 174 of file ubsa.c.

Referenced by ubsa_attach().

◆ ubsa_devclass

devclass_t ubsa_devclass
static

Definition at line 266 of file ubsa.c.

◆ ubsa_devs

const STRUCT_USB_HOST_ID ubsa_devs[]
static
Initial value:
= {
{USB_VPI(USB_VENDOR_ANYDATA, USB_PRODUCT_ANYDATA_ADU_500A, 0)},
{USB_VPI(USB_VENDOR_ANYDATA, USB_PRODUCT_ANYDATA_ADU_E100X, 0)},
{USB_VPI(USB_VENDOR_AXESSTEL, USB_PRODUCT_AXESSTEL_DATAMODEM, 0)},
{USB_VPI(USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5U103, 0)},
{USB_VPI(USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5U120, 0)},
{USB_VPI(USB_VENDOR_ETEK, USB_PRODUCT_ETEK_1COM, 0)},
{USB_VPI(USB_VENDOR_GOHUBS, USB_PRODUCT_GOHUBS_GOCOM232, 0)},
{USB_VPI(USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_SERIAL1, 0)},
}
#define USB_VPI(vend, prod, info)
Definition: usbdi.h:367

Definition at line 240 of file ubsa.c.

Referenced by ubsa_probe().

◆ ubsa_driver

driver_t ubsa_driver
static
Initial value:
= {
.name = "ubsa",
.methods = ubsa_methods,
.size = sizeof(struct ubsa_softc),
}
static device_method_t ubsa_methods[]
Definition: ubsa.c:259

Definition at line 268 of file ubsa.c.

◆ ubsa_intr_callback

usb_callback_t ubsa_intr_callback
static

Definition at line 179 of file ubsa.c.

◆ ubsa_methods

device_method_t ubsa_methods[]
static
Initial value:
= {
DEVMETHOD(device_probe, ubsa_probe),
DEVMETHOD(device_attach, ubsa_attach),
DEVMETHOD(device_detach, ubsa_detach),
DEVMETHOD_END
}
static device_detach_t ubsa_detach
Definition: ubsa.c:174
static device_probe_t ubsa_probe
Definition: ubsa.c:172
static device_attach_t ubsa_attach
Definition: ubsa.c:173

Definition at line 259 of file ubsa.c.

◆ ubsa_probe

device_probe_t ubsa_probe
static

Definition at line 172 of file ubsa.c.

◆ ubsa_read_callback

usb_callback_t ubsa_read_callback
static

Definition at line 178 of file ubsa.c.

◆ ubsa_write_callback

usb_callback_t ubsa_write_callback
static

Definition at line 177 of file ubsa.c.