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