2019-06-21 10:52:46 +01:00
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* MIPS64 and compat userspace implementations of gettimeofday ( )
* and similar .
*
* Copyright ( C ) 2015 Imagination Technologies
* Copyright ( C ) 2018 ARM Limited
*
*/
# include <linux/time.h>
# include <linux/types.h>
# if _MIPS_SIM != _MIPS_SIM_ABI64
int __vdso_clock_gettime ( clockid_t clock ,
struct old_timespec32 * ts )
{
return __cvdso_clock_gettime32 ( clock , ts ) ;
}
2019-11-29 14:36:58 +00:00
# ifdef CONFIG_MIPS_CLOCK_VSYSCALL
/*
* This is behind the ifdef so that we don ' t provide the symbol when there ' s no
* possibility of there being a usable clocksource , because there ' s nothing we
* can do without it . When libc fails the symbol lookup it should fall back on
* the standard syscall path .
*/
2019-06-21 10:52:46 +01:00
int __vdso_gettimeofday ( struct __kernel_old_timeval * tv ,
struct timezone * tz )
{
return __cvdso_gettimeofday ( tv , tz ) ;
}
2019-11-29 14:36:58 +00:00
# endif /* CONFIG_MIPS_CLOCK_VSYSCALL */
2019-06-21 10:52:47 +01:00
int __vdso_clock_getres ( clockid_t clock_id ,
struct old_timespec32 * res )
{
return __cvdso_clock_getres_time32 ( clock_id , res ) ;
}
2019-06-21 10:52:48 +01:00
int __vdso_clock_gettime64 ( clockid_t clock ,
struct __kernel_timespec * ts )
{
return __cvdso_clock_gettime ( clock , ts ) ;
}
2019-06-21 10:52:46 +01:00
# else
int __vdso_clock_gettime ( clockid_t clock ,
struct __kernel_timespec * ts )
{
return __cvdso_clock_gettime ( clock , ts ) ;
}
2019-11-29 14:36:58 +00:00
# ifdef CONFIG_MIPS_CLOCK_VSYSCALL
/*
* This is behind the ifdef so that we don ' t provide the symbol when there ' s no
* possibility of there being a usable clocksource , because there ' s nothing we
* can do without it . When libc fails the symbol lookup it should fall back on
* the standard syscall path .
*/
2019-06-21 10:52:46 +01:00
int __vdso_gettimeofday ( struct __kernel_old_timeval * tv ,
struct timezone * tz )
{
return __cvdso_gettimeofday ( tv , tz ) ;
}
2019-11-29 14:36:58 +00:00
# endif /* CONFIG_MIPS_CLOCK_VSYSCALL */
2019-06-21 10:52:47 +01:00
int __vdso_clock_getres ( clockid_t clock_id ,
struct __kernel_timespec * res )
{
return __cvdso_clock_getres ( clock_id , res ) ;
}
2019-06-21 10:52:46 +01:00
# endif