Lines Matching refs:p
55 struct p9_idpool *p; in p9_idpool_create() local
57 p = kmalloc(sizeof(struct p9_idpool), GFP_KERNEL); in p9_idpool_create()
58 if (!p) in p9_idpool_create()
61 spin_lock_init(&p->lock); in p9_idpool_create()
62 idr_init(&p->pool); in p9_idpool_create()
64 return p; in p9_idpool_create()
73 void p9_idpool_destroy(struct p9_idpool *p) in p9_idpool_destroy() argument
75 idr_destroy(&p->pool); in p9_idpool_destroy()
76 kfree(p); in p9_idpool_destroy()
88 int p9_idpool_get(struct p9_idpool *p) in p9_idpool_get() argument
94 spin_lock_irqsave(&p->lock, flags); in p9_idpool_get()
97 i = idr_alloc(&p->pool, p, 0, 0, GFP_NOWAIT); in p9_idpool_get()
99 spin_unlock_irqrestore(&p->lock, flags); in p9_idpool_get()
104 p9_debug(P9_DEBUG_MUX, " id %d pool %p\n", i, p); in p9_idpool_get()
118 void p9_idpool_put(int id, struct p9_idpool *p) in p9_idpool_put() argument
122 p9_debug(P9_DEBUG_MUX, " id %d pool %p\n", id, p); in p9_idpool_put()
124 spin_lock_irqsave(&p->lock, flags); in p9_idpool_put()
125 idr_remove(&p->pool, id); in p9_idpool_put()
126 spin_unlock_irqrestore(&p->lock, flags); in p9_idpool_put()
136 int p9_idpool_check(int id, struct p9_idpool *p) in p9_idpool_check() argument
138 return idr_find(&p->pool, id) != NULL; in p9_idpool_check()