diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_lvds.c | 67 |
1 files changed, 2 insertions, 65 deletions
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 3118ce274e67..539d97ee79e6 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
| @@ -854,65 +854,6 @@ static const struct dmi_system_id intel_no_lvds[] = { | |||
| 854 | { } /* terminating entry */ | 854 | { } /* terminating entry */ |
| 855 | }; | 855 | }; |
| 856 | 856 | ||
| 857 | #ifdef CONFIG_ACPI | ||
| 858 | /* | ||
| 859 | * check_lid_device -- check whether @handle is an ACPI LID device. | ||
| 860 | * @handle: ACPI device handle | ||
| 861 | * @level : depth in the ACPI namespace tree | ||
| 862 | * @context: the number of LID device when we find the device | ||
| 863 | * @rv: a return value to fill if desired (Not use) | ||
| 864 | */ | ||
| 865 | static acpi_status | ||
| 866 | check_lid_device(acpi_handle handle, u32 level, void *context, | ||
| 867 | void **return_value) | ||
| 868 | { | ||
| 869 | struct acpi_device *acpi_dev; | ||
| 870 | int *lid_present = context; | ||
| 871 | |||
| 872 | acpi_dev = NULL; | ||
| 873 | /* Get the acpi device for device handle */ | ||
| 874 | if (acpi_bus_get_device(handle, &acpi_dev) || !acpi_dev) { | ||
| 875 | /* If there is no ACPI device for handle, return */ | ||
| 876 | return AE_OK; | ||
| 877 | } | ||
| 878 | |||
| 879 | if (!strncmp(acpi_device_hid(acpi_dev), "PNP0C0D", 7)) | ||
| 880 | *lid_present = 1; | ||
| 881 | |||
| 882 | return AE_OK; | ||
| 883 | } | ||
| 884 | |||
| 885 | /** | ||
| 886 | * check whether there exists the ACPI LID device by enumerating the ACPI | ||
| 887 | * device tree. | ||
| 888 | */ | ||
| 889 | static int intel_lid_present(void) | ||
| 890 | { | ||
| 891 | int lid_present = 0; | ||
| 892 | |||
| 893 | if (acpi_disabled) { | ||
| 894 | /* If ACPI is disabled, there is no ACPI device tree to | ||
| 895 | * check, so assume the LID device would have been present. | ||
| 896 | */ | ||
| 897 | return 1; | ||
| 898 | } | ||
| 899 | |||
| 900 | acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, | ||
| 901 | ACPI_UINT32_MAX, | ||
| 902 | check_lid_device, NULL, &lid_present, NULL); | ||
| 903 | |||
| 904 | return lid_present; | ||
| 905 | } | ||
| 906 | #else | ||
| 907 | static int intel_lid_present(void) | ||
| 908 | { | ||
| 909 | /* In the absence of ACPI built in, assume that the LID device would | ||
| 910 | * have been present. | ||
| 911 | */ | ||
| 912 | return 1; | ||
| 913 | } | ||
| 914 | #endif | ||
| 915 | |||
| 916 | /** | 857 | /** |
| 917 | * intel_find_lvds_downclock - find the reduced downclock for LVDS in EDID | 858 | * intel_find_lvds_downclock - find the reduced downclock for LVDS in EDID |
| 918 | * @dev: drm device | 859 | * @dev: drm device |
| @@ -1031,12 +972,8 @@ void intel_lvds_init(struct drm_device *dev) | |||
| 1031 | if (dmi_check_system(intel_no_lvds)) | 972 | if (dmi_check_system(intel_no_lvds)) |
| 1032 | return; | 973 | return; |
| 1033 | 974 | ||
| 1034 | /* | 975 | if (!lvds_is_present_in_vbt(dev)) { |
| 1035 | * Assume LVDS is present if there's an ACPI lid device or if the | 976 | DRM_DEBUG_KMS("LVDS is not present in VBT\n"); |
| 1036 | * device is present in the VBT. | ||
| 1037 | */ | ||
| 1038 | if (!lvds_is_present_in_vbt(dev) && !intel_lid_present()) { | ||
| 1039 | DRM_DEBUG_KMS("LVDS is not present in VBT and no lid detected\n"); | ||
| 1040 | return; | 977 | return; |
| 1041 | } | 978 | } |
| 1042 | 979 | ||
