Linux Audio

Check our new training course

Linux kernel drivers training

May 6-19, 2025
Register
Loading...
v5.4
 1/* tdfx_drv.c -- tdfx driver -*- linux-c -*-
 2 * Created: Thu Oct  7 10:38:32 1999 by faith@precisioninsight.com
 3 *
 4 * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
 5 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
 6 * All Rights Reserved.
 7 *
 8 * Permission is hereby granted, free of charge, to any person obtaining a
 9 * copy of this software and associated documentation files (the "Software"),
10 * to deal in the Software without restriction, including without limitation
11 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12 * and/or sell copies of the Software, and to permit persons to whom the
13 * Software is furnished to do so, subject to the following conditions:
14 *
15 * The above copyright notice and this permission notice (including the next
16 * paragraph) shall be included in all copies or substantial portions of the
17 * Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
22 * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 * DEALINGS IN THE SOFTWARE.
26 *
27 * Authors:
28 *    Rickard E. (Rik) Faith <faith@valinux.com>
29 *    Daryll Strauss <daryll@valinux.com>
30 *    Gareth Hughes <gareth@valinux.com>
31 */
32
33#include <linux/module.h>
34
35#include <drm/drm_drv.h>
36#include <drm/drm_file.h>
37#include <drm/drm_ioctl.h>
38#include <drm/drm_legacy.h>
39#include <drm/drm_pci.h>
40#include <drm/drm_pciids.h>
41
42#include "tdfx_drv.h"
43
 
 
 
44static struct pci_device_id pciidlist[] = {
45	tdfx_PCI_IDS
46};
47
48static const struct file_operations tdfx_driver_fops = {
49	.owner = THIS_MODULE,
50	.open = drm_open,
51	.release = drm_release,
52	.unlocked_ioctl = drm_ioctl,
53	.mmap = drm_legacy_mmap,
54	.poll = drm_poll,
55	.compat_ioctl = drm_compat_ioctl,
56	.llseek = noop_llseek,
57};
58
59static struct drm_driver driver = {
60	.driver_features = DRIVER_LEGACY,
 
61	.fops = &tdfx_driver_fops,
62	.name = DRIVER_NAME,
63	.desc = DRIVER_DESC,
64	.date = DRIVER_DATE,
65	.major = DRIVER_MAJOR,
66	.minor = DRIVER_MINOR,
67	.patchlevel = DRIVER_PATCHLEVEL,
68};
69
70static struct pci_driver tdfx_pci_driver = {
71	.name = DRIVER_NAME,
72	.id_table = pciidlist,
73};
74
75static int __init tdfx_init(void)
76{
77	return drm_legacy_pci_init(&driver, &tdfx_pci_driver);
78}
79
80static void __exit tdfx_exit(void)
81{
82	drm_legacy_pci_exit(&driver, &tdfx_pci_driver);
83}
84
85module_init(tdfx_init);
86module_exit(tdfx_exit);
87
88MODULE_AUTHOR(DRIVER_AUTHOR);
89MODULE_DESCRIPTION(DRIVER_DESC);
90MODULE_LICENSE("GPL and additional rights");
v4.10.11
 1/* tdfx_drv.c -- tdfx driver -*- linux-c -*-
 2 * Created: Thu Oct  7 10:38:32 1999 by faith@precisioninsight.com
 3 *
 4 * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
 5 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
 6 * All Rights Reserved.
 7 *
 8 * Permission is hereby granted, free of charge, to any person obtaining a
 9 * copy of this software and associated documentation files (the "Software"),
10 * to deal in the Software without restriction, including without limitation
11 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12 * and/or sell copies of the Software, and to permit persons to whom the
13 * Software is furnished to do so, subject to the following conditions:
14 *
15 * The above copyright notice and this permission notice (including the next
16 * paragraph) shall be included in all copies or substantial portions of the
17 * Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
22 * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 * DEALINGS IN THE SOFTWARE.
26 *
27 * Authors:
28 *    Rickard E. (Rik) Faith <faith@valinux.com>
29 *    Daryll Strauss <daryll@valinux.com>
30 *    Gareth Hughes <gareth@valinux.com>
31 */
32
33#include <linux/module.h>
34
35#include <drm/drmP.h>
 
 
 
 
 
 
36#include "tdfx_drv.h"
37
38#include <drm/drm_pciids.h>
39#include <drm/drm_legacy.h>
40
41static struct pci_device_id pciidlist[] = {
42	tdfx_PCI_IDS
43};
44
45static const struct file_operations tdfx_driver_fops = {
46	.owner = THIS_MODULE,
47	.open = drm_open,
48	.release = drm_release,
49	.unlocked_ioctl = drm_ioctl,
50	.mmap = drm_legacy_mmap,
51	.poll = drm_poll,
52	.compat_ioctl = drm_compat_ioctl,
53	.llseek = noop_llseek,
54};
55
56static struct drm_driver driver = {
57	.driver_features = DRIVER_LEGACY,
58	.set_busid = drm_pci_set_busid,
59	.fops = &tdfx_driver_fops,
60	.name = DRIVER_NAME,
61	.desc = DRIVER_DESC,
62	.date = DRIVER_DATE,
63	.major = DRIVER_MAJOR,
64	.minor = DRIVER_MINOR,
65	.patchlevel = DRIVER_PATCHLEVEL,
66};
67
68static struct pci_driver tdfx_pci_driver = {
69	.name = DRIVER_NAME,
70	.id_table = pciidlist,
71};
72
73static int __init tdfx_init(void)
74{
75	return drm_pci_init(&driver, &tdfx_pci_driver);
76}
77
78static void __exit tdfx_exit(void)
79{
80	drm_pci_exit(&driver, &tdfx_pci_driver);
81}
82
83module_init(tdfx_init);
84module_exit(tdfx_exit);
85
86MODULE_AUTHOR(DRIVER_AUTHOR);
87MODULE_DESCRIPTION(DRIVER_DESC);
88MODULE_LICENSE("GPL and additional rights");