FreeBSD kernel usb device Code
uslcom.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 <dev/usb/usb_ioctl.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 uslcom.c:

Go to the source code of this file.

Data Structures

struct  uslcom_softc
 

Macros

#define USB_DEBUG_VAR   uslcom_debug
 
#define USLCOM_BULK_BUF_SIZE   1024
 
#define USLCOM_CONFIG_INDEX   0
 
#define USLCOM_WRITE   0x41
 
#define USLCOM_READ   0xc1
 
#define USLCOM_IFC_ENABLE   0x00
 
#define USLCOM_SET_BAUDDIV   0x01
 
#define USLCOM_SET_LINE_CTL   0x03
 
#define USLCOM_SET_BREAK   0x05
 
#define USLCOM_SET_MHS   0x07
 
#define USLCOM_GET_MDMSTS   0x08
 
#define USLCOM_SET_FLOW   0x13
 
#define USLCOM_SET_BAUDRATE   0x1e
 
#define USLCOM_VENDOR_SPECIFIC   0xff
 
#define USLCOM_IFC_ENABLE_DIS   0x00
 
#define USLCOM_IFC_ENABLE_EN   0x01
 
#define USLCOM_MHS_DTR_ON   0x0001
 
#define USLCOM_MHS_DTR_SET   0x0100
 
#define USLCOM_MHS_RTS_ON   0x0002
 
#define USLCOM_MHS_RTS_SET   0x0200
 
#define USLCOM_MHS_CTS   0x0010
 
#define USLCOM_MHS_DSR   0x0020
 
#define USLCOM_MHS_RI   0x0040
 
#define USLCOM_MHS_DCD   0x0080
 
#define USLCOM_BAUDDIV_REF   3686400 /* 3.6864 MHz */
 
#define USLCOM_STOP_BITS_1   0x00
 
#define USLCOM_STOP_BITS_2   0x02
 
#define USLCOM_PARITY_NONE   0x00
 
#define USLCOM_PARITY_ODD   0x10
 
#define USLCOM_PARITY_EVEN   0x20
 
#define USLCOM_SET_DATA_BITS(x)   ((x) << 8)
 
#define USLCOM_SET_BREAK_OFF   0x00
 
#define USLCOM_SET_BREAK_ON   0x01
 
#define USLCOM_FLOW_DTR_ON   0x00000001 /* DTR static active */
 
#define USLCOM_FLOW_CTS_HS   0x00000008 /* CTS handshake */
 
#define USLCOM_FLOW_RTS_ON   0x00000040 /* RTS static active */
 
#define USLCOM_FLOW_RTS_HS   0x00000080 /* RTS handshake */
 
#define USLCOM_GET_PARTNUM   0x370B
 
#define USLCOM_WRITE_LATCH   0x37E1
 
#define USLCOM_READ_LATCH   0x00C2
 
#define USLCOM_PARTNUM_CP2101   1
 
#define USLCOM_PARTNUM_CP2102   2
 
#define USLCOM_PARTNUM_CP2103   3
 
#define USLCOM_PARTNUM_CP2104   4
 
#define USLCOM_PARTNUM_CP2105   5
 
#define USLCOM_DEV(v, p)   { USB_VP(USB_VENDOR_##v, USB_PRODUCT_##v##_##p) }
 

Enumerations

enum  { USLCOM_BULK_DT_WR , USLCOM_BULK_DT_RD , USLCOM_CTRL_DT_RD , USLCOM_N_TRANSFER }
 

Functions

 __FBSDID ("$FreeBSD$")
 
static void uslcom_free_softc (struct uslcom_softc *)
 
static void uslcom_free (struct ucom_softc *)
 
static uint8_t uslcom_get_partnum (struct uslcom_softc *)
 
static void uslcom_cfg_open (struct ucom_softc *)
 
static void uslcom_cfg_close (struct ucom_softc *)
 
static void uslcom_cfg_set_dtr (struct ucom_softc *, uint8_t)
 
static void uslcom_cfg_set_rts (struct ucom_softc *, uint8_t)
 
static void uslcom_cfg_set_break (struct ucom_softc *, uint8_t)
 
