Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/usb/gadget/udc/cdns2/cdns2-gadget.c cdns2_ep_config() -> cdns2_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 pdev 4096-ptr_max
PARAM_VALUE 1 ep 0-255
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pdev->lock
HALF_LOCKED2 &data->dev->lock
HALF_LOCKED2 &data->lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &func->ffs->eps_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port->lock
HALF_LOCKED2 &udc->connect_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct cdns2_device)->lock

drivers/usb/gadget/udc/cdns2/cdns2-gadget.c cdns2_ep_run_transfer() -> cdns2_select_ep()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ep unit_array_size
HALF_LOCKED2 &pdev->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns2_device)->lock

drivers/usb/gadget/udc/cdns2/cdns2-gadget.c cdns2_gadget_ep_disable() -> cdns2_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 &pdev->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 cdns2_device)->lock

drivers/usb/gadget/udc/cdns2/cdns2-gadget.c cdns2_gadget_udc_stop() -> cdns2_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 pdev 4096-ptr_max
PARAM_VALUE 1 ep 0-255
CAPPED_DATA 0 &pdev->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/gadget/udc/cdns2/cdns2-gadget.c cdns2_handle_epx_interrupt() -> cdns2_select_ep()

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

drivers/usb/gadget/udc/cdns2/cdns2-gadget.c cdns2_transfer_completed() -> cdns2_select_ep()

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

drivers/usb/gadget/udc/cdns2/cdns2-ep0.c cdns2_ep0_config() -> cdns2_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 pdev 4096-ptr_max
PARAM_VALUE 1 ep 0
BUF_SIZE 0 pdev s32min-(-1),1-s32max
BUF_SIZE 0 pdev s32min-(-1),1-s32max
DATA_SOURCE 0 pdev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 pdev unit_byte
LOCK2 flags
LOCK2 0 &pdev->lock
HALF_LOCKED2 bh
TYPE_LOCK (struct cdns2_device)->lock

drivers/usb/gadget/udc/cdns2/cdns2-ep0.c cdns2_ep0_config() -> cdns2_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 pdev 4096-ptr_max
PARAM_VALUE 0 pdev->adma_regs 4096-ptr_max
PARAM_VALUE 1 ep 128
BUF_SIZE 0 pdev s32min-(-1),1-s32max
BUF_SIZE 0 pdev s32min-(-1),1-s32max
CAPPED_DATA 0 pdev->selected_ep 1
DATA_SOURCE 0 pdev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 pdev unit_byte
LOCK2 flags
LOCK2 0 &pdev->lock
HALF_LOCKED2 bh
TYPE_LOCK (struct cdns2_device)->lock

drivers/usb/gadget/udc/cdns2/cdns2-ep0.c cdns2_ep0_enqueue() -> cdns2_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 pdev 4096-ptr_max
DATA_SOURCE 0 pdev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 pdev->dev_address 0-255
UNITS 1 ep unit_array_size
LOCK2 0 &pdev->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
TYPE_LOCK (struct cdns2_device)->lock

drivers/usb/gadget/udc/cdns2/cdns2-ep0.c cdns2_handle_ep0_interrupt() -> cdns2_select_ep()

Type Parameter Key Value
PARAM_VALUE 0 pdev 4096-ptr_max
PARAM_VALUE 0 pdev->adma_regs 4096-ptr_max
PARAM_VALUE 1 ep 0,128
DATA_SOURCE 0 pdev $0
DATA_SOURCE 1 ep $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 pdev->dev_address 0-255
LOCK2 bh
LOCK2 flags
LOCK2 0 &pdev->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct cdns2_device)->lock