• Home
  • Raw
  • Download

Lines Matching refs:p

326 static struct kobject *cdev_get(struct cdev *p)  in cdev_get()  argument
328 struct module *owner = p->owner; in cdev_get()
333 kobj = kobject_get(&p->kobj); in cdev_get()
339 void cdev_put(struct cdev *p) in cdev_put() argument
341 if (p) { in cdev_put()
342 struct module *owner = p->owner; in cdev_put()
343 kobject_put(&p->kobj); in cdev_put()
354 struct cdev *p; in chrdev_open() local
359 p = inode->i_cdev; in chrdev_open()
360 if (!p) { in chrdev_open()
371 p = inode->i_cdev; in chrdev_open()
372 if (!p) { in chrdev_open()
373 inode->i_cdev = p = new; in chrdev_open()
374 list_add(&inode->i_devices, &p->list); in chrdev_open()
376 } else if (!cdev_get(p)) in chrdev_open()
378 } else if (!cdev_get(p)) in chrdev_open()
386 fops = fops_get(p->ops); in chrdev_open()
400 cdev_put(p); in chrdev_open()
437 struct cdev *p = data; in exact_match() local
438 return &p->kobj; in exact_match()
443 struct cdev *p = data; in exact_lock() local
444 return cdev_get(p) ? 0 : -1; in exact_lock()
457 int cdev_add(struct cdev *p, dev_t dev, unsigned count) in cdev_add() argument
461 p->dev = dev; in cdev_add()
462 p->count = count; in cdev_add()
465 exact_match, exact_lock, p); in cdev_add()
469 kobject_get(p->kobj.parent); in cdev_add()
486 void cdev_del(struct cdev *p) in cdev_del() argument
488 cdev_unmap(p->dev, p->count); in cdev_del()
489 kobject_put(&p->kobj); in cdev_del()
495 struct cdev *p = container_of(kobj, struct cdev, kobj); in cdev_default_release() local
498 cdev_purge(p); in cdev_default_release()
504 struct cdev *p = container_of(kobj, struct cdev, kobj); in cdev_dynamic_release() local
507 cdev_purge(p); in cdev_dynamic_release()
508 kfree(p); in cdev_dynamic_release()
527 struct cdev *p = kzalloc(sizeof(struct cdev), GFP_KERNEL); in cdev_alloc() local
528 if (p) { in cdev_alloc()
529 INIT_LIST_HEAD(&p->list); in cdev_alloc()
530 kobject_init(&p->kobj, &ktype_cdev_dynamic); in cdev_alloc()
532 return p; in cdev_alloc()