diff options
Diffstat (limited to 'drivers/gpu/drm/i810/i810_drv.c')
| -rw-r--r-- | drivers/gpu/drm/i810/i810_drv.c | 57 | 
1 files changed, 32 insertions, 25 deletions
diff --git a/drivers/gpu/drm/i810/i810_drv.c b/drivers/gpu/drm/i810/i810_drv.c index 88bcd331e7c..441ccf8f5bd 100644 --- a/drivers/gpu/drm/i810/i810_drv.c +++ b/drivers/gpu/drm/i810/i810_drv.c @@ -30,45 +30,43 @@   *    Gareth Hughes <gareth@valinux.com>   */ -#include "drmP.h" -#include "drm.h" -#include "i810_drm.h" +#include <linux/module.h> + +#include <drm/drmP.h> +#include <drm/i810_drm.h>  #include "i810_drv.h" -#include "drm_pciids.h" +#include <drm/drm_pciids.h>  static struct pci_device_id pciidlist[] = {  	i810_PCI_IDS  }; +static const struct file_operations i810_driver_fops = { +	.owner = THIS_MODULE, +	.open = drm_open, +	.release = drm_release, +	.unlocked_ioctl = drm_ioctl, +	.mmap = drm_mmap, +	.poll = drm_poll, +#ifdef CONFIG_COMPAT +	.compat_ioctl = drm_compat_ioctl, +#endif +	.llseek = noop_llseek, +}; +  static struct drm_driver driver = {  	.driver_features = -	    DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | DRIVER_USE_MTRR | -	    DRIVER_HAVE_DMA | DRIVER_DMA_QUEUE, +	    DRIVER_USE_AGP | +	    DRIVER_HAVE_DMA,  	.dev_priv_size = sizeof(drm_i810_buf_priv_t),  	.load = i810_driver_load,  	.lastclose = i810_driver_lastclose,  	.preclose = i810_driver_preclose,  	.device_is_agp = i810_driver_device_is_agp, -	.reclaim_buffers_locked = i810_driver_reclaim_buffers_locked,  	.dma_quiescent = i810_driver_dma_quiescent,  	.ioctls = i810_ioctls, -	.fops = { -		 .owner = THIS_MODULE, -		 .open = drm_open, -		 .release = drm_release, -		 .unlocked_ioctl = i810_ioctl, -		 .mmap = drm_mmap, -		 .poll = drm_poll, -		 .fasync = drm_fasync, -		 .llseek = noop_llseek, -	}, - -	.pci_driver = { -		 .name = DRIVER_NAME, -		 .id_table = pciidlist, -	}, - +	.fops = &i810_driver_fops,  	.name = DRIVER_NAME,  	.desc = DRIVER_DESC,  	.date = DRIVER_DATE, @@ -77,15 +75,24 @@ static struct drm_driver driver = {  	.patchlevel = DRIVER_PATCHLEVEL,  }; +static struct pci_driver i810_pci_driver = { +	.name = DRIVER_NAME, +	.id_table = pciidlist, +}; +  static int __init i810_init(void)  { +	if (num_possible_cpus() > 1) { +		pr_err("drm/i810 does not support SMP\n"); +		return -EINVAL; +	}  	driver.num_ioctls = i810_max_ioctl; -	return drm_init(&driver); +	return drm_pci_init(&driver, &i810_pci_driver);  }  static void __exit i810_exit(void)  { -	drm_exit(&driver); +	drm_pci_exit(&driver, &i810_pci_driver);  }  module_init(i810_init);  | 