static void uslcom_cfg_param (struct ucom_softc *, struct termios *)
 
static void uslcom_cfg_get_status (struct ucom_softc *, uint8_t *, uint8_t *)
 
static int uslcom_ioctl (struct ucom_softc *, uint32_t, caddr_t, int, struct thread *)
 
static int uslcom_pre_param (struct ucom_softc *, struct termios *)
 
static void uslcom_start_read (struct ucom_softc *)
 
static void uslcom_stop_read (struct ucom_softc *)
 
static void uslcom_start_write (struct ucom_softc *)
 
static void uslcom_stop_write (struct ucom_softc *)
 
static void uslcom_poll (struct ucom_softc *ucom)
 
 DRIVER_MODULE (uslcom, uhub, uslcom_driver, uslcom_devclass, NULL, 0)
 
 MODULE_DEPEND (uslcom, ucom, 1, 1, 1)
 
 MODULE_DEPEND (uslcom, usb, 1, 1, 1)
 
 MODULE_VERSION (uslcom, 1)
 
 USB_PNP_HOST_INFO (uslcom_devs)
 
static void uslcom_watchdog (void *arg)
 
static int uslcom_probe (device_t dev)
 
static int uslcom_attach (device_t dev)
 
static int uslcom_detach (device_t dev)
 
 UCOM_UNLOAD_DRAIN (uslcom)
 
static void uslcom_write_callback (struct usb_xfer *xfer, usb_error_t error)
 
static void uslcom_read_callback (struct usb_xfer *xfer, usb_error_t error)
 
static void uslcom_control_callback (struct usb_xfer *xfer, usb_error_t error)
 

Variables

static device_probe_t uslcom_probe
 
static device_attach_t uslcom_attach
 
static device_detach_t uslcom_detach
 
static usb_callback_t uslcom_write_callback
 
static usb_callback_t uslcom_read_callback
 
static usb_callback_t uslcom_control_callback
 
static const struct usb_config uslcom_config [USLCOM_N_TRANSFER]
 
static struct ucom_callback uslcom_callback
 
static const STRUCT_USB_HOST_ID uslcom_devs []
 
static device_method_t uslcom_methods []
 
static devclass_t uslcom_devclass
 
static driver_t uslcom_driver
 

Macro Definition Documentation

◆ USB_DEBUG_VAR

#define USB_DEBUG_VAR   uslcom_debug

Definition at line 53 of file uslcom.c.

◆ USLCOM_BAUDDIV_REF

#define USLCOM_BAUDDIV_REF   3686400 /* 3.6864 MHz */

Definition at line 101 of file uslcom.c.

◆ USLCOM_BULK_BUF_SIZE

#define USLCOM_BULK_BUF_SIZE   1024

Definition at line 68 of file uslcom.c.

◆ USLCOM_CONFIG_INDEX

#define USLCOM_CONFIG_INDEX   0

Definition at line 69 of file uslcom.c.

◆ USLCOM_DEV

