Skip to content

Instantly share code, notes, and snippets.

@jjmcdn
Last active August 29, 2015 14:11
Show Gist options
  • Save jjmcdn/2c4272240ff6318e11b0 to your computer and use it in GitHub Desktop.
Save jjmcdn/2c4272240ff6318e11b0 to your computer and use it in GitHub Desktop.
#bb620: patch
From 82d809e2b6bd087a7d0e0691aa40566fab44d8ac Mon Sep 17 00:00:00 2001
From: Joe MacDonald <joe@deserted.net>
Date: Mon, 22 Dec 2014 11:50:24 -0500
Subject: [PATCH] ACPI: replace DEVICE_ACPI_HANDLE with ACPI_HANDLE
Mainline commit 3a83f992490f8235661b768e53bd5f14915420ac eliminated
DEVICE_ACPI_HANDLE. Since the NV dkms code protects calls with an #ifdef,
it won't fail to compile, however all of the other ACPI infrastructure is
in place to use it, so the driver also fails to load with a message
similar to:
NVRM: failed to copy vbios to system memory.
NVRM: RmInitAdapter failed! (0x30:0xffffffff:711)
NVRM: rm_init_adapter(0) failed
Using the macro that is still available enables the driver to load
successfully.
Signed-off-by: Joe MacDonald <joe@deserted.net>
---
nv-acpi.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/nv-acpi.c b/nv-acpi.c
index 58ad593..3e6014a 100644
--- a/nv-acpi.c
+++ b/nv-acpi.c
@@ -1079,6 +1079,9 @@ RM_STATUS NV_API_CALL nv_acpi_dsm_method(
#ifdef DEVICE_ACPI_HANDLE
nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
dev_handle = DEVICE_ACPI_HANDLE(&nvl->dev->dev);
+#elif defined(ACPI_HANDLE)
+ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
+ dev_handle = ACPI_HANDLE(&nvl->dev->dev);
#endif
if (!dev_handle)
@@ -1182,6 +1185,9 @@ RM_STATUS NV_API_CALL nv_acpi_ddc_method(
#ifdef DEVICE_ACPI_HANDLE
nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
dev_handle = DEVICE_ACPI_HANDLE(&nvl->dev->dev);
+#elif defined(ACPI_HANDLE)
+ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
+ dev_handle = ACPI_HANDLE(&nvl->dev->dev);
#else
return RM_ERR_NOT_SUPPORTED;
#endif
@@ -1297,6 +1303,9 @@ RM_STATUS NV_API_CALL nv_acpi_rom_method(
#ifdef DEVICE_ACPI_HANDLE
nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
dev_handle = DEVICE_ACPI_HANDLE(&nvl->dev->dev);
+#elif defined(ACPI_HANDLE)
+ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
+ dev_handle = ACPI_HANDLE(&nvl->dev->dev);
#else
return RM_ERR_NOT_SUPPORTED;
#endif
@@ -1367,6 +1376,9 @@ RM_STATUS NV_API_CALL nv_acpi_dod_method(
#ifdef DEVICE_ACPI_HANDLE
nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
dev_handle = DEVICE_ACPI_HANDLE(&nvl->dev->dev);
+#elif defined(ACPI_HANDLE)
+ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
+ dev_handle = ACPI_HANDLE(&nvl->dev->dev);
#else
return RM_ERR_NOT_SUPPORTED;
#endif
--
1.9.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment