diff options
Diffstat (limited to 'linux-core')
-rw-r--r-- | linux-core/drmP.h | 1 | ||||
-rw-r--r-- | linux-core/drm_drv.c | 15 | ||||
-rw-r--r-- | linux-core/drm_stub.c | 1 |
3 files changed, 9 insertions, 8 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h index 8ac39bb0..1928fabd 100644 --- a/linux-core/drmP.h +++ b/linux-core/drmP.h @@ -728,6 +728,7 @@ extern int DRM(lock)(struct inode *inode, struct file *filp, extern int DRM(unlock)(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg); extern int DRM(fb_loaded); +extern struct file_operations DRM(fops); /* Device support (drm_fops.h) */ extern int DRM(open_helper)(struct inode *inode, struct file *filp, diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c index 6dcb6271..94fbca8e 100644 --- a/linux-core/drm_drv.c +++ b/linux-core/drm_drv.c @@ -103,10 +103,10 @@ #endif #ifndef DRIVER_PREINIT -#define DRIVER_PREINIT(dev) 0 +#define DRIVER_PREINIT(dev, flags) 0 #endif #ifndef DRIVER_POSTINIT -#define DRIVER_POSTINIT(dev) 0 +#define DRIVER_POSTINIT(dev, flags) 0 #endif #ifndef DRIVER_PRERELEASE #define DRIVER_PRERELEASE() @@ -115,7 +115,7 @@ #define DRIVER_PRETAKEDOWN(dev) #endif #ifndef DRIVER_POSTCLEANUP -#define DRIVER_POSTCLEANUP() +#define DRIVER_POSTCLEANUP(dev) #endif #ifndef DRIVER_PRESETUP #define DRIVER_PRESETUP() @@ -131,7 +131,7 @@ #endif #ifndef DRIVER_FOPS #define DRIVER_FOPS \ -static struct file_operations DRM(fops) = { \ +struct file_operations DRM(fops) = { \ .owner = THIS_MODULE, \ .open = DRM(open), \ .flush = DRM(flush), \ @@ -596,7 +596,7 @@ static int drm_probe(struct pci_dev *pdev, const struct pci_device_id *ent) dev->pci_func = PCI_FUNC(pdev->devfn); dev->irq = pdev->irq; - if ((retcode = DRIVER_PREINIT(dev))) + if ((retcode = DRIVER_PREINIT(dev, ent->driver_data))) goto error_out_unreg; #if __REALLY_HAVE_AGP @@ -643,8 +643,8 @@ static int drm_probe(struct pci_dev *pdev, const struct pci_device_id *ent) dev->minor, pci_pretty_name(pdev) ); - - if ((retcode = DRIVER_POSTINIT(dev))) + /* drivers add secondary heads here if needed */ + if ((retcode = DRIVER_POSTINIT(dev, ent->driver_data))) goto error_out_unreg; return 0; @@ -765,6 +765,7 @@ static void __exit drm_cleanup( drm_device_t *dev ) dev->agp = NULL; } #endif + DRIVER_POSTCLEANUP(dev); } static void __exit drm_exit (void) diff --git a/linux-core/drm_stub.c b/linux-core/drm_stub.c index 9a4430d3..e993c99e 100644 --- a/linux-core/drm_stub.c +++ b/linux-core/drm_stub.c @@ -139,7 +139,6 @@ static int drm_hotplug (struct class_device *dev, char **envp, int num_envp, return -ENOMEM; } envp[i] = 0; - DRM_DEBUG(" - ok\n"); return 0; } |