Lines Matching refs:mlinkp
61 static void psm_modlinkage_free(struct modlinkage *mlinkp);
83 struct modlinkage *mlinkp; in psm_modlinkage_alloc() local
89 mlinkp = (struct modlinkage *)kmem_zalloc(memsz, KM_NOSLEEP); in psm_modlinkage_alloc()
90 if (!mlinkp) { in psm_modlinkage_alloc()
95 mlpsmp = (struct modlpsm *)(mlinkp + 1); in psm_modlinkage_alloc()
98 mlinkp->ml_rev = MODREV_1; in psm_modlinkage_alloc()
99 mlinkp->ml_linkage[0] = (void *)mlpsmp; in psm_modlinkage_alloc()
100 mlinkp->ml_linkage[1] = (void *)NULL; in psm_modlinkage_alloc()
108 return (mlinkp); in psm_modlinkage_alloc()
112 psm_modlinkage_free(struct modlinkage *mlinkp) in psm_modlinkage_free() argument
114 if (!mlinkp) in psm_modlinkage_free()
117 (void) kmem_free(mlinkp, (sizeof (struct modlinkage) + in psm_modlinkage_free()
126 struct modlinkage *mlinkp; in psm_mod_init() local
129 mlinkp = psm_modlinkage_alloc(infop); in psm_mod_init()
130 if (!mlinkp) in psm_mod_init()
133 mlinkp = *modlpp; in psm_mod_init()
135 status = mod_install(mlinkp); in psm_mod_init()
137 psm_modlinkage_free(mlinkp); in psm_mod_init()
140 *modlpp = mlinkp; in psm_mod_init()
165 struct modlinkage *mlinkp; in psm_mod_info() local
168 mlinkp = psm_modlinkage_alloc(infop); in psm_mod_info()
169 if (!mlinkp) in psm_mod_info()
172 mlinkp = *modlpp; in psm_mod_info()
174 status = mod_info(mlinkp, modinfop); in psm_mod_info()
177 psm_modlinkage_free(mlinkp); in psm_mod_info()
180 *modlpp = mlinkp; in psm_mod_info()