Lines Matching refs:unit

58 	struct xilly_unit *unit, *u;  in xillybus_init_chrdev()  local
60 unit = kzalloc(sizeof(*unit), GFP_KERNEL); in xillybus_init_chrdev()
62 if (!unit) in xillybus_init_chrdev()
68 snprintf(unit->name, UNITNAMELEN, "%s", prefix); in xillybus_init_chrdev()
71 snprintf(unit->name, UNITNAMELEN, "%s_%02d", in xillybus_init_chrdev()
76 if (!strcmp(unit->name, u->name)) { in xillybus_init_chrdev()
82 rc = alloc_chrdev_region(&mdev, 0, num_nodes, unit->name); in xillybus_init_chrdev()
89 unit->major = MAJOR(mdev); in xillybus_init_chrdev()
90 unit->lowest_minor = MINOR(mdev); in xillybus_init_chrdev()
91 unit->num_nodes = num_nodes; in xillybus_init_chrdev()
92 unit->private_data = private_data; in xillybus_init_chrdev()
94 unit->cdev = cdev_alloc(); in xillybus_init_chrdev()
95 if (!unit->cdev) { in xillybus_init_chrdev()
99 unit->cdev->ops = fops; in xillybus_init_chrdev()
100 unit->cdev->owner = owner; in xillybus_init_chrdev()
102 rc = cdev_add(unit->cdev, MKDEV(unit->major, unit->lowest_minor), in xillybus_init_chrdev()
103 unit->num_nodes); in xillybus_init_chrdev()
107 kobject_put(&unit->cdev->kobj); in xillybus_init_chrdev()
121 unit->name, idt); in xillybus_init_chrdev()
128 MKDEV(unit->major, in xillybus_init_chrdev()
129 i + unit->lowest_minor), in xillybus_init_chrdev()
147 list_add_tail(&unit->list_entry, &unit_list); in xillybus_init_chrdev()
157 device_destroy(&xillybus_class, MKDEV(unit->major, in xillybus_init_chrdev()
158 i + unit->lowest_minor)); in xillybus_init_chrdev()
160 cdev_del(unit->cdev); in xillybus_init_chrdev()
163 unregister_chrdev_region(MKDEV(unit->major, unit->lowest_minor), in xillybus_init_chrdev()
164 unit->num_nodes); in xillybus_init_chrdev()
169 kfree(unit); in xillybus_init_chrdev()
179 struct xilly_unit *unit = NULL, *iter; in xillybus_cleanup_chrdev() local
185 unit = iter; in xillybus_cleanup_chrdev()
189 if (!unit) { in xillybus_cleanup_chrdev()
195 for (minor = unit->lowest_minor; in xillybus_cleanup_chrdev()
196 minor < (unit->lowest_minor + unit->num_nodes); in xillybus_cleanup_chrdev()
198 device_destroy(&xillybus_class, MKDEV(unit->major, minor)); in xillybus_cleanup_chrdev()
200 cdev_del(unit->cdev); in xillybus_cleanup_chrdev()
202 unregister_chrdev_region(MKDEV(unit->major, unit->lowest_minor), in xillybus_cleanup_chrdev()
203 unit->num_nodes); in xillybus_cleanup_chrdev()
206 unit->num_nodes); in xillybus_cleanup_chrdev()
208 list_del(&unit->list_entry); in xillybus_cleanup_chrdev()
209 kfree(unit); in xillybus_cleanup_chrdev()
220 struct xilly_unit *unit = NULL, *iter; in xillybus_find_inode() local
228 unit = iter; in xillybus_find_inode()
232 if (!unit) { in xillybus_find_inode()
237 *private_data = unit->private_data; in xillybus_find_inode()
238 *index = minor - unit->lowest_minor; in xillybus_find_inode()