#define USLCOM_DEV (   v,
 
)    { USB_VP(USB_VENDOR_##v, USB_PRODUCT_##v##_##p) }

◆ USLCOM_FLOW_CTS_HS

#define USLCOM_FLOW_CTS_HS   0x00000008 /* CTS handshake */

Definition at line 117 of file uslcom.c.

◆ USLCOM_FLOW_DTR_ON

#define USLCOM_FLOW_DTR_ON   0x00000001 /* DTR static active */

Definition at line 116 of file uslcom.c.

◆ USLCOM_FLOW_RTS_HS

#define USLCOM_FLOW_RTS_HS   0x00000080 /* RTS handshake */

Definition at line 120 of file uslcom.c.

◆ USLCOM_FLOW_RTS_ON

#define USLCOM_FLOW_RTS_ON   0x00000040 /* RTS static active */

Definition at line 119 of file uslcom.c.

◆ USLCOM_GET_MDMSTS

#define USLCOM_GET_MDMSTS   0x08

Definition at line 81 of file uslcom.c.

◆ USLCOM_GET_PARTNUM

#define USLCOM_GET_PARTNUM   0x370B

Definition at line 123 of file uslcom.c.

◆ USLCOM_IFC_ENABLE

#define USLCOM_IFC_ENABLE   0x00

Definition at line 76 of file uslcom.c.

◆ USLCOM_IFC_ENABLE_DIS

#define USLCOM_IFC_ENABLE_DIS   0x00

Definition at line 87 of file uslcom.c.

◆ USLCOM_IFC_ENABLE_EN

#define USLCOM_IFC_ENABLE_EN   0x01

Definition at line 88 of file uslcom.c.

◆ USLCOM_MHS_CTS

#define USLCOM_MHS_CTS   0x0010

Definition at line 95 of file uslcom.c.

◆ USLCOM_MHS_DCD

#define USLCOM_MHS_DCD   0x0080

Definition at line 98 of file uslcom.c.

◆ USLCOM_MHS_DSR

#define USLCOM_MHS_DSR   0x0020

Definition at line 96 of file uslcom.c.

◆ USLCOM_MHS_DTR_ON

#define USLCOM_MHS_DTR_ON   0x0001

Definition at line 91 of file uslcom.c.

◆ USLCOM_MHS_DTR_SET

#define USLCOM_MHS_DTR_SET   0x0100

Definition at line 92 of file uslcom.c.

◆ USLCOM_MHS_RI

#define USLCOM_MHS_RI   0x0040

Definition at line 97 of file uslcom.c.

◆ USLCOM_MHS_RTS_ON

#define USLCOM_MHS_RTS_ON   0x0002

Definition at line 93 of file uslcom.c.

◆ USLCOM_MHS_RTS_SET

#define USLCOM_MHS_RTS_SET   0x0200

Definition at line 94 of file uslcom.c.

◆ USLCOM_PARITY_EVEN

#define USLCOM_PARITY_EVEN   0x20

Definition at line 108 of file uslcom.c.

◆ USLCOM_PARITY_NONE

#define USLCOM_PARITY_NONE   0x00

Definition at line 106 of file uslcom.c.

◆ USLCOM_PARITY_ODD

#define USLCOM_PARITY_ODD   0x10

Definition at line 107 of file uslcom.c.

◆ USLCOM_PARTNUM_CP2101

#define USLCOM_PARTNUM_CP2101   1

Definition at line 128 of file uslcom.c.

◆ USLCOM_PARTNUM_CP2102

#define USLCOM_PARTNUM_CP2102   2

Definition at line 129 of file uslcom.c.

◆ USLCOM_PARTNUM_CP2103

#define USLCOM_PARTNUM_CP2103   3

Definition at line 130 of file uslcom.c.

◆ USLCOM_PARTNUM_CP2104

#define USLCOM_PARTNUM_CP2104   4

Definition at line 131 of file uslcom.c.

◆ USLCOM_PARTNUM_CP2105

#define USLCOM_PARTNUM_CP2105   5

Definition at line 132 of file uslcom.c.

◆ USLCOM_READ

#define USLCOM_READ   0xc1

Definition at line 73 of file uslcom.c.

◆ USLCOM_READ_LATCH

#define USLCOM_READ_LATCH   0x00C2

Definition at line 125 of file uslcom.c.

◆ USLCOM_SET_BAUDDIV

#define USLCOM_SET_BAUDDIV   0x01

Definition at line 77 of file uslcom.c.

◆ USLCOM_SET_BAUDRATE

#define USLCOM_SET_BAUDRATE   0x1e

Definition at line 83 of file uslcom.c.

◆ USLCOM_SET_BREAK

#define USLCOM_SET_BREAK   0x05

Definition at line 79 of file uslcom.c.

◆ USLCOM_SET_BREAK_OFF

#define USLCOM_SET_BREAK_OFF   0x00

Definition at line 112 of file uslcom.c.

◆ USLCOM_SET_BREAK_ON

#define USLCOM_SET_BREAK_ON   0x01

Definition at line 113 of file uslcom.c.

◆ USLCOM_SET_DATA_BITS

#define USLCOM_SET_DATA_BITS (   x)    ((x) << 8)

Definition at line 109 of file uslcom.c.

◆ USLCOM_SET_FLOW

#define USLCOM_SET_FLOW   0x13

Definition at line 82 of file uslcom.c.

◆ USLCOM_SET_LINE_CTL

#define USLCOM_SET_LINE_CTL   0x03

Definition at line 78 of file uslcom.c.

◆ USLCOM_SET_MHS

#define USLCOM_SET_MHS   0x07

Definition at line 80 of file uslcom.c.

◆ USLCOM_STOP_BITS_1

#define USLCOM_STOP_BITS_1   0x00

Definition at line 104 of file uslcom.c.

◆ USLCOM_STOP_BITS_2

#define USLCOM_STOP_BITS_2   0x02

Definition at line 105 of file uslcom.c.

◆ USLCOM_VENDOR_SPECIFIC

#define USLCOM_VENDOR_SPECIFIC   0xff

Definition at line 84 of file uslcom.c.

◆ USLCOM_WRITE

#define USLCOM_WRITE   0x41

Definition at line 72 of file uslcom.c.

◆ USLCOM_WRITE_LATCH

#define USLCOM_WRITE_LATCH   0x37E1

Definition at line 124 of file uslcom.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
USLCOM_BULK_DT_WR 
USLCOM_BULK_DT_RD 
USLCOM_CTRL_DT_RD 
USLCOM_N_TRANSFER 

Definition at line 134 of file uslcom.c.

Function Documentation

◆ __FBSDID()

__FBSDID ( "$FreeBSD$"  )

◆ DRIVER_MODULE()

DRIVER_MODULE ( uslcom  ,
uhub  ,
uslcom_driver  ,
uslcom_devclass  ,
NULL  ,
 
)

◆ MODULE_DEPEND() [1/2]

MODULE_DEPEND ( uslcom  ,
ucom  ,
,
,
 
)

◆ MODULE_DEPEND() [2/2]

MODULE_DEPEND ( uslcom  ,
usb  ,
,
,
 
)

◆ MODULE_VERSION()

MODULE_VERSION ( uslcom  ,
 
)

◆ UCOM_UNLOAD_DRAIN()

UCOM_UNLOAD_DRAIN ( uslcom  )

◆ USB_PNP_HOST_INFO()

USB_PNP_HOST_INFO ( uslcom_devs  )

◆ uslcom_attach()

◆ uslcom_cfg_close()

◆ uslcom_cfg_get_status()

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

Definition at line 722 of file uslcom.c.

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

◆ uslcom_cfg_open()

static void uslcom_cfg_open ( struct ucom_softc ucom)
static

◆ uslcom_cfg_param()

◆ uslcom_cfg_set_break()

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

◆ uslcom_cfg_set_dtr()

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

◆ uslcom_cfg_set_rts()

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

◆ uslcom_control_callback()

◆ uslcom_detach()

static int uslcom_detach ( device_t  dev)
static

◆ uslcom_free()

static void uslcom_free ( struct ucom_softc ucom)
static

Definition at line 497 of file uslcom.c.

References ucom_softc::sc_parent, and uslcom_free_softc().

Here is the call graph for this function:

◆ uslcom_free_softc()

static void uslcom_free_softc ( struct uslcom_softc sc)
static

Definition at line 488 of file uslcom.c.

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

Referenced by uslcom_detach(), and uslcom_free().

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

◆ uslcom_get_partnum()

static uint8_t uslcom_get_partnum ( struct uslcom_softc sc)
static

Definition at line 545 of file uslcom.c.

References DPRINTF, req, uslcom_softc::sc_iface_no, uslcom_softc::sc_udev, usbd_do_request_flags(), USETW, USLCOM_GET_PARTNUM, USLCOM_READ, and USLCOM_VENDOR_SPECIFIC.

Referenced by uslcom_attach().

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

◆ uslcom_ioctl()

◆ uslcom_poll()

static void uslcom_poll ( struct ucom_softc ucom)
static

Definition at line 960 of file uslcom.c.

References ucom_softc::sc_parent, uslcom_softc::sc_xfer, usbd_transfer_poll(), and USLCOM_N_TRANSFER.

Here is the call graph for this function:

◆ uslcom_pre_param()

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

◆ uslcom_probe()

static int uslcom_probe ( device_t  dev)
static

Definition at line 403 of file uslcom.c.

References usbd_lookup_info::bConfigIndex, dev, usb_attach_arg::info, usb_attach_arg::usb_mode, USB_MODE_HOST, usbd_lookup_id_by_uaa(), USLCOM_CONFIG_INDEX, and uslcom_devs.

Here is the call graph for this function:

◆ uslcom_read_callback()

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

◆ uslcom_start_read()

static void uslcom_start_read ( struct ucom_softc ucom)
static

Definition at line 926 of file uslcom.c.

References ucom_softc::sc_parent, uslcom_softc::sc_xfer, usbd_transfer_start(), and USLCOM_BULK_DT_RD.

Here is the call graph for this function:

◆ uslcom_start_write()

static void uslcom_start_write ( struct ucom_softc ucom)
static

Definition at line 944 of file uslcom.c.

References ucom_softc::sc_parent, uslcom_softc::sc_xfer, usbd_transfer_start(), and USLCOM_BULK_DT_WR.

Here is the call graph for this function:

◆ uslcom_stop_read()

static void uslcom_stop_read ( struct ucom_softc ucom)
static

Definition at line 935 of file uslcom.c.

References ucom_softc::sc_parent, uslcom_softc::sc_xfer, usbd_transfer_stop(), and USLCOM_BULK_DT_RD.

Here is the call graph for this function:

◆ uslcom_stop_write()

static void uslcom_stop_write ( struct ucom_softc ucom)
static

Definition at line 952 of file uslcom.c.

References ucom_softc::sc_parent, uslcom_softc::sc_xfer, usbd_transfer_stop(), and USLCOM_BULK_DT_WR.

Here is the call graph for this function:

◆ uslcom_watchdog()

static void uslcom_watchdog ( void *  arg)
static

Definition at line 390 of file uslcom.c.

References uslcom_softc::sc_mtx, uslcom_softc::sc_watchdog, uslcom_softc::sc_xfer, usb_callout_reset, usbd_transfer_start(), USLCOM_CTRL_DT_RD, and uslcom_watchdog().

Referenced by uslcom_cfg_open(), and uslcom_watchdog().

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

◆ uslcom_write_callback()

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

Variable Documentation

◆ uslcom_attach

device_attach_t uslcom_attach
static

Definition at line 157 of file uslcom.c.

◆ uslcom_callback

struct ucom_callback uslcom_callback
static
Initial value:
= {
.ucom_cfg_get_status = &uslcom_cfg_get_status,
.ucom_cfg_set_dtr = &uslcom_cfg_set_dtr,
.ucom_cfg_set_rts = &uslcom_cfg_set_rts,
.ucom_cfg_set_break = &uslcom_cfg_set_break,
.ucom_cfg_open = &uslcom_cfg_open,
.ucom_cfg_close = &uslcom_cfg_close,
.ucom_cfg_param = &uslcom_cfg_param,
.ucom_pre_param = &uslcom_pre_param,
.ucom_ioctl = &uslcom_ioctl,
.ucom_start_read = &uslcom_start_read,
.ucom_stop_read = &uslcom_stop_read,
.ucom_start_write = &uslcom_start_write,
.ucom_stop_write = &uslcom_stop_write,
.ucom_poll = &uslcom_poll,
.ucom_free = &uslcom_free,
}
static void uslcom_cfg_set_rts(struct ucom_softc *, uint8_t)
Definition: uslcom.c:591
static void uslcom_free(struct ucom_softc *)
Definition: uslcom.c:497
static void uslcom_cfg_param(struct ucom_softc *, struct termios *)
Definition: uslcom.c:642
static void uslcom_cfg_set_dtr(struct ucom_softc *, uint8_t)
Definition: uslcom.c:567
static int uslcom_ioctl(struct ucom_softc *, uint32_t, caddr_t, int, struct thread *)
Definition: uslcom.c:753
static int uslcom_pre_param(struct ucom_softc *, struct termios *)
Definition: uslcom.c:615
static void uslcom_cfg_open(struct ucom_softc *)
Definition: uslcom.c:503
static void uslcom_stop_read(struct ucom_softc *)
Definition: uslcom.c:935
static void uslcom_cfg_set_break(struct ucom_softc *, uint8_t)
Definition: uslcom.c:734
static void uslcom_stop_write(struct ucom_softc *)
Definition: uslcom.c:952
static void uslcom_poll(struct ucom_softc *ucom)
Definition: uslcom.c:960
static void uslcom_start_read(struct ucom_softc *)
Definition: uslcom.c:926
static void uslcom_cfg_close(struct ucom_softc *)
Definition: uslcom.c:524
static void uslcom_start_write(struct ucom_softc *)
Definition: uslcom.c:944
static void uslcom_cfg_get_status(struct ucom_softc *, uint8_t *, uint8_t *)
Definition: uslcom.c:722

Definition at line 212 of file uslcom.c.

Referenced by uslcom_attach().

◆ uslcom_config

const struct usb_config uslcom_config[USLCOM_N_TRANSFER]
static
Initial value:
= {
.type = UE_BULK,
.endpoint = UE_ADDR_ANY,
.direction = UE_DIR_OUT,
.flags = {.pipe_bof = 1,},
.callback = &uslcom_write_callback,
},
.type = UE_BULK,
.endpoint = UE_ADDR_ANY,
.direction = UE_DIR_IN,
.flags = {.pipe_bof = 1,.short_xfer_ok = 1,},
.callback = &uslcom_read_callback,
},
.type = UE_CONTROL,
.endpoint = 0x00,
.direction = UE_DIR_ANY,
.bufsize = sizeof(struct usb_device_request) + 8,
.flags = {.pipe_bof = 1,},
.timeout = 1000,
},
}
#define UE_DIR_ANY
Definition: usb.h:535
#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
#define UE_CONTROL
Definition: usb.h:541
static usb_callback_t uslcom_write_callback
Definition: uslcom.c:161
#define USLCOM_BULK_BUF_SIZE
Definition: uslcom.c:68
@ USLCOM_BULK_DT_WR
Definition: uslcom.c:135
@ USLCOM_CTRL_DT_RD
Definition: uslcom.c:137
@ USLCOM_BULK_DT_RD
Definition: uslcom.c:136
static usb_callback_t uslcom_read_callback
Definition: uslcom.c:162
static usb_callback_t uslcom_control_callback
Definition: uslcom.c:163

