diff options
Diffstat (limited to 'linux-core')
-rw-r--r-- | linux-core/Makefile | 5 | ||||
-rw-r--r-- | linux-core/drmP.h | 12 | ||||
-rw-r--r-- | linux-core/drm_drv.c | 17 | ||||
-rw-r--r-- | linux-core/savage.h | 24 |
4 files changed, 18 insertions, 40 deletions
diff --git a/linux-core/Makefile b/linux-core/Makefile index b1758884..dc21459a 100644 --- a/linux-core/Makefile +++ b/linux-core/Makefile @@ -208,7 +208,10 @@ SHAREDDIR := ../shared HASSHARED := $(shell if [ -d $(SHAREDDIR) ]; then echo y; fi) ifeq ($(HASSHARED),y) -includes:: $(SHAREDSRC) +includes:: $(SHAREDSRC) drm_pciids.h + +drm_pciids.h: $(SHAREDDIR)/drm_pciids.txt + sh ../scripts/create_linux_pci_lists.sh < $(SHAREDDIR)/drm_pciids.txt $(SHAREDSRC): @if [ -r $(SHAREDDIR)/$@ ]; then \ diff --git a/linux-core/drmP.h b/linux-core/drmP.h index 09556b89..e30dd6d9 100644 --- a/linux-core/drmP.h +++ b/linux-core/drmP.h @@ -255,6 +255,10 @@ static inline void class_simple_destroy(struct class_simple *cs){}; static inline struct class_simple *class_simple_create(struct module *owner, char *name) { return NULL; } +#ifndef pci_pretty_name +#define pci_pretty_name(x) x->name +#endif + #endif #ifndef REMAP_PAGE_RANGE_5_ARGS @@ -423,14 +427,6 @@ do { \ typedef int drm_ioctl_t( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ); -typedef struct drm_pci_id_list -{ - int vendor; - int device; - long driver_private; - char *name; -} drm_pci_id_list_t; - typedef struct drm_ioctl_desc { drm_ioctl_t *func; int auth_needed; diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c index 35876dc6..cdeb9b68 100644 --- a/linux-core/drm_drv.c +++ b/linux-core/drm_drv.c @@ -540,8 +540,10 @@ static int DRM(takedown)( drm_device_t *dev ) return 0; } -static drm_pci_id_list_t DRM(pciidlist)[] = { - DRIVER_PCI_IDS +#include "drm_pciids.h" + +static struct pci_device_id DRM(pciidlist)[] = { + DRM(PCI_IDS) }; static int DRM(probe)(struct pci_dev *pdev) @@ -551,17 +553,17 @@ static int DRM(probe)(struct pci_dev *pdev) int retcode; #endif int i; - char *desc = NULL; + int is_compat = 0; DRM_DEBUG( "\n" ); for (i = 0; DRM(pciidlist)[i].vendor != 0; i++) { if ((DRM(pciidlist)[i].vendor == pdev->vendor) && (DRM(pciidlist)[i].device == pdev->device)) { - desc = DRM(pciidlist)[i].name; + is_compat = 1; } } - if (desc == NULL) + if (is_compat == 0) return -ENODEV; if (DRM(numdevs) >= MAX_DEVICES) @@ -623,7 +625,7 @@ static int DRM(probe)(struct pci_dev *pdev) } #endif DRM(numdevs)++; /* no errors, mark it reserved */ - + DRM_INFO( "Initialized %s %d.%d.%d %s on minor %d: %s\n", DRIVER_NAME, DRIVER_MAJOR, @@ -631,7 +633,8 @@ static int DRM(probe)(struct pci_dev *pdev) DRIVER_PATCHLEVEL, DRIVER_DATE, dev->minor, - desc ); + pci_pretty_name(pdev) + ); DRIVER_POSTINIT(); diff --git a/linux-core/savage.h b/linux-core/savage.h index 5ccd22d8..fb828ce6 100644 --- a/linux-core/savage.h +++ b/linux-core/savage.h @@ -36,28 +36,4 @@ #define __HAVE_MTRR 1 #define __HAVE_CTX_BITMAP 1 -#define DRIVER_PCI_IDS \ - {0x5333, 0x8a22, 0, "Savage4"}, \ - {0x5333, 0x8a23, 0, "Savage4"}, \ - {0x5333, 0x8c10, 0, "Savage/MX-MV"}, \ - {0x5333, 0x8c11, 0, "Savage/MX"}, \ - {0x5333, 0x8c12, 0, "Savage/IX-MV"}, \ - {0x5333, 0x8c13, 0, "Savage/IX"}, \ - {0x5333, 0x8c20, 0, "Savage 3D"}, \ - {0x5333, 0x8c21, 0, "Savage 3D/MV"}, \ - {0x5333, 0x8c22, 0, "SuperSavage MX/128"}, \ - {0x5333, 0x8c24, 0, "SuperSavage MX/64"}, \ - {0x5333, 0x8c26, 0, "SuperSavage MX/64C"}, \ - {0x5333, 0x8c2a, 0, "SuperSavage IX/128 SDR"}, \ - {0x5333, 0x8c2b, 0, "SuperSavage IX/128 DDR"}, \ - {0x5333, 0x8c2c, 0, "SuperSavage IX/64 SDR"}, \ - {0x5333, 0x8c2d, 0, "SuperSavage IX/64 DDR"}, \ - {0x5333, 0x8c2e, 0, "SuperSavage IX/C SDR"}, \ - {0x5333, 0x8c2f, 0, "SuperSavage IX/C DDR"}, \ - {0x5333, 0x8a25, 0, "ProSavage PM133"}, \ - {0x5333, 0x8a26, 0, "ProSavage KM133"}, \ - {0x5333, 0x8d01, 0, "ProSavage PN133"}, \ - {0x5333, 0x8d02, 0, "ProSavage KN133"}, \ - {0x5333, 0x8d04, 0, "ProSavage DDR"} - #endif |