/*===========================================================================* * sef_local_startup * *===========================================================================*/ static void sef_local_startup() { mmc_log_info(&log, "Initializing the MMC block device\n"); if (apply_env()) { mmc_log_warn(&log, "Failed while applying environment settings\n"); exit(EXIT_FAILURE); } if (host.host_init(&host)) { mmc_log_warn(&log, "Failed to initialize the host controller\n"); exit(EXIT_FAILURE); } /* * Register callbacks for fresh start, live update and restart. * Use the same function for all event types */ sef_setcb_init_fresh(block_system_event_cb); sef_setcb_init_lu(block_system_event_cb); /* Register a signal handler */ sef_setcb_signal_handler(block_signal_handler_cb); /* SEF startup */ sef_startup(); }
static void sef_local_startup(void) { sef_setcb_init_fresh(sef_cb_init_fresh); sef_setcb_init_lu(sef_cb_init_fresh); sef_setcb_signal_handler(sef_cb_signal_handler); sef_startup(); }
static void sef_local_startup() { /* Register init callbacks. */ sef_setcb_init_fresh(sef_cb_init_fresh); sef_setcb_init_lu(sef_cb_init_fresh); sef_setcb_init_restart(sef_cb_init_fresh); /* Let SEF perform startup. */ sef_startup(); }
/*===========================================================================* * blockdriver_mt_support_lu * *===========================================================================*/ void blockdriver_mt_support_lu(void) { /* Enable suppor for live update of this driver. To be called before * sef_startup(). */ /* Register live update callbacks. */ sef_setcb_init_lu(sef_cb_init_lu); sef_setcb_lu_prepare(sef_cb_lu_prepare); sef_setcb_lu_state_changed(sef_cb_lu_state_changed); sef_setcb_lu_state_isvalid(sef_cb_lu_state_isvalid_standard); }
/*===========================================================================* * sef_local_startup * *===========================================================================*/ static void sef_local_startup(void) { /* Register init callbacks. */ sef_setcb_init_fresh(sef_cb_init_fresh); sef_setcb_init_restart(sef_cb_init_fresh); sef_setcb_init_lu(sef_cb_init_fresh); /* Register signal callback. */ sef_setcb_signal_handler(sef_cb_signal_handler); /* Let SEF perform startup. */ sef_startup(); }
PRIVATE void sef_local_startup() { /* Register init callbacks. */ sef_setcb_init_fresh(sef_cb_init_fresh); sef_setcb_init_lu(sef_cb_init_fresh); sef_setcb_init_restart(sef_cb_init_fresh); /* Register live update callbacks. */ sef_setcb_lu_prepare(sef_cb_lu_prepare_always_ready); sef_setcb_lu_state_isvalid(sef_cb_lu_state_isvalid_standard); /* Let SEF perform startup. */ sef_startup(); }
static void sef_local_startup() { sef_setcb_init_fresh(sef_cb_init_fresh); sef_setcb_init_lu(sef_cb_init_fresh); sef_setcb_init_restart(sef_cb_init_fresh); sef_setcb_lu_prepare(sef_cb_lu_prepare_always_ready); sef_setcb_lu_state_isvalid(sef_cb_lu_state_isvalid_workfree); sef_setcb_signal_handler(sef_cb_signal_handler); sef_startup(); }
/*===========================================================================* * sef_local_startup * *===========================================================================*/ static void sef_local_startup(void) { /* Register init callbacks. */ sef_setcb_init_fresh(sef_cb_init_fresh); sef_setcb_init_restart(SEF_CB_INIT_RESTART_STATEFUL); /* Register live update callbacks. */ sef_setcb_init_lu(sef_cb_init_lu); sef_setcb_lu_prepare(sef_cb_lu_prepare); sef_setcb_lu_state_changed(sef_cb_lu_state_changed); sef_setcb_lu_state_isvalid(sef_cb_lu_state_isvalid_standard); /* Let SEF perform startup. */ sef_startup(); }
/*===========================================================================* * sef_local_startup * *===========================================================================*/ PRIVATE void sef_local_startup(void) { /* Register init callbacks. */ sef_setcb_init_fresh(sef_cb_init_fresh); sef_setcb_init_lu(sef_cb_init_fresh); sef_setcb_init_restart(sef_cb_init_fresh); /* Register live update callbacks. */ sef_setcb_lu_prepare(sef_cb_lu_prepare); sef_setcb_lu_state_isvalid(sef_cb_lu_state_isvalid); sef_setcb_lu_state_dump(sef_cb_lu_state_dump); /* Let SEF perform startup. */ sef_startup(); }
/*===========================================================================* * usbd_init * *===========================================================================*/ static void usbd_init(void) { /* No DEBUG_DUMP, threading unavailable yet */ /* Set one handler for all messages */ sef_setcb_init_fresh(usbd_sef_handler); sef_setcb_init_lu(usbd_sef_handler); sef_setcb_init_restart(usbd_sef_handler); /* Initialize DDEkit (involves sef_startup()) */ ddekit_init(); /* After threading initialization, add signal handler */ sef_setcb_signal_handler(usbd_signal_handler); }
/*===========================================================================* * sef_local_startup * *===========================================================================*/ static void sef_local_startup() { /* Register init callbacks. */ sef_setcb_init_fresh(sef_cb_init_fresh); sef_setcb_init_lu(sef_cb_init_fresh); sef_setcb_init_restart(sef_cb_init_fresh); /* Register live update callbacks. */ sef_setcb_lu_prepare(sef_cb_lu_prepare_always_ready); sef_setcb_lu_state_isvalid(sef_cb_lu_state_isvalid_workfree); /* Register signal callbacks. */ sef_setcb_signal_handler(sef_cb_signal_handler_term); /* Let SEF perform startup. */ sef_startup(); }
/*===========================================================================* * sef_local_startup * *===========================================================================*/ static void sef_local_startup() { /* Register init callbacks. */ sef_setcb_init_fresh(sef_cb_init_fresh); sef_setcb_init_restart(sef_cb_init_restart); sef_setcb_init_lu(sef_cb_init_lu); /* Register response callbacks. */ sef_setcb_init_response(sef_cb_init_response); sef_setcb_lu_response(sef_cb_lu_response); /* Register signal callbacks. */ sef_setcb_signal_handler(sef_cb_signal_handler); sef_setcb_signal_manager(sef_cb_signal_manager); /* Let SEF perform startup. */ sef_startup(); }
static void sef_local_startup() { /* Register init callbacks. Use the same function for all event types */ sef_setcb_init_fresh(sef_cb_init); sef_setcb_init_lu(sef_cb_init); sef_setcb_init_restart(sef_cb_init); /* Register live update callbacks */ /* - Agree to update immediately when LU is requested in a valid state*/ sef_setcb_lu_prepare(sef_cb_lu_prepare_always_ready); /* - Support live update starting from any standard state */ sef_setcb_lu_state_isvalid(sef_cb_lu_state_isvalid_standard); /* - Register a custom routine to save the state. */ sef_setcb_lu_state_save(sef_cb_lu_state_save); /* Let SEF perform startup. */ sef_startup(); }