Definition at line 183 of file uslcom.c.

Referenced by uslcom_attach().

◆ uslcom_control_callback

usb_callback_t uslcom_control_callback
static

Definition at line 163 of file uslcom.c.

◆ uslcom_detach

device_detach_t uslcom_detach
static

Definition at line 158 of file uslcom.c.

Referenced by uslcom_attach().

◆ uslcom_devclass

devclass_t uslcom_devclass
static

Definition at line 375 of file uslcom.c.

◆ uslcom_devs

const STRUCT_USB_HOST_ID uslcom_devs[]
static

Definition at line 230 of file uslcom.c.

Referenced by uslcom_probe().

◆ uslcom_driver

driver_t uslcom_driver
static
Initial value:
= {
.name = "uslcom",
.methods = uslcom_methods,
.size = sizeof(struct uslcom_softc),
}
static device_method_t uslcom_methods[]
Definition: uslcom.c:368

Definition at line 377 of file uslcom.c.

◆ uslcom_methods

device_method_t uslcom_methods[]
static
Initial value:
= {
DEVMETHOD(device_probe, uslcom_probe),
DEVMETHOD(device_attach, uslcom_attach),
DEVMETHOD(device_detach, uslcom_detach),
DEVMETHOD_END
}
static device_probe_t uslcom_probe
Definition: uslcom.c:156
static device_detach_t uslcom_detach
Definition: uslcom.c:158
static device_attach_t uslcom_attach
Definition: uslcom.c:157

Definition at line 368 of file uslcom.c.

◆ uslcom_probe

device_probe_t uslcom_probe
static

Definition at line 156 of file uslcom.c.

◆ uslcom_read_callback

usb_callback_t uslcom_read_callback
static

Definition at line 162 of file uslcom.c.

◆ uslcom_write_callback

usb_callback_t uslcom_write_callback
static

Definition at line 161 of file uslcom.c.