diff options
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_acpi.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_acpi.c | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c b/drivers/gpu/drm/nouveau/nouveau_acpi.c index dea42bc515e..48783e14114 100644 --- a/drivers/gpu/drm/nouveau/nouveau_acpi.c +++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c | |||
@@ -7,15 +7,13 @@ | |||
7 | #include <acpi/acpi.h> | 7 | #include <acpi/acpi.h> |
8 | #include <linux/mxm-wmi.h> | 8 | #include <linux/mxm-wmi.h> |
9 | 9 | ||
10 | #include <drm/drmP.h> | ||
11 | #include <drm/drm_crtc_helper.h> | ||
12 | #include "nouveau_drv.h" | ||
13 | #include <drm/nouveau_drm.h> | ||
14 | #include "nv50_display.h" | ||
15 | #include "nouveau_connector.h" | ||
16 | |||
17 | #include <linux/vga_switcheroo.h> | 10 | #include <linux/vga_switcheroo.h> |
18 | 11 | ||
12 | #include <drm/drm_edid.h> | ||
13 | |||
14 | #include "nouveau_drm.h" | ||
15 | #include "nouveau_acpi.h" | ||
16 | |||
19 | #define NOUVEAU_DSM_LED 0x02 | 17 | #define NOUVEAU_DSM_LED 0x02 |
20 | #define NOUVEAU_DSM_LED_STATE 0x00 | 18 | #define NOUVEAU_DSM_LED_STATE 0x00 |
21 | #define NOUVEAU_DSM_LED_OFF 0x10 | 19 | #define NOUVEAU_DSM_LED_OFF 0x10 |
@@ -388,10 +386,9 @@ int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len) | |||
388 | return nouveau_rom_call(nouveau_dsm_priv.rom_handle, bios, offset, len); | 386 | return nouveau_rom_call(nouveau_dsm_priv.rom_handle, bios, offset, len); |
389 | } | 387 | } |
390 | 388 | ||
391 | int | 389 | void * |
392 | nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector) | 390 | nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector) |
393 | { | 391 | { |
394 | struct nouveau_connector *nv_connector = nouveau_connector(connector); | ||
395 | struct acpi_device *acpidev; | 392 | struct acpi_device *acpidev; |
396 | acpi_handle handle; | 393 | acpi_handle handle; |
397 | int type, ret; | 394 | int type, ret; |
@@ -403,21 +400,20 @@ nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector) | |||
403 | type = ACPI_VIDEO_DISPLAY_LCD; | 400 | type = ACPI_VIDEO_DISPLAY_LCD; |
404 | break; | 401 | break; |
405 | default: | 402 | default: |
406 | return -EINVAL; | 403 | return NULL; |
407 | } | 404 | } |
408 | 405 | ||
409 | handle = DEVICE_ACPI_HANDLE(&dev->pdev->dev); | 406 | handle = DEVICE_ACPI_HANDLE(&dev->pdev->dev); |
410 | if (!handle) | 407 | if (!handle) |
411 | return -ENODEV; | 408 | return NULL; |
412 | 409 | ||
413 | ret = acpi_bus_get_device(handle, &acpidev); | 410 | ret = acpi_bus_get_device(handle, &acpidev); |
414 | if (ret) | 411 | if (ret) |
415 | return -ENODEV; | 412 | return NULL; |
416 | 413 | ||
417 | ret = acpi_video_get_edid(acpidev, type, -1, &edid); | 414 | ret = acpi_video_get_edid(acpidev, type, -1, &edid); |
418 | if (ret < 0) | 415 | if (ret < 0) |
419 | return ret; | 416 | return NULL; |
420 | 417 | ||
421 | nv_connector->edid = kmemdup(edid, EDID_LENGTH, GFP_KERNEL); | 418 | return kmemdup(edid, EDID_LENGTH, GFP_KERNEL); |
422 | return 0; | ||
423 | } | 419 | } |