aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@gmail.com>2010-12-14 12:16:38 -0500
committerDave Airlie <airlied@redhat.com>2011-02-06 22:09:36 -0500
commit8410ea3b95d105a5be5db501656f44bbb91197c1 (patch)
tree6cd27f207e50c13ba2f4a78d6323bc23f751e380 /drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
parentff72145badb834e8051719ea66e024784d000cb4 (diff)
drm: rework PCI/platform driver interface.
This abstracts the pci/platform interface out a step further, we can go further but this is far enough for now to allow USB to be plugged in. The drivers now just call the init code directly for their device type. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_drv.c')
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_drv.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index 10ca97ee020..96949b93d92 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -909,15 +909,6 @@ static struct drm_driver driver = {
909#endif 909#endif
910 .llseek = noop_llseek, 910 .llseek = noop_llseek,
911 }, 911 },
912 .pci_driver = {
913 .name = VMWGFX_DRIVER_NAME,
914 .id_table = vmw_pci_id_list,
915 .probe = vmw_probe,
916 .remove = vmw_remove,
917 .driver = {
918 .pm = &vmw_pm_ops
919 }
920 },
921 .name = VMWGFX_DRIVER_NAME, 912 .name = VMWGFX_DRIVER_NAME,
922 .desc = VMWGFX_DRIVER_DESC, 913 .desc = VMWGFX_DRIVER_DESC,
923 .date = VMWGFX_DRIVER_DATE, 914 .date = VMWGFX_DRIVER_DATE,
@@ -926,6 +917,16 @@ static struct drm_driver driver = {
926 .patchlevel = VMWGFX_DRIVER_PATCHLEVEL 917 .patchlevel = VMWGFX_DRIVER_PATCHLEVEL
927}; 918};
928 919
920static struct pci_driver vmw_pci_driver = {
921 .name = VMWGFX_DRIVER_NAME,
922 .id_table = vmw_pci_id_list,
923 .probe = vmw_probe,
924 .remove = vmw_remove,
925 .driver = {
926 .pm = &vmw_pm_ops
927 }
928};
929
929static int vmw_probe(struct pci_dev *pdev, const struct pci_device_id *ent) 930static int vmw_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
930{ 931{
931 return drm_get_pci_dev(pdev, ent, &driver); 932 return drm_get_pci_dev(pdev, ent, &driver);
@@ -934,7 +935,7 @@ static int vmw_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
934static int __init vmwgfx_init(void) 935static int __init vmwgfx_init(void)
935{ 936{
936 int ret; 937 int ret;
937 ret = drm_init(&driver); 938 ret = drm_pci_init(&driver, &vmw_pci_driver);
938 if (ret) 939 if (ret)
939 DRM_ERROR("Failed initializing DRM.\n"); 940 DRM_ERROR("Failed initializing DRM.\n");
940 return ret; 941 return ret;
@@ -942,7 +943,7 @@ static int __init vmwgfx_init(void)
942 943
943static void __exit vmwgfx_exit(void) 944static void __exit vmwgfx_exit(void)
944{ 945{
945 drm_exit(&driver); 946 drm_pci_exit(&driver, &vmw_pci_driver);
946} 947}
947 948
948module_init(vmwgfx_init); 949module_init(vmwgfx_init);