iPXE
mlx_utils_priv.c
Go to the documentation of this file.
1 /*
2  * MlxUtilsPriv.c
3  *
4  * Created on: Jan 25, 2015
5  * Author: maord
6  */
7 
8 #include <unistd.h>
9 #include <stdlib.h>
10 #include <strings.h>
11 #include "../../mlx_utils/include/private/mlx_utils_priv.h"
12 
15  IN mlx_uint32 msecs
16  )
17 {
18  mdelay(msecs);
19  return MLX_SUCCESS;
20 }
21 
24  IN mlx_uint32 usecs
25  )
26 {
27  udelay(usecs);
28  return MLX_SUCCESS;
29 }
30 
33  IN mlx_uint32 i,
34  OUT mlx_uint32 *log
35  )
36 {
37  *log = ( fls ( i ) - 1 );
38  return MLX_SUCCESS;
39 }
40 
43  OUT void **lock __unused
44  )
45 {
46  return MLX_SUCCESS;
47 }
48 
51  IN void *lock __unused
52  )
53 {
54  return MLX_SUCCESS;
55 }
56 
59  IN void *lock __unused
60  )
61 {
62  return MLX_SUCCESS;
63 }
64 
67  IN void *lock __unused
68  )
69 {
70  return MLX_SUCCESS;
71 }
72 
75  IN mlx_utils *utils __unused,
76  OUT mlx_uint32 *rand_num
77  )
78 {
79  do {
80  *rand_num = rand();
81  } while ( *rand_num == 0 );
82  return MLX_SUCCESS;
83 }
mlx_status mlx_utils_release_lock_priv(IN void *lock __attribute__((unused)))
uint32_t mlx_uint32
#define OUT
Definition: mlx_utils.h:29
static int rand(void)
Definition: stdlib.h:59
void udelay(unsigned long usecs)
Delay for a fixed number of microseconds.
Definition: timer.c:60
#define MLX_SUCCESS
mlx_status mlx_utils_ilog2_priv(IN mlx_uint32 i, OUT mlx_uint32 *log)
mlx_status mlx_utils_delay_in_us_priv(IN mlx_uint32 usecs)
mlx_status mlx_utils_init_lock_priv(OUT void **lock __attribute__((unused)))
mlx_status mlx_utils_acquire_lock_priv(IN void *lock __attribute__((unused)))
#define IN
Definition: mlx_utils.h:28
#define __unused
Declare a variable or data structure as unused.
Definition: compiler.h:573
void mdelay(unsigned long msecs)
Delay for a fixed number of milliseconds.
Definition: timer.c:78
int mlx_status
mlx_status mlx_utils_rand_priv(IN mlx_utils *utils __attribute__((unused)), OUT mlx_uint32 *rand_num)
#define fls(x)
Find last (i.e.
Definition: strings.h:166
mlx_status mlx_utils_delay_in_ms_priv(IN mlx_uint32 msecs)
mlx_status mlx_utils_free_lock_priv(IN void *lock __attribute__((unused)))
String functions.