Lines Matching refs:kvdl
20 struct mlxsw_sp_kvdl *kvdl; in mlxsw_sp_kvdl_init() local
23 kvdl = kzalloc(sizeof(*mlxsw_sp->kvdl) + kvdl_ops->priv_size, in mlxsw_sp_kvdl_init()
25 if (!kvdl) in mlxsw_sp_kvdl_init()
27 mutex_init(&kvdl->kvdl_lock); in mlxsw_sp_kvdl_init()
28 kvdl->kvdl_ops = kvdl_ops; in mlxsw_sp_kvdl_init()
29 mlxsw_sp->kvdl = kvdl; in mlxsw_sp_kvdl_init()
31 err = kvdl_ops->init(mlxsw_sp, kvdl->priv); in mlxsw_sp_kvdl_init()
37 mutex_destroy(&kvdl->kvdl_lock); in mlxsw_sp_kvdl_init()
38 kfree(kvdl); in mlxsw_sp_kvdl_init()
44 struct mlxsw_sp_kvdl *kvdl = mlxsw_sp->kvdl; in mlxsw_sp_kvdl_fini() local
46 kvdl->kvdl_ops->fini(mlxsw_sp, kvdl->priv); in mlxsw_sp_kvdl_fini()
47 mutex_destroy(&kvdl->kvdl_lock); in mlxsw_sp_kvdl_fini()
48 kfree(kvdl); in mlxsw_sp_kvdl_fini()
55 struct mlxsw_sp_kvdl *kvdl = mlxsw_sp->kvdl; in mlxsw_sp_kvdl_alloc() local
58 mutex_lock(&kvdl->kvdl_lock); in mlxsw_sp_kvdl_alloc()
59 err = kvdl->kvdl_ops->alloc(mlxsw_sp, kvdl->priv, type, in mlxsw_sp_kvdl_alloc()
61 mutex_unlock(&kvdl->kvdl_lock); in mlxsw_sp_kvdl_alloc()
70 struct mlxsw_sp_kvdl *kvdl = mlxsw_sp->kvdl; in mlxsw_sp_kvdl_free() local
72 mutex_lock(&kvdl->kvdl_lock); in mlxsw_sp_kvdl_free()
73 kvdl->kvdl_ops->free(mlxsw_sp, kvdl->priv, type, in mlxsw_sp_kvdl_free()
75 mutex_unlock(&kvdl->kvdl_lock); in mlxsw_sp_kvdl_free()
83 struct mlxsw_sp_kvdl *kvdl = mlxsw_sp->kvdl; in mlxsw_sp_kvdl_alloc_count_query() local
85 return kvdl->kvdl_ops->alloc_size_query(mlxsw_sp, kvdl->priv, type, in mlxsw_sp_kvdl_alloc_count_query()