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