Lines Matching refs:device
43 rt_device_t device = RT_NULL; in dfs_devfs_open() local
55 device = rt_device_find(device_name + 1); in dfs_devfs_open()
56 if (device) in dfs_devfs_open()
58 file->vnode->data = device; in dfs_devfs_open()
60 if (device->fops && device->fops->open) in dfs_devfs_open()
62 ret = device->fops->open(file); in dfs_devfs_open()
68 else if (device->ops && file->vnode->ref_count == 1) in dfs_devfs_open()
70 if (device->ops && file->vnode->ref_count == 1) in dfs_devfs_open()
73 ret = rt_device_open(device, RT_DEVICE_OFLAG_RDWR); in dfs_devfs_open()
89 rt_device_t device; in dfs_devfs_close() local
97 device = (rt_device_t)file->vnode->data; in dfs_devfs_close()
100 if (device->fops && device->fops->close) in dfs_devfs_close()
102 ret = device->fops->close(file); in dfs_devfs_close()
106 if (device->ops && file->vnode->ref_count == 1) in dfs_devfs_close()
110 ret = rt_device_close(device); in dfs_devfs_close()
117 static rt_ubase_t _get_unit_shift(rt_device_t device) in _get_unit_shift() argument
125 if (device->type == RT_Device_Class_Block) in _get_unit_shift()
131 if (!rt_device_control(device, RT_DEVICE_CTRL_BLK_GETGEOME, &geometry)) in _get_unit_shift()
143 rt_device_t device; in dfs_devfs_read() local
150 device = (rt_device_t)file->vnode->data; in dfs_devfs_read()
153 if (device->fops && device->fops->read) in dfs_devfs_read()
155 ret = device->fops->read(file, buf, count, pos); in dfs_devfs_read()
159 if (device->ops) in dfs_devfs_read()
162 rt_ubase_t shift = _get_unit_shift(device); in dfs_devfs_read()
164 ret = rt_device_read(device, *pos, buf, count >> shift); in dfs_devfs_read()
179 rt_device_t device; in dfs_devfs_write() local
186 device = (rt_device_t)file->vnode->data; in dfs_devfs_write()
192 if (device->fops && device->fops->write) in dfs_devfs_write()
194 ret = device->fops->write(file, buf, count, pos); in dfs_devfs_write()
198 if (device->ops) in dfs_devfs_write()
201 rt_ubase_t shift = _get_unit_shift(device); in dfs_devfs_write()
204 ret = rt_device_write(device, *pos, buf, count >> shift); in dfs_devfs_write()
219 rt_device_t device; in dfs_devfs_ioctl() local
226 device = (rt_device_t)file->vnode->data; in dfs_devfs_ioctl()
232 if (device->fops && device->fops->ioctl) in dfs_devfs_ioctl()
234 ret = device->fops->ioctl(file, cmd, args); in dfs_devfs_ioctl()
239 ret = rt_device_control(device, cmd, args); in dfs_devfs_ioctl()
258 rt_device_t device; in dfs_devfs_poll() local
265 device = (rt_device_t)file->vnode->data; in dfs_devfs_poll()
268 if (device->fops && device->fops->poll) in dfs_devfs_poll()
270 mask = device->fops->poll(file, req); in dfs_devfs_poll()
281 rt_device_t device; in dfs_devfs_flush() local
288 device = (rt_device_t)file->vnode->data; in dfs_devfs_flush()
291 if (device->fops && device->fops->flush) in dfs_devfs_flush()
293 ret = device->fops->flush(file); in dfs_devfs_flush()
304 rt_device_t device; in dfs_devfs_lseek() local
311 device = (rt_device_t)file->vnode->data; in dfs_devfs_lseek()
314 if (device->fops && device->fops->lseek) in dfs_devfs_lseek()
316 ret = device->fops->lseek(file, offset, wherece); in dfs_devfs_lseek()
327 rt_device_t device; in dfs_devfs_truncate() local
334 device = (rt_device_t)file->vnode->data; in dfs_devfs_truncate()
337 if (device->fops && device->fops->truncate) in dfs_devfs_truncate()
339 ret = device->fops->truncate(file, offset); in dfs_devfs_truncate()
350 rt_device_t device; in dfs_devfs_mmap() local
357 device = (rt_device_t)file->vnode->data; in dfs_devfs_mmap()
360 if (device->fops && device->fops->mmap) in dfs_devfs_mmap()
362 ret = device->fops->mmap(file, mmap); in dfs_devfs_mmap()
373 rt_device_t device; in dfs_devfs_lock() local
380 device = (rt_device_t)file->vnode->data; in dfs_devfs_lock()
383 if (device->fops && device->fops->lock) in dfs_devfs_lock()
385 ret = device->fops->lock(file, flock); in dfs_devfs_lock()
396 rt_device_t device; in dfs_devfs_flock() local
403 device = (rt_device_t)file->vnode->data; in dfs_devfs_flock()
406 if (device->fops && device->fops->flock) in dfs_devfs_flock()
408 ret = device->fops->flock(file, operation, flock); in dfs_devfs_flock()
439 mode_t dfs_devfs_device_to_mode(struct rt_device *device) in dfs_devfs_device_to_mode() argument
443 switch (device->type) in dfs_devfs_device_to_mode()
512 void dfs_devfs_device_add(rt_device_t device) in dfs_devfs_device_add() argument
517 if (device) in dfs_devfs_device_add()
519 rt_snprintf(path, 512, "/dev/%s", device->parent.name); in dfs_devfs_device_add()
523 mode_t mode = dfs_devfs_device_to_mode(device); in dfs_devfs_device_add()