Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/usb/cdns3/cdns3-gadget.c cdns3_check_ep_interrupt_proceed() -> cdns3_select_ep()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
LOCK2 &priv_dev->lock
LOCK2 bh
LOCK2 flags
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_ep_config() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 1 ep 0-255
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv_dev->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_ep_run_stream_transfer() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 1 ep 0-255
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
HALF_LOCKED2 &priv_dev->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_ep_run_transfer() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 1 ep 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
HALF_LOCKED2 &priv_dev->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_gadget_ep_dequeue() -> cdns3_select_ep()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 &ctx->ctx_lock
HALF_LOCKED2 &epdata->dev->lock
HALF_LOCKED2 &epdata->lock
HALF_LOCKED2 &epfile->dmabufs_mutex
HALF_LOCKED2 &epfile->ffs->eps_lock
HALF_LOCKED2 &ffs->eps_lock
HALF_LOCKED2 &port->port_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_gadget_ep_disable() -> cdns3_select_ep()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 ep 0-255
UNITS 1 ep unit_array_size
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 &data->lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &ep->lock
HALF_LOCKED2 &func->ffs->eps_lock
HALF_LOCKED2 &port->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_gadget_ep_enable() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 1 ep 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 &data->dev->lock
HALF_LOCKED2 &data->lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &func->ffs->eps_lock
HALF_LOCKED2 &port->lock
HALF_LOCKED2 &udc->connect_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_gadget_ep_enable() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->selected_ep 0-255
PARAM_VALUE 1 ep 0-255
CAPPED_DATA 0 priv_dev->selected_ep 1
CAPPED_DATA 1 ep 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 &data->dev->lock
HALF_LOCKED2 &data->lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &func->ffs->eps_lock
HALF_LOCKED2 &port->lock
HALF_LOCKED2 &udc->connect_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_gadget_ep_set_halt() -> cdns3_select_ep()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_gadget_udc_stop() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 1 ep 0-255
CAPPED_DATA 0 &priv_dev->gadget.ep_list 1
CAPPED_DATA 1 ep 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->connect_lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &gadget->dev.mutex
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct usb_udc)->connect_lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_transfer_completed() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
DATA_SOURCE 0 priv_dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
LOCK2 &priv_dev->lock
LOCK2 bh
LOCK2 flags
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_transfer_completed() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
DATA_SOURCE 0 priv_dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
LOCK2 &priv_dev->lock
LOCK2 bh
LOCK2 flags
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_wa2_check_outq_status() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
PARAM_VALUE 1 ep 0
DATA_SOURCE 0 priv_dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_wa2_check_outq_status() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
PARAM_VALUE 0 priv_dev->selected_ep 0
PARAM_VALUE 1 ep 0-255
DATA_SOURCE 0 priv_dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-gadget.c cdns3_wa2_gadget_ep_queue() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 1 ep 0-255
DATA_SOURCE 0 priv_dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv_dev->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-ep0.c cdns3_check_ep0_interrupt_proceed() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
PARAM_VALUE 1 ep 0,128
DATA_SOURCE 0 priv_dev $0
DATA_SOURCE 1 ep $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-ep0.c cdns3_check_new_setup() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 1 ep 0
DATA_SOURCE 0 priv_dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 &vhub->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-ep0.c cdns3_ep0_complete_setup() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
PARAM_VALUE 1 ep 0
CAPPED_DATA 0 priv_dev->ep0_data_dir 1
DATA_SOURCE 0 priv_dev $0
BIT_INFO 0 priv_dev->ep0_data_dir 0x0,0x80
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-ep0.c cdns3_ep0_config() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 1 ep 0
BUF_SIZE 0 priv_dev (-1),2504,11976
BUF_SIZE 0 priv_dev (-1),2504,11976
DATA_SOURCE 0 priv_dev $0
BIT_INFO 0 priv_dev->gadget.ep0->maxpacket 0x0,0x240
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 bh
HALF_LOCKED2 0 &priv_dev->lock

drivers/usb/cdns3/cdns3-ep0.c cdns3_ep0_config() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
PARAM_VALUE 1 ep 128
BUF_SIZE 0 priv_dev (-1),2504,11976
BUF_SIZE 0 priv_dev (-1),2504,11976
CAPPED_DATA 0 priv_dev->selected_ep 1
DATA_SOURCE 0 priv_dev $0
BIT_INFO 0 priv_dev->gadget.ep0->maxpacket 0x0,0x240
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 bh
HALF_LOCKED2 0 &priv_dev->lock

drivers/usb/cdns3/cdns3-ep0.c cdns3_ep0_feature_handle_endpoint() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
PARAM_VALUE 1 ep 0-u16max
CAPPED_DATA 0 priv_dev->selected_ep 1
DATA_SOURCE 0 priv_dev $0
BIT_INFO 0 priv_dev->ep0_data_dir 0x0,0x80
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
LOCK2 bh
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-ep0.c cdns3_ep0_feature_handle_endpoint() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
PARAM_VALUE 1 ep 0
DATA_SOURCE 0 priv_dev $0
BIT_INFO 0 priv_dev->ep0_data_dir 0x0,0x80
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-ep0.c cdns3_ep0_run_transfer() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
DATA_SOURCE 0 priv_dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-ep0.c cdns3_gadget_ep0_queue() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
PARAM_VALUE 0 priv_dev->selected_ep 0
PARAM_VALUE 1 ep 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 &vhub->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns3_device)->lock

drivers/usb/cdns3/cdns3-ep0.c cdns3_req_ep0_get_status() -> cdns3_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 priv_dev 4096-ptr_max
PARAM_VALUE 0 priv_dev->regs 4096-ptr_max
PARAM_VALUE 1 ep 0-u16max
CAPPED_DATA 0 priv_dev->selected_ep 1
DATA_SOURCE 0 priv_dev $0
BIT_INFO 0 priv_dev->ep0_data_dir 0x0,0x80
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
LOCK2 bh
LOCK2 flags
LOCK2 0 &priv_dev->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct cdns3_device)->lock