ugen_state_t
ugen_state_t *ugenp;
static int ugen_epxs_check_open_nodes(ugen_state_t *);
ugen_state_t *ugenp;
static int ugen_epx_open(ugen_state_t *, dev_t, int);
static void ugen_epx_close(ugen_state_t *, dev_t, int);
ugen_state_t *ugenp;
static void ugen_epx_shutdown(ugen_state_t *);
static int ugen_epx_open_pipe(ugen_state_t *, ugen_ep_t *, int);
static void ugen_epx_close_pipe(ugen_state_t *, ugen_ep_t *);
static int ugen_epx_req(ugen_state_t *, struct buf *);
static int ugen_epx_ctrl_req(ugen_state_t *, ugen_ep_t *,
static int ugen_epx_bulk_req(ugen_state_t *, ugen_ep_t *,
static int ugen_epx_intr_IN_req(ugen_state_t *, ugen_ep_t *,
ugen_state_t *ugenp = ugen_devt2state(dev);
static int ugen_epx_intr_IN_start_polling(ugen_state_t *, ugen_ep_t *);
static void ugen_epx_intr_IN_stop_polling(ugen_state_t *, ugen_ep_t *);
static int ugen_epx_intr_OUT_req(ugen_state_t *, ugen_ep_t *,
ugen_state_t *ugenp = ugen_devt2state(dev);
static int ugen_epx_isoc_IN_req(ugen_state_t *, ugen_ep_t *,
static int ugen_epx_isoc_IN_start_polling(ugen_state_t *, ugen_ep_t *);
ugen_get_ep_descr(ugen_state_t *ugenp, dev_t dev, uint8_t *bmAttr,
static void ugen_epx_isoc_IN_stop_polling(ugen_state_t *, ugen_ep_t *);
static int ugen_epx_isoc_OUT_req(ugen_state_t *, ugen_ep_t *,
ugen_check_open_flags(ugen_state_t *ugenp, dev_t dev, int flag)
static int ugen_eps_open(ugen_state_t *, dev_t, int);
static void ugen_eps_close(ugen_state_t *, dev_t, int);
static int ugen_eps_req(ugen_state_t *, struct buf *);
static void ugen_update_ep_descr(ugen_state_t *, ugen_ep_t *);
static int ugen_ds_init(ugen_state_t *);
static void ugen_ds_destroy(ugen_state_t *);
static int ugen_ds_open(ugen_state_t *, dev_t, int);
ugen_epxs_init(ugen_state_t *ugenp)
static void ugen_ds_close(ugen_state_t *, dev_t, int);
static int ugen_ds_req(ugen_state_t *, struct buf *);
static void ugen_ds_change(ugen_state_t *);
static int ugen_ds_minor_nodes_create(ugen_state_t *);
static void ugen_ds_poll_wakeup(ugen_state_t *);
ugen_epxs_data_init(ugen_state_t *ugenp, usb_ep_data_t *ep_data,
static int ugen_minor_index_create(ugen_state_t *, ugen_minor_t);
static ugen_minor_t ugen_devt2minor(ugen_state_t *, dev_t);
static void ugen_minor_node_table_create(ugen_state_t *);
static void ugen_minor_node_table_destroy(ugen_state_t *);
static void ugen_minor_node_table_shrink(ugen_state_t *);
ugen_epxs_destroy(ugen_state_t *ugenp)
ugen_epxs_data_destroy(ugen_state_t *ugenp, ugen_ep_t *epp)
static int ugen_is_valid_minor_node(ugen_state_t *, dev_t);
ugen_epxs_minor_nodes_create(ugen_state_t *ugenp, usb_ep_descr_t *ep_descr,
static void ugen_store_devt(ugen_state_t *, minor_t);
static ugen_state_t *ugen_devt2state(dev_t);
static void ugen_free_devt(ugen_state_t *);
ugen_epx_shutdown(ugen_state_t *ugenp)
ugen_cfgval2idx(ugen_state_t *ugenp, uint_t cfgval)
ugen_state_t *ugenp = kmem_zalloc(sizeof (ugen_state_t),
ugen_epxs_check_open_nodes(ugen_state_t *ugenp)
ugen_epxs_check_alt_switch(ugen_state_t *ugenp, uchar_t iface, uchar_t cfgidx)
ugen_epxs_switch_cfg_alt(ugen_state_t *ugenp, ugen_ep_t *epp, dev_t dev)
ugen_update_ep_descr(ugen_state_t *ugenp, ugen_ep_t *epp)
ugen_epx_open(ugen_state_t *ugenp, dev_t dev, int flag)
ugen_epx_close(ugen_state_t *ugenp, dev_t dev, int flag)
ugen_epx_open_pipe(ugen_state_t *ugenp, ugen_ep_t *epp, int flag)
ugen_epx_close_pipe(ugen_state_t *ugenp, ugen_ep_t *epp)
ugen_epx_req(ugen_state_t *ugenp, struct buf *bp)
ugen_epx_ctrl_req(ugen_state_t *ugenp, ugen_ep_t *epp,
ugen_state_t *ugenp = (ugen_state_t *)reqp->ctrl_client_private;
ugen_epx_bulk_req(ugen_state_t *ugenp, ugen_ep_t *epp,
ugen_state_t *ugenp = (ugen_state_t *)reqp->bulk_client_private;
ugen_epx_intr_IN_req(ugen_state_t *ugenp, ugen_ep_t *epp,
ugen_epx_intr_IN_start_polling(ugen_state_t *ugenp, ugen_ep_t *epp)
ugen_state_t *ugenp = usb_ugen_hdl_impl->hdl_ugenp;
ugen_epx_intr_IN_stop_polling(ugen_state_t *ugenp, ugen_ep_t *epp)
ugen_epx_intr_IN_poll_wakeup(ugen_state_t *ugenp, ugen_ep_t *epp)
ugen_state_t *ugenp = (ugen_state_t *)reqp->intr_client_private;
ugen_epx_intr_OUT_req(ugen_state_t *ugenp, ugen_ep_t *epp,
ugen_state_t *ugenp = (ugen_state_t *)reqp->intr_client_private;
ugen_state_t *ugenp;
ugen_epx_isoc_IN_req(ugen_state_t *ugenp, ugen_ep_t *epp,
ugen_epx_isoc_IN_start_polling(ugen_state_t *ugenp, ugen_ep_t *epp)
ugen_epx_isoc_IN_stop_polling(ugen_state_t *ugenp, ugen_ep_t *epp)
ugen_epx_isoc_IN_poll_wakeup(ugen_state_t *ugenp, ugen_ep_t *epp)
ugen_state_t *ugenp = (ugen_state_t *)reqp->isoc_client_private;
ugen_epx_isoc_OUT_req(ugen_state_t *ugenp, ugen_ep_t *epp,
ugen_state_t *ugenp = (ugen_state_t *)reqp->isoc_client_private;
ugen_eps_open(ugen_state_t *ugenp, dev_t dev, int flag)
ugen_eps_close(ugen_state_t *ugenp, dev_t dev, int flag)
ugen_eps_req(ugen_state_t *ugenp, struct buf *bp)
ugen_ds_init(ugen_state_t *ugenp)
ugen_ds_destroy(ugen_state_t *ugenp)
ugen_ds_open(ugen_state_t *ugenp, dev_t dev, int flag)
ugen_ds_close(ugen_state_t *ugenp, dev_t dev, int flag)
ugen_ds_req(ugen_state_t *ugenp, struct buf *bp)
ugen_ds_change(ugen_state_t *ugenp)
ugen_ds_poll_wakeup(ugen_state_t *ugenp)
ugen_ds_minor_nodes_create(ugen_state_t *ugenp)
ugen_minor_index_create(ugen_state_t *ugenp, ugen_minor_t minor)
ugen_state_t *ugenp = usb_ugen_hdl_impl->hdl_ugenp;
ugen_devt2minor(ugen_state_t *ugenp, dev_t dev)
ugen_is_valid_minor_node(ugen_state_t *ugenp, dev_t dev)
ugen_minor_node_table_create(ugen_state_t *ugenp)
ugen_minor_node_table_shrink(ugen_state_t *ugenp)
ugen_minor_node_table_destroy(ugen_state_t *ugenp)
ugen_pm_init(ugen_state_t *ugenp)
ugen_pm_destroy(ugen_state_t *ugenp)
ugen_state_t *ugenp;
ugen_cleanup(ugen_state_t *ugenp)
ugen_pm_busy_component(ugen_state_t *ugen_statep)
ugen_pm_idle_component(ugen_state_t *ugen_statep)
ugen_store_devt(ugen_state_t *ugenp, minor_t minor)
static ugen_state_t *
ugen_state_t *ugenp = NULL;
ugen_free_devt(ugen_state_t *ugenp)
ugen_cpr_suspend(ugen_state_t *ugenp)
ugen_cpr_resume(ugen_state_t *ugenp)
ugen_state_t *ugenp;
ugen_state_t *ugenp = usb_ugen_hdl_impl->hdl_ugenp;
ugen_restore_state(ugen_state_t *ugenp)
ugen_state_t *ugenp;
static int ugen_cleanup(ugen_state_t *);
static int ugen_cpr_suspend(ugen_state_t *);
static void ugen_cpr_resume(ugen_state_t *);
static void ugen_restore_state(ugen_state_t *);
static int ugen_check_open_flags(ugen_state_t *, dev_t, int);
static void ugen_pm_init(ugen_state_t *);
static void ugen_pm_destroy(ugen_state_t *);
static void ugen_pm_busy_component(ugen_state_t *);
ugen_state_t *ugenp;
static void ugen_pm_idle_component(ugen_state_t *);
static int ugen_epxs_init(ugen_state_t *);
static void ugen_epxs_destroy(ugen_state_t *);
static int ugen_epxs_data_init(ugen_state_t *, usb_ep_data_t *,
static void ugen_epxs_data_destroy(ugen_state_t *, ugen_ep_t *);
static int ugen_epxs_minor_nodes_create(ugen_state_t *,
ugen_state_t *ugenp;