• Home
  • Raw
  • Download

Lines Matching refs:drv

405 static struct cardstate *alloc_cs(struct gigaset_driver *drv)  in alloc_cs()  argument
412 spin_lock_irqsave(&drv->lock, flags); in alloc_cs()
413 if (drv->blocked) in alloc_cs()
415 for (i = 0; i < drv->minors; ++i) { in alloc_cs()
416 cs = drv->cs + i; in alloc_cs()
424 spin_unlock_irqrestore(&drv->lock, flags); in alloc_cs()
436 struct gigaset_driver *drv = cs->driver; in make_valid() local
437 spin_lock_irqsave(&drv->lock, flags); in make_valid()
439 spin_unlock_irqrestore(&drv->lock, flags); in make_valid()
445 struct gigaset_driver *drv = cs->driver; in make_invalid() local
446 spin_lock_irqsave(&drv->lock, flags); in make_invalid()
448 spin_unlock_irqrestore(&drv->lock, flags); in make_invalid()
669 struct cardstate *gigaset_initcs(struct gigaset_driver *drv, int channels, in gigaset_initcs() argument
678 cs = alloc_cs(drv); in gigaset_initcs()
986 struct gigaset_driver *drv; in gigaset_get_cs_by_id() local
990 list_for_each_entry(drv, &drivers, list) { in gigaset_get_cs_by_id()
991 spin_lock(&drv->lock); in gigaset_get_cs_by_id()
992 for (i = 0; i < drv->minors; ++i) { in gigaset_get_cs_by_id()
993 cs = drv->cs + i; in gigaset_get_cs_by_id()
999 spin_unlock(&drv->lock); in gigaset_get_cs_by_id()
1011 struct gigaset_driver *drv; in gigaset_get_cs_by_minor() local
1015 list_for_each_entry(drv, &drivers, list) { in gigaset_get_cs_by_minor()
1016 if (minor < drv->minor || minor >= drv->minor + drv->minors) in gigaset_get_cs_by_minor()
1018 index = minor - drv->minor; in gigaset_get_cs_by_minor()
1019 spin_lock(&drv->lock); in gigaset_get_cs_by_minor()
1020 if (drv->cs[index].flags & VALID_MINOR) in gigaset_get_cs_by_minor()
1021 ret = drv->cs + index; in gigaset_get_cs_by_minor()
1022 spin_unlock(&drv->lock); in gigaset_get_cs_by_minor()
1043 void gigaset_freedriver(struct gigaset_driver *drv) in gigaset_freedriver() argument
1048 list_del(&drv->list); in gigaset_freedriver()
1051 gigaset_if_freedriver(drv); in gigaset_freedriver()
1053 kfree(drv->cs); in gigaset_freedriver()
1054 kfree(drv); in gigaset_freedriver()
1076 struct gigaset_driver *drv; in gigaset_initdriver() local
1080 drv = kmalloc(sizeof *drv, GFP_KERNEL); in gigaset_initdriver()
1081 if (!drv) in gigaset_initdriver()
1084 drv->have_tty = 0; in gigaset_initdriver()
1085 drv->minor = minor; in gigaset_initdriver()
1086 drv->minors = minors; in gigaset_initdriver()
1087 spin_lock_init(&drv->lock); in gigaset_initdriver()
1088 drv->blocked = 0; in gigaset_initdriver()
1089 drv->ops = ops; in gigaset_initdriver()
1090 drv->owner = owner; in gigaset_initdriver()
1091 INIT_LIST_HEAD(&drv->list); in gigaset_initdriver()
1093 drv->cs = kmalloc(minors * sizeof *drv->cs, GFP_KERNEL); in gigaset_initdriver()
1094 if (!drv->cs) in gigaset_initdriver()
1098 drv->cs[i].flags = 0; in gigaset_initdriver()
1099 drv->cs[i].driver = drv; in gigaset_initdriver()
1100 drv->cs[i].ops = drv->ops; in gigaset_initdriver()
1101 drv->cs[i].minor_index = i; in gigaset_initdriver()
1102 mutex_init(&drv->cs[i].mutex); in gigaset_initdriver()
1105 gigaset_if_initdriver(drv, procname, devname); in gigaset_initdriver()
1108 list_add(&drv->list, &drivers); in gigaset_initdriver()
1111 return drv; in gigaset_initdriver()
1114 kfree(drv); in gigaset_initdriver()
1126 void gigaset_blockdriver(struct gigaset_driver *drv) in gigaset_blockdriver() argument
1128 drv->blocked = 1; in gigaset_blockdriver()