diff options
Diffstat (limited to 'drivers/acpi/video_detect.c')
| -rw-r--r-- | drivers/acpi/video_detect.c | 57 | 
1 files changed, 36 insertions, 21 deletions
| diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c index 8a541efc5675..a8c02608dde4 100644 --- a/drivers/acpi/video_detect.c +++ b/drivers/acpi/video_detect.c @@ -110,26 +110,6 @@ static bool nvidia_wmi_ec_supported(void)  }  #endif -static bool apple_gmux_backlight_present(void) -{ -	struct acpi_device *adev; -	struct device *dev; - -	adev = acpi_dev_get_first_match_dev(GMUX_ACPI_HID, NULL, -1); -	if (!adev) -		return false; - -	dev = acpi_get_first_physical_node(adev); -	if (!dev) -		return false; - -	/* -	 * drivers/platform/x86/apple-gmux.c only supports old style -	 * Apple GMUX with an IO-resource. -	 */ -	return pnp_get_resource(to_pnp_dev(dev), IORESOURCE_IO, 0) != NULL; -} -  /* Force to use vendor driver when the ACPI device is known to be   * buggy */  static int video_detect_force_vendor(const struct dmi_system_id *d) @@ -517,6 +497,14 @@ static const struct dmi_system_id video_detect_dmi_table[] = {  	},  	{  	 .callback = video_detect_force_native, +	 /* Acer Aspire 4810T */ +	 .matches = { +		DMI_MATCH(DMI_SYS_VENDOR, "Acer"), +		DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 4810T"), +		}, +	}, +	{ +	 .callback = video_detect_force_native,  	 /* Acer Aspire 5738z */  	 .matches = {  		DMI_MATCH(DMI_SYS_VENDOR, "Acer"), @@ -604,6 +592,14 @@ static const struct dmi_system_id video_detect_dmi_table[] = {  	},  	{  	 .callback = video_detect_force_native, +	 /* Asus U46E */ +	 .matches = { +		DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), +		DMI_MATCH(DMI_PRODUCT_NAME, "U46E"), +		}, +	}, +	{ +	 .callback = video_detect_force_native,  	 /* Asus UX303UB */  	 .matches = {  		DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), @@ -612,6 +608,23 @@ static const struct dmi_system_id video_detect_dmi_table[] = {  	},  	{  	 .callback = video_detect_force_native, +	 /* HP EliteBook 8460p */ +	 .matches = { +		DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), +		DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8460p"), +		}, +	}, +	{ +	 .callback = video_detect_force_native, +	 /* HP Pavilion g6-1d80nr / B4U19UA */ +	 .matches = { +		DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), +		DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion g6 Notebook PC"), +		DMI_MATCH(DMI_PRODUCT_SKU, "B4U19UA"), +		}, +	}, +	{ +	 .callback = video_detect_force_native,  	 /* Samsung N150P */  	 .matches = {  		DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), @@ -758,6 +771,7 @@ static enum acpi_backlight_type __acpi_video_get_backlight_type(bool native)  {  	static DEFINE_MUTEX(init_mutex);  	static bool nvidia_wmi_ec_present; +	static bool apple_gmux_present;  	static bool native_available;  	static bool init_done;  	static long video_caps; @@ -771,6 +785,7 @@ static enum acpi_backlight_type __acpi_video_get_backlight_type(bool native)  				    ACPI_UINT32_MAX, find_video, NULL,  				    &video_caps, NULL);  		nvidia_wmi_ec_present = nvidia_wmi_ec_supported(); +		apple_gmux_present = apple_gmux_detect(NULL, NULL);  		init_done = true;  	}  	if (native) @@ -792,7 +807,7 @@ static enum acpi_backlight_type __acpi_video_get_backlight_type(bool native)  	if (nvidia_wmi_ec_present)  		return acpi_backlight_nvidia_wmi_ec; -	if (apple_gmux_backlight_present()) +	if (apple_gmux_present)  		return acpi_backlight_apple_gmux;  	/* Use ACPI video if available, except when native should be preferred. */ |