Lines Matching refs:pdeo
141 static void close_pdeo(struct proc_dir_entry *pde, struct pde_opener *pdeo) in close_pdeo() argument
153 if (pdeo->closing) { in close_pdeo()
156 pdeo->c = &c; in close_pdeo()
163 pdeo->closing = true; in close_pdeo()
165 file = pdeo->file; in close_pdeo()
169 list_del(&pdeo->lh); in close_pdeo()
170 c = pdeo->c; in close_pdeo()
174 kmem_cache_free(pde_opener_cache, pdeo); in close_pdeo()
190 struct pde_opener *pdeo; in proc_entry_rundown() local
191 pdeo = list_first_entry(&de->pde_openers, struct pde_opener, lh); in proc_entry_rundown()
192 close_pdeo(de, pdeo); in proc_entry_rundown()
338 struct pde_opener *pdeo; in proc_reg_open() local
356 pdeo = kmem_cache_alloc(pde_opener_cache, GFP_KERNEL); in proc_reg_open()
357 if (!pdeo) { in proc_reg_open()
370 pdeo->file = file; in proc_reg_open()
371 pdeo->closing = false; in proc_reg_open()
372 pdeo->c = NULL; in proc_reg_open()
374 list_add(&pdeo->lh, &pde->pde_openers); in proc_reg_open()
377 kmem_cache_free(pde_opener_cache, pdeo); in proc_reg_open()
388 struct pde_opener *pdeo; in proc_reg_release() local
390 list_for_each_entry(pdeo, &pde->pde_openers, lh) { in proc_reg_release()
391 if (pdeo->file == file) { in proc_reg_release()
392 close_pdeo(pde, pdeo); in proc_reg_release()