Lines Matching refs:c_data
198 static inline bool usbd_dfu_image_next(struct usbd_class_data *const c_data, in usbd_dfu_image_next() argument
201 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in usbd_dfu_image_next()
211 static ALWAYS_INLINE void dfu_error(struct usbd_class_data *const c_data, in dfu_error() argument
215 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_error()
227 static int app_idle_next(struct usbd_class_data *const c_data, in app_idle_next() argument
230 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in app_idle_next()
245 static int app_detach_next(struct usbd_class_data *const c_data, in app_detach_next() argument
258 static int dfu_idle_next(struct usbd_class_data *const c_data, in dfu_idle_next() argument
261 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_idle_next()
266 dfu_error(c_data, DFU_ERROR, ERR_STALLEDPKT); in dfu_idle_next()
271 dfu_error(c_data, DFU_ERROR, ERR_VENDOR); in dfu_idle_next()
276 dfu_error(c_data, DFU_ERROR, ERR_STALLEDPKT); in dfu_idle_next()
284 dfu_error(c_data, DFU_ERROR, ERR_STALLEDPKT); in dfu_idle_next()
289 dfu_error(c_data, DFU_ERROR, ERR_VENDOR); in dfu_idle_next()
294 dfu_error(c_data, DFU_ERROR, ERR_STALLEDPKT); in dfu_idle_next()
307 dfu_error(c_data, DFU_ERROR, ERR_STALLEDPKT); in dfu_idle_next()
312 static int dfu_dnload_sync_next(struct usbd_class_data *const c_data, in dfu_dnload_sync_next() argument
315 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_dnload_sync_next()
320 if (usbd_dfu_image_next(c_data, DFU_DNLOAD_IDLE)) { in dfu_dnload_sync_next()
330 dfu_error(c_data, DFU_ERROR, ERR_STALLEDPKT); in dfu_dnload_sync_next()
335 static int dfu_dnbusy_next(struct usbd_class_data *const c_data, in dfu_dnbusy_next() argument
338 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_dnbusy_next()
343 return dfu_dnload_sync_next(c_data, setup); in dfu_dnbusy_next()
346 static int dfu_dnload_idle_next(struct usbd_class_data *const c_data, in dfu_dnload_idle_next() argument
349 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_dnload_idle_next()
363 usbd_dfu_image_next(c_data, data->next); in dfu_dnload_idle_next()
369 dfu_error(c_data, DFU_ERROR, ERR_STALLEDPKT); in dfu_dnload_idle_next()
374 static int dfu_manifest_sync_next(struct usbd_class_data *const c_data, in dfu_manifest_sync_next() argument
377 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_manifest_sync_next()
381 if (usbd_dfu_image_next(c_data, DFU_IDLE)) { in dfu_manifest_sync_next()
390 dfu_error(c_data, DFU_ERROR, ERR_STALLEDPKT); in dfu_manifest_sync_next()
397 static int dfu_manifest_next(struct usbd_class_data *const c_data, in dfu_manifest_next() argument
400 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_manifest_next()
406 return dfu_manifest_sync_next(c_data, setup); in dfu_manifest_next()
410 usbd_dfu_image_next(c_data, DFU_MANIFEST_WAIT_RST); in dfu_manifest_next()
415 static int dfu_manifest_wait_rst_next(struct usbd_class_data *const c_data, in dfu_manifest_wait_rst_next() argument
423 static int dfu_upload_idle_next(struct usbd_class_data *const c_data, in dfu_upload_idle_next() argument
426 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_upload_idle_next()
431 dfu_error(c_data, DFU_ERROR, ERR_STALLEDPKT); in dfu_upload_idle_next()
440 usbd_dfu_image_next(c_data, data->next); in dfu_upload_idle_next()
446 dfu_error(c_data, DFU_ERROR, ERR_STALLEDPKT); in dfu_upload_idle_next()
451 static int dfu_error_next(struct usbd_class_data *const c_data, in dfu_error_next() argument
460 dfu_error(c_data, DFU_IDLE, ERR_OK); in dfu_error_next()
467 static int (*next_entries[])(struct usbd_class_data *const c_data,
493 static int dfu_set_next_state(struct usbd_class_data *const c_data, in dfu_set_next_state() argument
496 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_set_next_state()
508 err = next_entries[data->state](c_data, setup); in dfu_set_next_state()
519 static int handle_get_status(struct usbd_class_data *const c_data, in handle_get_status() argument
523 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in handle_get_status()
545 static int handle_get_state(struct usbd_class_data *const c_data, in handle_get_state() argument
549 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in handle_get_state()
563 static int runtime_mode_control_to_host(struct usbd_class_data *const c_data, in runtime_mode_control_to_host() argument
567 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in runtime_mode_control_to_host()
569 errno = dfu_set_next_state(c_data, setup); in runtime_mode_control_to_host()
574 errno = handle_get_status(c_data, setup, buf); in runtime_mode_control_to_host()
577 errno = handle_get_state(c_data, setup, buf); in runtime_mode_control_to_host()
589 static int runtime_mode_control_to_dev(struct usbd_class_data *const c_data, in runtime_mode_control_to_dev() argument
593 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in runtime_mode_control_to_dev()
595 errno = dfu_set_next_state(c_data, setup); in runtime_mode_control_to_dev()
608 static void *runtime_mode_get_desc(struct usbd_class_data *const c_data, in runtime_mode_get_desc() argument
611 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in runtime_mode_get_desc()
616 static int runtime_mode_init(struct usbd_class_data *const c_data) in runtime_mode_init() argument
618 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in runtime_mode_init()
620 LOG_DBG("Init class instance %p", c_data); in runtime_mode_init()
626 data->ctx = usbd_class_get_ctx(c_data); in runtime_mode_init()
642 static int handle_upload(struct usbd_class_data *const c_data, in handle_upload() argument
646 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in handle_upload()
659 dfu_error(c_data, DFU_ERROR, ERR_UNKNOWN); in handle_upload()
665 static int handle_download(struct usbd_class_data *const c_data, in handle_download() argument
669 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in handle_download()
677 dfu_error(c_data, DFU_ERROR, ERR_UNKNOWN); in handle_download()
683 static int dfu_mode_control_to_host(struct usbd_class_data *const c_data, in dfu_mode_control_to_host() argument
687 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_mode_control_to_host()
689 errno = dfu_set_next_state(c_data, setup); in dfu_mode_control_to_host()
694 errno = handle_get_status(c_data, setup, buf); in dfu_mode_control_to_host()
697 errno = handle_get_state(c_data, setup, buf); in dfu_mode_control_to_host()
700 errno = handle_upload(c_data, setup, buf); in dfu_mode_control_to_host()
712 static int dfu_mode_control_to_dev(struct usbd_class_data *const c_data, in dfu_mode_control_to_dev() argument
716 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_mode_control_to_dev()
718 errno = dfu_set_next_state(c_data, setup); in dfu_mode_control_to_dev()
722 handle_download(c_data, setup, buf); in dfu_mode_control_to_dev()
731 static void dfu_mode_update(struct usbd_class_data *const c_data, in dfu_mode_update() argument
734 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_mode_update()
737 c_data, iface, alternate); in dfu_mode_update()
750 static void *dfu_mode_get_desc(struct usbd_class_data *const c_data, in dfu_mode_get_desc() argument
753 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_mode_get_desc()
758 static int dfu_mode_init(struct usbd_class_data *const c_data) in dfu_mode_init() argument
760 struct usbd_dfu_data *data = usbd_class_get_private(c_data); in dfu_mode_init()
761 struct usbd_context *uds_ctx = usbd_class_get_ctx(c_data); in dfu_mode_init()
763 LOG_DBG("Init class instance %p", c_data); in dfu_mode_init()
769 data->ctx = usbd_class_get_ctx(c_data); in dfu_mode_init()