Lines Matching full:clk
23 struct posix_clock *clk = pccontext->clk; in get_posix_clock() local
25 down_read(&clk->rwsem); in get_posix_clock()
27 if (!clk->zombie) in get_posix_clock()
28 return clk; in get_posix_clock()
30 up_read(&clk->rwsem); in get_posix_clock()
35 static void put_posix_clock(struct posix_clock *clk) in put_posix_clock() argument
37 up_read(&clk->rwsem); in put_posix_clock()
44 struct posix_clock *clk = get_posix_clock(fp); in posix_clock_read() local
47 if (!clk) in posix_clock_read()
50 if (clk->ops.read) in posix_clock_read()
51 err = clk->ops.read(pccontext, fp->f_flags, buf, count); in posix_clock_read()
53 put_posix_clock(clk); in posix_clock_read()
61 struct posix_clock *clk = get_posix_clock(fp); in posix_clock_poll() local
64 if (!clk) in posix_clock_poll()
67 if (clk->ops.poll) in posix_clock_poll()
68 result = clk->ops.poll(pccontext, fp, wait); in posix_clock_poll()
70 put_posix_clock(clk); in posix_clock_poll()
79 struct posix_clock *clk = get_posix_clock(fp); in posix_clock_ioctl() local
82 if (!clk) in posix_clock_ioctl()
85 if (clk->ops.ioctl) in posix_clock_ioctl()
86 err = clk->ops.ioctl(pccontext, cmd, arg); in posix_clock_ioctl()
88 put_posix_clock(clk); in posix_clock_ioctl()
98 struct posix_clock *clk = get_posix_clock(fp); in posix_clock_compat_ioctl() local
101 if (!clk) in posix_clock_compat_ioctl()
104 if (clk->ops.ioctl) in posix_clock_compat_ioctl()
105 err = clk->ops.ioctl(pccontext, cmd, arg); in posix_clock_compat_ioctl()
107 put_posix_clock(clk); in posix_clock_compat_ioctl()
116 struct posix_clock *clk = in posix_clock_open() local
120 down_read(&clk->rwsem); in posix_clock_open()
122 if (clk->zombie) { in posix_clock_open()
131 pccontext->clk = clk; in posix_clock_open()
133 if (clk->ops.open) in posix_clock_open()
134 err = clk->ops.open(pccontext, fp->f_mode); in posix_clock_open()
139 get_device(clk->dev); in posix_clock_open()
142 up_read(&clk->rwsem); in posix_clock_open()
149 struct posix_clock *clk; in posix_clock_release() local
154 clk = pccontext->clk; in posix_clock_release()
156 if (clk->ops.release) in posix_clock_release()
157 err = clk->ops.release(pccontext); in posix_clock_release()
159 put_device(clk->dev); in posix_clock_release()
180 int posix_clock_register(struct posix_clock *clk, struct device *dev) in posix_clock_register() argument
184 init_rwsem(&clk->rwsem); in posix_clock_register()
186 cdev_init(&clk->cdev, &posix_clock_file_operations); in posix_clock_register()
187 err = cdev_device_add(&clk->cdev, dev); in posix_clock_register()
193 clk->cdev.owner = clk->ops.owner; in posix_clock_register()
194 clk->dev = dev; in posix_clock_register()
200 void posix_clock_unregister(struct posix_clock *clk) in posix_clock_unregister() argument
202 cdev_device_del(&clk->cdev, clk->dev); in posix_clock_unregister()
204 down_write(&clk->rwsem); in posix_clock_unregister()
205 clk->zombie = true; in posix_clock_unregister()
206 up_write(&clk->rwsem); in posix_clock_unregister()
208 put_device(clk->dev); in posix_clock_unregister()
214 struct posix_clock *clk; member
229 cd->clk = get_posix_clock(fp); in get_clock_desc()
231 err = cd->clk ? 0 : -ENODEV; in get_clock_desc()
240 put_posix_clock(cd->clk); in put_clock_desc()
258 if (cd.clk->ops.clock_adjtime) in pc_clock_adjtime()
259 err = cd.clk->ops.clock_adjtime(cd.clk, tx); in pc_clock_adjtime()
277 if (cd.clk->ops.clock_gettime) in pc_clock_gettime()
278 err = cd.clk->ops.clock_gettime(cd.clk, ts); in pc_clock_gettime()
296 if (cd.clk->ops.clock_getres) in pc_clock_getres()
297 err = cd.clk->ops.clock_getres(cd.clk, ts); in pc_clock_getres()
320 if (cd.clk->ops.clock_settime) in pc_clock_settime()
321 err = cd.clk->ops.clock_settime(cd.clk, ts); in pc_clock_settime()