aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2014-09-10 06:43:53 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-09-12 05:16:29 -0400
commit67d0ec4e885cd2af861a14bb9bd59fd23e9644ae (patch)
tree46284ebef8d0d7626984e564b0b79ddefddb9f8a
parent18882995713d2ebdd24d6b07f1853a866a7e1b66 (diff)
drm: Move piles of functions from drmP.h to drm_internal.h
This way drivers can't grow crazy ideas any more, and it also helps a bit in reviewing EXPORT_SYMBOLS. v2: Even more stuff. Unfortunately we can't move drm_vm_open_locked because exynos does some horrible stuff with it. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/drm_auth.c1
-rw-r--r--drivers/gpu/drm/drm_crtc.c1
-rw-r--r--drivers/gpu/drm/drm_debugfs.c1
-rw-r--r--drivers/gpu/drm/drm_drv.c1
-rw-r--r--drivers/gpu/drm/drm_fops.c1
-rw-r--r--drivers/gpu/drm/drm_gem.c1
-rw-r--r--drivers/gpu/drm/drm_internal.h68
-rw-r--r--drivers/gpu/drm/drm_prime.c1
-rw-r--r--drivers/gpu/drm/drm_sysfs.c1
-rw-r--r--include/drm/drmP.h55
10 files changed, 76 insertions, 55 deletions
diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c
index 708a2044c631..fc8e8aaa34fb 100644
--- a/drivers/gpu/drm/drm_auth.c
+++ b/drivers/gpu/drm/drm_auth.c
@@ -34,6 +34,7 @@
34 */ 34 */
35 35
36#include <drm/drmP.h> 36#include <drm/drmP.h>
37#include "drm_internal.h"
37 38
38struct drm_magic_entry { 39struct drm_magic_entry {
39 struct list_head head; 40 struct list_head head;
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 7d7c1fd15443..3a1801b8fc2f 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -40,6 +40,7 @@
40#include <drm/drm_modeset_lock.h> 40#include <drm/drm_modeset_lock.h>
41 41
42#include "drm_crtc_internal.h" 42#include "drm_crtc_internal.h"
43#include "drm_internal.h"
43 44
44static struct drm_framebuffer *add_framebuffer_internal(struct drm_device *dev, 45static struct drm_framebuffer *add_framebuffer_internal(struct drm_device *dev,
45 struct drm_mode_fb_cmd2 *r, 46 struct drm_mode_fb_cmd2 *r,
diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c
index 4491dbda653e..3bcf8e6a85b3 100644
--- a/drivers/gpu/drm/drm_debugfs.c
+++ b/drivers/gpu/drm/drm_debugfs.c
@@ -36,6 +36,7 @@
36#include <linux/export.h> 36#include <linux/export.h>
37#include <drm/drmP.h> 37#include <drm/drmP.h>
38#include <drm/drm_edid.h> 38#include <drm/drm_edid.h>
39#include "drm_internal.h"
39 40
40#if defined(CONFIG_DEBUG_FS) 41#if defined(CONFIG_DEBUG_FS)
41 42
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index 175cbbdac8c1..fcc9d7d81a02 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -35,6 +35,7 @@
35#include <drm/drmP.h> 35#include <drm/drmP.h>
36#include <drm/drm_core.h> 36#include <drm/drm_core.h>
37#include "drm_legacy.h" 37#include "drm_legacy.h"
38#include "drm_internal.h"
38 39
39unsigned int drm_debug = 0; /* 1 to enable debug output */ 40unsigned int drm_debug = 0; /* 1 to enable debug output */
40EXPORT_SYMBOL(drm_debug); 41EXPORT_SYMBOL(drm_debug);
diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
index 3bb6234d072a..51a77a767e66 100644
--- a/drivers/gpu/drm/drm_fops.c
+++ b/drivers/gpu/drm/drm_fops.c
@@ -39,6 +39,7 @@
39#include <linux/slab.h> 39#include <linux/slab.h>
40#include <linux/module.h> 40#include <linux/module.h>
41#include "drm_legacy.h" 41#include "drm_legacy.h"
42#include "drm_internal.h"
42 43
43/* from BKL pushdown */ 44/* from BKL pushdown */
44DEFINE_MUTEX(drm_global_mutex); 45DEFINE_MUTEX(drm_global_mutex);
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index 6adee4c2afc0..55fd65002926 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -38,6 +38,7 @@
38#include <linux/dma-buf.h> 38#include <linux/dma-buf.h>
39#include <drm/drmP.h> 39#include <drm/drmP.h>
40#include <drm/drm_vma_manager.h> 40#include <drm/drm_vma_manager.h>
41#include "drm_internal.h"
41 42
42/** @file drm_gem.c 43/** @file drm_gem.c
43 * 44 *
diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h
index 5fbf36bcc0b0..a71cf4b839f2 100644
--- a/drivers/gpu/drm/drm_internal.h
+++ b/drivers/gpu/drm/drm_internal.h
@@ -21,4 +21,72 @@
21 * OTHER DEALINGS IN THE SOFTWARE. 21 * OTHER DEALINGS IN THE SOFTWARE.
22 */ 22 */
23 23
24/* drm_irq.c */
24extern unsigned int drm_timestamp_monotonic; 25extern unsigned int drm_timestamp_monotonic;
26
27/* drm_fops.c */
28int drm_lastclose(struct drm_device *dev);
29
30/* drm_pci.c */
31int drm_pci_set_unique(struct drm_device *dev,
32 struct drm_master *master,
33 struct drm_unique *u);
34int drm_irq_by_busid(struct drm_device *dev, void *data,
35 struct drm_file *file_priv);
36
37/* drm_vm.c */
38int drm_vma_info(struct seq_file *m, void *data);
39int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma);
40void drm_vm_close_locked(struct drm_device *dev, struct vm_area_struct *vma);
41
42/* drm_prime.c */
43int drm_prime_handle_to_fd_ioctl(struct drm_device *dev, void *data,
44 struct drm_file *file_priv);
45int drm_prime_fd_to_handle_ioctl(struct drm_device *dev, void *data,
46 struct drm_file *file_priv);
47
48void drm_prime_init_file_private(struct drm_prime_file_private *prime_fpriv);
49void drm_prime_destroy_file_private(struct drm_prime_file_private *prime_fpriv);
50void drm_prime_remove_buf_handle_locked(struct drm_prime_file_private *prime_fpriv,
51 struct dma_buf *dma_buf);
52
53/* drm_info.c */
54int drm_name_info(struct seq_file *m, void *data);
55int drm_vm_info(struct seq_file *m, void *data);
56int drm_bufs_info(struct seq_file *m, void *data);
57int drm_vblank_info(struct seq_file *m, void *data);
58int drm_clients_info(struct seq_file *m, void* data);
59int drm_gem_name_info(struct seq_file *m, void *data);
60
61/* drm_irq.c */
62int drm_control(struct drm_device *dev, void *data,
63 struct drm_file *file_priv);
64
65/* drm_auth.c */
66int drm_getmagic(struct drm_device *dev, void *data,
67 struct drm_file *file_priv);
68int drm_authmagic(struct drm_device *dev, void *data,
69 struct drm_file *file_priv);
70int drm_remove_magic(struct drm_master *master, drm_magic_t magic);
71
72/* drm_sysfs.c */
73struct class *drm_sysfs_create(struct module *owner, char *name);
74void drm_sysfs_destroy(void);
75struct device *drm_sysfs_minor_alloc(struct drm_minor *minor);
76int drm_sysfs_connector_add(struct drm_connector *connector);
77void drm_sysfs_connector_remove(struct drm_connector *connector);
78
79/* drm_gem.c */
80int drm_gem_init(struct drm_device *dev);
81void drm_gem_destroy(struct drm_device *dev);
82int drm_gem_handle_create_tail(struct drm_file *file_priv,
83 struct drm_gem_object *obj,
84 u32 *handlep);
85int drm_gem_close_ioctl(struct drm_device *dev, void *data,
86 struct drm_file *file_priv);
87int drm_gem_flink_ioctl(struct drm_device *dev, void *data,
88 struct drm_file *file_priv);
89int drm_gem_open_ioctl(struct drm_device *dev, void *data,
90 struct drm_file *file_priv);
91void drm_gem_open(struct drm_device *dev, struct drm_file *file_private);
92void drm_gem_release(struct drm_device *dev, struct drm_file *file_private);
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 99d578bad17e..2807a771f505 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -29,6 +29,7 @@
29#include <linux/export.h> 29#include <linux/export.h>
30#include <linux/dma-buf.h> 30#include <linux/dma-buf.h>
31#include <drm/drmP.h> 31#include <drm/drmP.h>
32#include "drm_internal.h"
32 33
33/* 34/*
34 * DMA-BUF/GEM Object references and lifetime overview: 35 * DMA-BUF/GEM Object references and lifetime overview:
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
index ab1a5f6dde8a..cc3d6d6d67e0 100644
--- a/drivers/gpu/drm/drm_sysfs.c
+++ b/drivers/gpu/drm/drm_sysfs.c
@@ -21,6 +21,7 @@
21#include <drm/drm_sysfs.h> 21#include <drm/drm_sysfs.h>
22#include <drm/drm_core.h> 22#include <drm/drm_core.h>
23#include <drm/drmP.h> 23#include <drm/drmP.h>
24#include "drm_internal.h"
24 25
25#define to_drm_minor(d) dev_get_drvdata(d) 26#define to_drm_minor(d) dev_get_drvdata(d)
26#define to_drm_connector(d) dev_get_drvdata(d) 27#define to_drm_connector(d) dev_get_drvdata(d)
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 90ae120b2c29..52198870bba7 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -1084,7 +1084,6 @@ extern long drm_ioctl(struct file *filp,
1084 unsigned int cmd, unsigned long arg); 1084 unsigned int cmd, unsigned long arg);
1085extern long drm_compat_ioctl(struct file *filp, 1085extern long drm_compat_ioctl(struct file *filp,
1086 unsigned int cmd, unsigned long arg); 1086 unsigned int cmd, unsigned long arg);
1087extern int drm_lastclose(struct drm_device *dev);
1088extern bool drm_ioctl_flags(unsigned int nr, unsigned int *flags); 1087extern bool drm_ioctl_flags(unsigned int nr, unsigned int *flags);
1089 1088
1090 /* Device support (drm_fops.h) */ 1089 /* Device support (drm_fops.h) */
@@ -1096,14 +1095,10 @@ extern int drm_release(struct inode *inode, struct file *filp);
1096 1095
1097 /* Mapping support (drm_vm.h) */ 1096 /* Mapping support (drm_vm.h) */
1098extern int drm_mmap(struct file *filp, struct vm_area_struct *vma); 1097extern int drm_mmap(struct file *filp, struct vm_area_struct *vma);
1099extern int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma);
1100extern void drm_vm_open_locked(struct drm_device *dev, struct vm_area_struct *vma); 1098extern void drm_vm_open_locked(struct drm_device *dev, struct vm_area_struct *vma);
1101extern void drm_vm_close_locked(struct drm_device *dev, struct vm_area_struct *vma);
1102extern unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait); 1099extern unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait);
1103 1100
1104 /* Misc. IOCTL support (drm_ioctl.h) */ 1101 /* Misc. IOCTL support (drm_ioctl.h) */
1105extern int drm_irq_by_busid(struct drm_device *dev, void *data,
1106 struct drm_file *file_priv);
1107extern int drm_getunique(struct drm_device *dev, void *data, 1102extern int drm_getunique(struct drm_device *dev, void *data,
1108 struct drm_file *file_priv); 1103 struct drm_file *file_priv);
1109extern int drm_setunique(struct drm_device *dev, void *data, 1104extern int drm_setunique(struct drm_device *dev, void *data,
@@ -1123,13 +1118,6 @@ extern int drm_setversion(struct drm_device *dev, void *data,
1123extern int drm_noop(struct drm_device *dev, void *data, 1118extern int drm_noop(struct drm_device *dev, void *data,
1124 struct drm_file *file_priv); 1119 struct drm_file *file_priv);
1125 1120
1126 /* Authentication IOCTL support (drm_auth.h) */
1127extern int drm_getmagic(struct drm_device *dev, void *data,
1128 struct drm_file *file_priv);
1129extern int drm_authmagic(struct drm_device *dev, void *data,
1130 struct drm_file *file_priv);
1131extern int drm_remove_magic(struct drm_master *master, drm_magic_t magic);
1132
1133/* Cache management (drm_cache.c) */ 1121/* Cache management (drm_cache.c) */
1134void drm_clflush_pages(struct page *pages[], unsigned long num_pages); 1122void drm_clflush_pages(struct page *pages[], unsigned long num_pages);
1135void drm_clflush_sg(struct sg_table *st); 1123void drm_clflush_sg(struct sg_table *st);
@@ -1141,8 +1129,6 @@ void drm_clflush_virt_range(void *addr, unsigned long length);
1141 */ 1129 */
1142 1130
1143 /* IRQ support (drm_irq.h) */ 1131 /* IRQ support (drm_irq.h) */
1144extern int drm_control(struct drm_device *dev, void *data,
1145 struct drm_file *file_priv);
1146extern int drm_irq_install(struct drm_device *dev, int irq); 1132extern int drm_irq_install(struct drm_device *dev, int irq);
1147extern int drm_irq_uninstall(struct drm_device *dev); 1133extern int drm_irq_uninstall(struct drm_device *dev);
1148 1134
@@ -1256,15 +1242,6 @@ static inline void drm_debugfs_connector_remove(struct drm_connector *connector)
1256 1242
1257#endif 1243#endif
1258 1244
1259 /* Info file support */
1260extern int drm_name_info(struct seq_file *m, void *data);
1261extern int drm_vm_info(struct seq_file *m, void *data);
1262extern int drm_bufs_info(struct seq_file *m, void *data);
1263extern int drm_vblank_info(struct seq_file *m, void *data);
1264extern int drm_clients_info(struct seq_file *m, void* data);
1265extern int drm_gem_name_info(struct seq_file *m, void *data);
1266
1267
1268extern struct dma_buf *drm_gem_prime_export(struct drm_device *dev, 1245extern struct dma_buf *drm_gem_prime_export(struct drm_device *dev,
1269 struct drm_gem_object *obj, int flags); 1246 struct drm_gem_object *obj, int flags);
1270extern int drm_gem_prime_handle_to_fd(struct drm_device *dev, 1247extern int drm_gem_prime_handle_to_fd(struct drm_device *dev,
@@ -1276,11 +1253,6 @@ extern int drm_gem_prime_fd_to_handle(struct drm_device *dev,
1276 struct drm_file *file_priv, int prime_fd, uint32_t *handle); 1253 struct drm_file *file_priv, int prime_fd, uint32_t *handle);
1277extern void drm_gem_dmabuf_release(struct dma_buf *dma_buf); 1254extern void drm_gem_dmabuf_release(struct dma_buf *dma_buf);
1278 1255
1279extern int drm_prime_handle_to_fd_ioctl(struct drm_device *dev, void *data,
1280 struct drm_file *file_priv);
1281extern int drm_prime_fd_to_handle_ioctl(struct drm_device *dev, void *data,
1282 struct drm_file *file_priv);
1283
1284extern int drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages, 1256extern int drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages,
1285 dma_addr_t *addrs, int max_pages); 1257 dma_addr_t *addrs, int max_pages);
1286extern struct sg_table *drm_prime_pages_to_sg(struct page **pages, int nr_pages); 1258extern struct sg_table *drm_prime_pages_to_sg(struct page **pages, int nr_pages);
@@ -1290,31 +1262,15 @@ int drm_gem_dumb_destroy(struct drm_file *file,
1290 struct drm_device *dev, 1262 struct drm_device *dev,
1291 uint32_t handle); 1263 uint32_t handle);
1292 1264
1293void drm_prime_init_file_private(struct drm_prime_file_private *prime_fpriv);
1294void drm_prime_destroy_file_private(struct drm_prime_file_private *prime_fpriv);
1295void drm_prime_remove_buf_handle_locked(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf);
1296
1297extern int drm_vma_info(struct seq_file *m, void *data);
1298
1299 1265
1300extern drm_dma_handle_t *drm_pci_alloc(struct drm_device *dev, size_t size, 1266extern drm_dma_handle_t *drm_pci_alloc(struct drm_device *dev, size_t size,
1301 size_t align); 1267 size_t align);
1302extern void drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah); 1268extern void drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah);
1303extern int drm_pci_set_unique(struct drm_device *dev,
1304 struct drm_master *master,
1305 struct drm_unique *u);
1306 1269
1307 /* sysfs support (drm_sysfs.c) */ 1270 /* sysfs support (drm_sysfs.c) */
1308extern struct class *drm_sysfs_create(struct module *owner, char *name);
1309extern void drm_sysfs_destroy(void);
1310extern struct device *drm_sysfs_minor_alloc(struct drm_minor *minor);
1311extern void drm_sysfs_hotplug_event(struct drm_device *dev); 1271extern void drm_sysfs_hotplug_event(struct drm_device *dev);
1312extern int drm_sysfs_connector_add(struct drm_connector *connector);
1313extern void drm_sysfs_connector_remove(struct drm_connector *connector);
1314 1272
1315/* Graphics Execution Manager library functions (drm_gem.c) */ 1273/* Graphics Execution Manager library functions (drm_gem.c) */
1316int drm_gem_init(struct drm_device *dev);
1317void drm_gem_destroy(struct drm_device *dev);
1318void drm_gem_object_release(struct drm_gem_object *obj); 1274void drm_gem_object_release(struct drm_gem_object *obj);
1319void drm_gem_object_free(struct kref *kref); 1275void drm_gem_object_free(struct kref *kref);
1320int drm_gem_object_init(struct drm_device *dev, 1276int drm_gem_object_init(struct drm_device *dev,
@@ -1353,9 +1309,6 @@ drm_gem_object_unreference_unlocked(struct drm_gem_object *obj)
1353 } 1309 }
1354} 1310}
1355 1311
1356int drm_gem_handle_create_tail(struct drm_file *file_priv,
1357 struct drm_gem_object *obj,
1358 u32 *handlep);
1359int drm_gem_handle_create(struct drm_file *file_priv, 1312int drm_gem_handle_create(struct drm_file *file_priv,
1360 struct drm_gem_object *obj, 1313 struct drm_gem_object *obj,
1361 u32 *handlep); 1314 u32 *handlep);
@@ -1373,14 +1326,6 @@ void drm_gem_put_pages(struct drm_gem_object *obj, struct page **pages,
1373struct drm_gem_object *drm_gem_object_lookup(struct drm_device *dev, 1326struct drm_gem_object *drm_gem_object_lookup(struct drm_device *dev,
1374 struct drm_file *filp, 1327 struct drm_file *filp,
1375 u32 handle); 1328 u32 handle);
1376int drm_gem_close_ioctl(struct drm_device *dev, void *data,
1377 struct drm_file *file_priv);
1378int drm_gem_flink_ioctl(struct drm_device *dev, void *data,
1379 struct drm_file *file_priv);
1380int drm_gem_open_ioctl(struct drm_device *dev, void *data,
1381 struct drm_file *file_priv);
1382void drm_gem_open(struct drm_device *dev, struct drm_file *file_private);
1383void drm_gem_release(struct drm_device *dev, struct drm_file *file_private);
1384 1329
1385extern void drm_core_ioremap(struct drm_local_map *map, struct drm_device *dev); 1330extern void drm_core_ioremap(struct drm_local_map *map, struct drm_device *dev);
1386extern void drm_core_ioremap_wc(struct drm_local_map *map, struct drm_device *dev); 1331extern void drm_core_ioremap_wc(struct drm_local_map *map, struct drm_device *dev);