diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_kms.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_kms.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c index 8a7f87f17c13..83b8d8aa71c0 100644 --- a/drivers/gpu/drm/radeon/radeon_kms.c +++ b/drivers/gpu/drm/radeon/radeon_kms.c | |||
@@ -50,6 +50,7 @@ int radeon_driver_unload_kms(struct drm_device *dev) | |||
50 | 50 | ||
51 | if (rdev == NULL) | 51 | if (rdev == NULL) |
52 | return 0; | 52 | return 0; |
53 | radeon_acpi_fini(rdev); | ||
53 | radeon_modeset_fini(rdev); | 54 | radeon_modeset_fini(rdev); |
54 | radeon_device_fini(rdev); | 55 | radeon_device_fini(rdev); |
55 | kfree(rdev); | 56 | kfree(rdev); |
@@ -102,11 +103,6 @@ int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags) | |||
102 | goto out; | 103 | goto out; |
103 | } | 104 | } |
104 | 105 | ||
105 | /* Call ACPI methods */ | ||
106 | acpi_status = radeon_acpi_init(rdev); | ||
107 | if (acpi_status) | ||
108 | dev_dbg(&dev->pdev->dev, "Error during ACPI methods call\n"); | ||
109 | |||
110 | /* Again modeset_init should fail only on fatal error | 106 | /* Again modeset_init should fail only on fatal error |
111 | * otherwise it should provide enough functionalities | 107 | * otherwise it should provide enough functionalities |
112 | * for shadowfb to run | 108 | * for shadowfb to run |
@@ -114,6 +110,17 @@ int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags) | |||
114 | r = radeon_modeset_init(rdev); | 110 | r = radeon_modeset_init(rdev); |
115 | if (r) | 111 | if (r) |
116 | dev_err(&dev->pdev->dev, "Fatal error during modeset init\n"); | 112 | dev_err(&dev->pdev->dev, "Fatal error during modeset init\n"); |
113 | |||
114 | /* Call ACPI methods: require modeset init | ||
115 | * but failure is not fatal | ||
116 | */ | ||
117 | if (!r) { | ||
118 | acpi_status = radeon_acpi_init(rdev); | ||
119 | if (acpi_status) | ||
120 | dev_dbg(&dev->pdev->dev, | ||
121 | "Error during ACPI methods call\n"); | ||
122 | } | ||
123 | |||
117 | out: | 124 | out: |
118 | if (r) | 125 | if (r) |
119 | radeon_driver_unload_kms(dev); | 126 | radeon_driver_unload_kms(dev); |