diff --git a/include/sm_io.h b/include/sm_io.h index 96ff84c97d87331d4ad075a5aa08f4ea2ef52e71..1ec7a574e4b28951d4ee4b7d937e9233d741f7d1 100644 --- a/include/sm_io.h +++ b/include/sm_io.h @@ -124,6 +124,9 @@ smio_t *smio_new (th_boot_args_t *args, zsock_t *pipe_mgmt, zsock_t *pipe_msg, smio_err_e smio_destroy (smio_t **self_p); /* Loop through all interface sockets */ smio_err_e smio_loop (smio_t *self); +/* Register SMIO */ +smio_err_e smio_register_sm (smio_t *self, uint32_t smio_id, uint64_t base, + uint32_t inst_id); smio_err_e smio_init_exp_ops (smio_t *self, disp_op_t** smio_exp_ops, const disp_table_func_fp *func_fps); diff --git a/src/sm_io/sm_io.c b/src/sm_io/sm_io.c index 32a986a13fd9bd8eff7c1d676285e140c633c04b..568d80f78591d1a525c9289423b385701eef387b 100644 --- a/src/sm_io/sm_io.c +++ b/src/sm_io/sm_io.c @@ -364,6 +364,20 @@ smio_err_e smio_loop (smio_t *self) return err; } +smio_err_e smio_register_sm (smio_t *self, uint32_t smio_id, uint64_t base, + uint32_t inst_id) +{ + assert (self); + smio_err_e err = SMIO_SUCCESS; + + devio_err_e derr = devio_register_sm (self->parent, smio_id, base, inst_id); + ASSERT_TEST(derr == DEVIO_SUCCESS, "Could not register SM", err_register_sm, + SMIO_ERR_REGISTER_SM); + +err_register_sm: + return err; +} + /************************************************************/ /***************** Dispatch table callbacks *****************/ /************************************************************/