/
f7ab9b4.c
115 lines (93 loc) · 1.76 KB
/
f7ab9b4.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#ifdef CONFIG_TMPFS
#define CONFIG_SHMEM
#endif
#include <stdlib.h>
typedef int filler_t(int);
int some_fun(int n)
{
return n;
}
#ifdef CONFIG_TMPFS
filler_t *f = &some_fun;
#else
filler_t *f = NULL;
#endif
#ifdef CONFIG_SHMEM
filler_t* shmem_get_inode()
{
return f;
}
#else
filler_t* ramfs_get_inode()
{
return &some_fun;
}
#define shmem_get_inode() ramfs_get_inode()
#endif /* CONFIG_SHMEM */
filler_t* shmem_file_setup()
{
return shmem_get_inode();
}
#ifdef CONFIG_DRM_I915
int drm_gem_object_init(filler_t **readpage)
{
*readpage = shmem_file_setup();
return 0;
}
void i915_gem_alloc_object(filler_t **readpage)
{
if (drm_gem_object_init(readpage) != 0)
;
}
void do_read_cache_page(filler_t *filler)
{
filler(0); // ERROR
}
void read_cache_page_gfp(filler_t **readpage)
{
filler_t *filler = **readpage;
do_read_cache_page(filler);
}
int i915_gem_object_get_pages_gtt(filler_t **readpage)
{
read_cache_page_gfp(readpage);
return 0;
}
int i915_gem_object_bind_to_gtt(filler_t **readpage)
{
return i915_gem_object_get_pages_gtt(readpage);
}
int i915_gem_object_pin(filler_t **readpage)
{
return i915_gem_object_bind_to_gtt(readpage);
}
int intel_init_ring_buffer(filler_t **readpage)
{
i915_gem_alloc_object(readpage);
return i915_gem_object_pin(readpage);
}
int intel_init_render_ring_buffer(filler_t **readpage)
{
return intel_init_ring_buffer(readpage);
}
int i915_gem_init_ringbuffer(filler_t **readpage)
{
return intel_init_render_ring_buffer(readpage);
}
int i915_load_modeset_init(filler_t **readpage)
{
return i915_gem_init_ringbuffer(readpage);
}
int i915_driver_load()
{
filler_t *readpage;
return i915_load_modeset_init(&readpage);
}
#endif
int main()
{
#ifdef CONFIG_DRM_I915
i915_driver_load();
#endif
return 0;
}