1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Powerpc userspace implementations of gettimeofday() and similar.
4  */
5 #include <linux/time.h>
6 #include <linux/types.h>
7 
8 #ifdef __powerpc64__
__c_kernel_clock_gettime(clockid_t clock,struct __kernel_timespec * ts,const struct vdso_data * vd)9 int __c_kernel_clock_gettime(clockid_t clock, struct __kernel_timespec *ts,
10 			     const struct vdso_data *vd)
11 {
12 	return __cvdso_clock_gettime_data(vd, clock, ts);
13 }
14 
__c_kernel_clock_getres(clockid_t clock_id,struct __kernel_timespec * res,const struct vdso_data * vd)15 int __c_kernel_clock_getres(clockid_t clock_id, struct __kernel_timespec *res,
16 			    const struct vdso_data *vd)
17 {
18 	return __cvdso_clock_getres_data(vd, clock_id, res);
19 }
20 #else
__c_kernel_clock_gettime(clockid_t clock,struct old_timespec32 * ts,const struct vdso_data * vd)21 int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
22 			     const struct vdso_data *vd)
23 {
24 	return __cvdso_clock_gettime32_data(vd, clock, ts);
25 }
26 
__c_kernel_clock_gettime64(clockid_t clock,struct __kernel_timespec * ts,const struct vdso_data * vd)27 int __c_kernel_clock_gettime64(clockid_t clock, struct __kernel_timespec *ts,
28 			       const struct vdso_data *vd)
29 {
30 	return __cvdso_clock_gettime_data(vd, clock, ts);
31 }
32 
__c_kernel_clock_getres(clockid_t clock_id,struct old_timespec32 * res,const struct vdso_data * vd)33 int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
34 			    const struct vdso_data *vd)
35 {
36 	return __cvdso_clock_getres_time32_data(vd, clock_id, res);
37 }
38 #endif
39 
__c_kernel_gettimeofday(struct __kernel_old_timeval * tv,struct timezone * tz,const struct vdso_data * vd)40 int __c_kernel_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz,
41 			    const struct vdso_data *vd)
42 {
43 	return __cvdso_gettimeofday_data(vd, tv, tz);
44 }
45 
__c_kernel_time(__kernel_old_time_t * time,const struct vdso_data * vd)46 __kernel_old_time_t __c_kernel_time(__kernel_old_time_t *time, const struct vdso_data *vd)
47 {
48 	return __cvdso_time_data(vd, time);
49 }
50