Lines Matching refs:clk

35 	struct posix_clock *clk = fp->private_data;  in get_posix_clock()  local
37 down_read(&clk->rwsem); in get_posix_clock()
39 if (!clk->zombie) in get_posix_clock()
40 return clk; in get_posix_clock()
42 up_read(&clk->rwsem); in get_posix_clock()
47 static void put_posix_clock(struct posix_clock *clk) in put_posix_clock() argument
49 up_read(&clk->rwsem); in put_posix_clock()
55 struct posix_clock *clk = get_posix_clock(fp); in posix_clock_read() local
58 if (!clk) in posix_clock_read()
61 if (clk->ops.read) in posix_clock_read()
62 err = clk->ops.read(clk, fp->f_flags, buf, count); in posix_clock_read()
64 put_posix_clock(clk); in posix_clock_read()
71 struct posix_clock *clk = get_posix_clock(fp); in posix_clock_poll() local
74 if (!clk) in posix_clock_poll()
77 if (clk->ops.poll) in posix_clock_poll()
78 result = clk->ops.poll(clk, fp, wait); in posix_clock_poll()
80 put_posix_clock(clk); in posix_clock_poll()
87 struct posix_clock *clk = get_posix_clock(fp); in posix_clock_fasync() local
90 if (!clk) in posix_clock_fasync()
93 if (clk->ops.fasync) in posix_clock_fasync()
94 err = clk->ops.fasync(clk, fd, fp, on); in posix_clock_fasync()
96 put_posix_clock(clk); in posix_clock_fasync()
103 struct posix_clock *clk = get_posix_clock(fp); in posix_clock_mmap() local
106 if (!clk) in posix_clock_mmap()
109 if (clk->ops.mmap) in posix_clock_mmap()
110 err = clk->ops.mmap(clk, vma); in posix_clock_mmap()
112 put_posix_clock(clk); in posix_clock_mmap()
120 struct posix_clock *clk = get_posix_clock(fp); in posix_clock_ioctl() local
123 if (!clk) in posix_clock_ioctl()
126 if (clk->ops.ioctl) in posix_clock_ioctl()
127 err = clk->ops.ioctl(clk, cmd, arg); in posix_clock_ioctl()
129 put_posix_clock(clk); in posix_clock_ioctl()
138 struct posix_clock *clk = get_posix_clock(fp); in posix_clock_compat_ioctl() local
141 if (!clk) in posix_clock_compat_ioctl()
144 if (clk->ops.ioctl) in posix_clock_compat_ioctl()
145 err = clk->ops.ioctl(clk, cmd, arg); in posix_clock_compat_ioctl()
147 put_posix_clock(clk); in posix_clock_compat_ioctl()
156 struct posix_clock *clk = in posix_clock_open() local
159 down_read(&clk->rwsem); in posix_clock_open()
161 if (clk->zombie) { in posix_clock_open()
165 if (clk->ops.open) in posix_clock_open()
166 err = clk->ops.open(clk, fp->f_mode); in posix_clock_open()
171 kref_get(&clk->kref); in posix_clock_open()
172 fp->private_data = clk; in posix_clock_open()
175 up_read(&clk->rwsem); in posix_clock_open()
181 struct posix_clock *clk = fp->private_data; in posix_clock_release() local
184 if (clk->ops.release) in posix_clock_release()
185 err = clk->ops.release(clk); in posix_clock_release()
187 kref_put(&clk->kref, delete_clock); in posix_clock_release()
209 int posix_clock_register(struct posix_clock *clk, dev_t devid) in posix_clock_register() argument
213 kref_init(&clk->kref); in posix_clock_register()
214 init_rwsem(&clk->rwsem); in posix_clock_register()
216 cdev_init(&clk->cdev, &posix_clock_file_operations); in posix_clock_register()
217 clk->cdev.owner = clk->ops.owner; in posix_clock_register()
218 err = cdev_add(&clk->cdev, devid, 1); in posix_clock_register()
226 struct posix_clock *clk = container_of(kref, struct posix_clock, kref); in delete_clock() local
228 if (clk->release) in delete_clock()
229 clk->release(clk); in delete_clock()
232 void posix_clock_unregister(struct posix_clock *clk) in posix_clock_unregister() argument
234 cdev_del(&clk->cdev); in posix_clock_unregister()
236 down_write(&clk->rwsem); in posix_clock_unregister()
237 clk->zombie = true; in posix_clock_unregister()
238 up_write(&clk->rwsem); in posix_clock_unregister()
240 kref_put(&clk->kref, delete_clock); in posix_clock_unregister()
246 struct posix_clock *clk; member
261 cd->clk = get_posix_clock(fp); in get_clock_desc()
263 err = cd->clk ? 0 : -ENODEV; in get_clock_desc()
272 put_posix_clock(cd->clk); in put_clock_desc()
290 if (cd.clk->ops.clock_adjtime) in pc_clock_adjtime()
291 err = cd.clk->ops.clock_adjtime(cd.clk, tx); in pc_clock_adjtime()
309 if (cd.clk->ops.clock_gettime) in pc_clock_gettime()
310 err = cd.clk->ops.clock_gettime(cd.clk, ts); in pc_clock_gettime()
328 if (cd.clk->ops.clock_getres) in pc_clock_getres()
329 err = cd.clk->ops.clock_getres(cd.clk, ts); in pc_clock_getres()
352 if (cd.clk->ops.clock_settime) in pc_clock_settime()
353 err = cd.clk->ops.clock_settime(cd.clk, ts); in pc_clock_settime()
372 if (cd.clk->ops.timer_create) in pc_timer_create()
373 err = cd.clk->ops.timer_create(cd.clk, kit); in pc_timer_create()
392 if (cd.clk->ops.timer_delete) in pc_timer_delete()
393 err = cd.clk->ops.timer_delete(cd.clk, kit); in pc_timer_delete()
410 if (cd.clk->ops.timer_gettime) in pc_timer_gettime()
411 cd.clk->ops.timer_gettime(cd.clk, kit, ts); in pc_timer_gettime()
427 if (cd.clk->ops.timer_settime) in pc_timer_settime()
428 err = cd.clk->ops.timer_settime(cd.clk, kit, flags, ts, old); in pc_timer_settime()