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#include "drmP.h"
34#include "drm.h"
35#include "i810_drm.h"
36#include "i810_drv.h"
37
38#include "drm_pciids.h"
39
40static struct pci_device_id pciidlist[] = {
41 i810_PCI_IDS
42};
43
44static struct drm_driver driver = {
45 .driver_features =
46 DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | DRIVER_USE_MTRR |
47 DRIVER_HAVE_DMA | DRIVER_DMA_QUEUE,
48 .dev_priv_size = sizeof(drm_i810_buf_priv_t),
49 .load = i810_driver_load,
50 .lastclose = i810_driver_lastclose,
51 .preclose = i810_driver_preclose,
52 .device_is_agp = i810_driver_device_is_agp,
53 .reclaim_buffers_locked = i810_driver_reclaim_buffers_locked,
54 .dma_quiescent = i810_driver_dma_quiescent,
55 .ioctls = i810_ioctls,
56 .fops = {
57 .owner = THIS_MODULE,
58 .open = drm_open,
59 .release = drm_release,
60 .unlocked_ioctl = i810_ioctl,
61 .mmap = drm_mmap,
62 .poll = drm_poll,
63 .fasync = drm_fasync,
64 .llseek = noop_llseek,
65 },
66
67 .pci_driver = {
68 .name = DRIVER_NAME,
69 .id_table = pciidlist,
70 },
71
72 .name = DRIVER_NAME,
73 .desc = DRIVER_DESC,
74 .date = DRIVER_DATE,
75 .major = DRIVER_MAJOR,
76 .minor = DRIVER_MINOR,
77 .patchlevel = DRIVER_PATCHLEVEL,
78};
79
80static int __init i810_init(void)
81{
82 driver.num_ioctls = i810_max_ioctl;
83 return drm_init(&driver);
84}
85
86static void __exit i810_exit(void)
87{
88 drm_exit(&driver);
89}
90
91module_init(i810_init);
92module_exit(i810_exit);
93
94MODULE_AUTHOR(DRIVER_AUTHOR);
95MODULE_DESCRIPTION(DRIVER_DESC);
96MODULE_LICENSE("GPL and additional rights");
97