int invsens_sm_read(struct invsens_sm_data_t *sm,
		    struct invsens_data_list_t *data_list)
{
	struct invsens_sm_cfg *smcfg = NULL;


	INV_DBG_FUNC_NAME;
	if (!sm) {
		printk("%d------------\n", __LINE__);
		return -SM_EINVAL;
	}
	
	if (sm->user_data == NULL) {
		printk("%d------------\n", __LINE__);
		return  -SM_EINVAL;
	}

	smcfg = (struct invsens_sm_cfg *)sm->user_data;

	
	if (smcfg == NULL) {
		printk("%d------------\n", __LINE__);
		return  -SM_EINVAL;
	}

	data_list->enable_mask =smcfg->enabled_mask;

	return sm_read_data(smcfg, data_list);
}
int invsens_sm_read(struct invsens_sm_data_t *sm,
		    struct invsens_data_list_t *data_list)
{
	struct invsens_sm_cfg *smcfg = NULL;


	INV_DBG_FUNC_NAME;

	if (!sm)
		return -SM_EINVAL;

	smcfg = sm->user_data;

	if (!smcfg)
		return -SM_EINVAL;

	data_list->enable_mask = smcfg->enabled_mask;

	return sm_read_data(smcfg, data_list);
}