diff options
Diffstat (limited to 'drivers/char/drm/via_drv.c')
-rw-r--r-- | drivers/char/drm/via_drv.c | 63 |
1 files changed, 18 insertions, 45 deletions
diff --git a/drivers/char/drm/via_drv.c b/drivers/char/drm/via_drv.c index 016665e0c69f..3f012255d315 100644 --- a/drivers/char/drm/via_drv.c +++ b/drivers/char/drm/via_drv.c | |||
@@ -29,54 +29,21 @@ | |||
29 | 29 | ||
30 | #include "drm_pciids.h" | 30 | #include "drm_pciids.h" |
31 | 31 | ||
32 | static int postinit(struct drm_device *dev, unsigned long flags) | 32 | static int dri_library_name(struct drm_device *dev, char *buf) |
33 | { | 33 | { |
34 | DRM_INFO("Initialized %s %d.%d.%d %s on minor %d: %s\n", | 34 | return snprintf(buf, PAGE_SIZE, "unichrome"); |
35 | DRIVER_NAME, | ||
36 | DRIVER_MAJOR, | ||
37 | DRIVER_MINOR, | ||
38 | DRIVER_PATCHLEVEL, | ||
39 | DRIVER_DATE, dev->primary.minor, pci_pretty_name(dev->pdev) | ||
40 | ); | ||
41 | return 0; | ||
42 | } | ||
43 | |||
44 | static int version(drm_version_t * version) | ||
45 | { | ||
46 | int len; | ||
47 | |||
48 | version->version_major = DRIVER_MAJOR; | ||
49 | version->version_minor = DRIVER_MINOR; | ||
50 | version->version_patchlevel = DRIVER_PATCHLEVEL; | ||
51 | DRM_COPY(version->name, DRIVER_NAME); | ||
52 | DRM_COPY(version->date, DRIVER_DATE); | ||
53 | DRM_COPY(version->desc, DRIVER_DESC); | ||
54 | return 0; | ||
55 | } | 35 | } |
56 | 36 | ||
57 | static struct pci_device_id pciidlist[] = { | 37 | static struct pci_device_id pciidlist[] = { |
58 | viadrv_PCI_IDS | 38 | viadrv_PCI_IDS |
59 | }; | 39 | }; |
60 | 40 | ||
61 | static drm_ioctl_desc_t ioctls[] = { | ||
62 | [DRM_IOCTL_NR(DRM_VIA_ALLOCMEM)] = {via_mem_alloc, 1, 0}, | ||
63 | [DRM_IOCTL_NR(DRM_VIA_FREEMEM)] = {via_mem_free, 1, 0}, | ||
64 | [DRM_IOCTL_NR(DRM_VIA_AGP_INIT)] = {via_agp_init, 1, 0}, | ||
65 | [DRM_IOCTL_NR(DRM_VIA_FB_INIT)] = {via_fb_init, 1, 0}, | ||
66 | [DRM_IOCTL_NR(DRM_VIA_MAP_INIT)] = {via_map_init, 1, 0}, | ||
67 | [DRM_IOCTL_NR(DRM_VIA_DEC_FUTEX)] = {via_decoder_futex, 1, 0}, | ||
68 | [DRM_IOCTL_NR(DRM_VIA_DMA_INIT)] = {via_dma_init, 1, 0}, | ||
69 | [DRM_IOCTL_NR(DRM_VIA_CMDBUFFER)] = {via_cmdbuffer, 1, 0}, | ||
70 | [DRM_IOCTL_NR(DRM_VIA_FLUSH)] = {via_flush_ioctl, 1, 0}, | ||
71 | [DRM_IOCTL_NR(DRM_VIA_PCICMD)] = {via_pci_cmdbuffer, 1, 0}, | ||
72 | [DRM_IOCTL_NR(DRM_VIA_CMDBUF_SIZE)] = {via_cmdbuf_size, 1, 0}, | ||
73 | [DRM_IOCTL_NR(DRM_VIA_WAIT_IRQ)] = {via_wait_irq, 1, 0} | ||
74 | }; | ||
75 | |||
76 | static struct drm_driver driver = { | 41 | static struct drm_driver driver = { |
77 | .driver_features = | 42 | .driver_features = |
78 | DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_IRQ | | 43 | DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_IRQ | |
79 | DRIVER_IRQ_SHARED | DRIVER_IRQ_VBL, | 44 | DRIVER_IRQ_SHARED | DRIVER_IRQ_VBL, |
45 | .load = via_driver_load, | ||
46 | .unload = via_driver_unload, | ||
80 | .context_ctor = via_init_context, | 47 | .context_ctor = via_init_context, |
81 | .context_dtor = via_final_context, | 48 | .context_dtor = via_final_context, |
82 | .vblank_wait = via_driver_vblank_wait, | 49 | .vblank_wait = via_driver_vblank_wait, |
@@ -85,13 +52,11 @@ static struct drm_driver driver = { | |||
85 | .irq_uninstall = via_driver_irq_uninstall, | 52 | .irq_uninstall = via_driver_irq_uninstall, |
86 | .irq_handler = via_driver_irq_handler, | 53 | .irq_handler = via_driver_irq_handler, |
87 | .dma_quiescent = via_driver_dma_quiescent, | 54 | .dma_quiescent = via_driver_dma_quiescent, |
55 | .dri_library_name = dri_library_name, | ||
88 | .reclaim_buffers = drm_core_reclaim_buffers, | 56 | .reclaim_buffers = drm_core_reclaim_buffers, |
89 | .get_map_ofs = drm_core_get_map_ofs, | 57 | .get_map_ofs = drm_core_get_map_ofs, |
90 | .get_reg_ofs = drm_core_get_reg_ofs, | 58 | .get_reg_ofs = drm_core_get_reg_ofs, |
91 | .postinit = postinit, | 59 | .ioctls = via_ioctls, |
92 | .version = version, | ||
93 | .ioctls = ioctls, | ||
94 | .num_ioctls = DRM_ARRAY_SIZE(ioctls), | ||
95 | .fops = { | 60 | .fops = { |
96 | .owner = THIS_MODULE, | 61 | .owner = THIS_MODULE, |
97 | .open = drm_open, | 62 | .open = drm_open, |
@@ -100,15 +65,23 @@ static struct drm_driver driver = { | |||
100 | .mmap = drm_mmap, | 65 | .mmap = drm_mmap, |
101 | .poll = drm_poll, | 66 | .poll = drm_poll, |
102 | .fasync = drm_fasync, | 67 | .fasync = drm_fasync, |
103 | }, | 68 | }, |
104 | .pci_driver = { | 69 | .pci_driver = { |
105 | .name = DRIVER_NAME, | 70 | .name = DRIVER_NAME, |
106 | .id_table = pciidlist, | 71 | .id_table = pciidlist, |
107 | } | 72 | }, |
73 | |||
74 | .name = DRIVER_NAME, | ||
75 | .desc = DRIVER_DESC, | ||
76 | .date = DRIVER_DATE, | ||
77 | .major = DRIVER_MAJOR, | ||
78 | .minor = DRIVER_MINOR, | ||
79 | .patchlevel = DRIVER_PATCHLEVEL, | ||
108 | }; | 80 | }; |
109 | 81 | ||
110 | static int __init via_init(void) | 82 | static int __init via_init(void) |
111 | { | 83 | { |
84 | driver.num_ioctls = via_max_ioctl; | ||
112 | via_init_command_verifier(); | 85 | via_init_command_verifier(); |
113 | return drm_init(&driver); | 86 | return drm_init(&driver); |
114 | } | 87 | } |