forked from mirrors/linux
		
	platform/x86: nvidia-wmi-ec-backlight: Use acpi_video_get_backlight_type()
Add an acpi_video_get_backlight_type() == acpi_backlight_nvidia_wmi_ec check. This will make nvidia-wmi-ec-backlight properly honor the user selecting a different backlight driver through the acpi_backlight=... kernel commandline option. Since the auto-detect code check for nvidia-wmi-ec-backlight in drivers/acpi/video_detect.c already checks that the WMI advertised brightness-source is the embedded controller, this new check makes it unnecessary for nvidia_wmi_ec_backlight_probe() to check this itself. Suggested-by: Daniel Dadap <ddadap@nvidia.com> Reviewed-by: Daniel Dadap <ddadap@nvidia.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
		
							parent
							
								
									21245df307
								
							
						
					
					
						commit
						8d0ca287fd
					
				
					 2 changed files with 4 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -93,6 +93,7 @@ config PEAQ_WMI
 | 
			
		|||
 | 
			
		||||
config NVIDIA_WMI_EC_BACKLIGHT
 | 
			
		||||
	tristate "EC Backlight Driver for Hybrid Graphics Notebook Systems"
 | 
			
		||||
	depends on ACPI_VIDEO
 | 
			
		||||
	depends on ACPI_WMI
 | 
			
		||||
	depends on BACKLIGHT_CLASS_DEVICE
 | 
			
		||||
	help
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,6 +10,7 @@
 | 
			
		|||
#include <linux/platform_data/x86/nvidia-wmi-ec-backlight.h>
 | 
			
		||||
#include <linux/types.h>
 | 
			
		||||
#include <linux/wmi.h>
 | 
			
		||||
#include <acpi/video.h>
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * wmi_brightness_notify() - helper function for calling WMI-wrapped ACPI method
 | 
			
		||||
| 
						 | 
				
			
			@ -87,19 +88,10 @@ static int nvidia_wmi_ec_backlight_probe(struct wmi_device *wdev, const void *ct
 | 
			
		|||
{
 | 
			
		||||
	struct backlight_properties props = {};
 | 
			
		||||
	struct backlight_device *bdev;
 | 
			
		||||
	u32 source;
 | 
			
		||||
	int ret;
 | 
			
		||||
 | 
			
		||||
	ret = wmi_brightness_notify(wdev, WMI_BRIGHTNESS_METHOD_SOURCE,
 | 
			
		||||
	                           WMI_BRIGHTNESS_MODE_GET, &source);
 | 
			
		||||
	if (ret)
 | 
			
		||||
		return ret;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * This driver is only to be used when brightness control is handled
 | 
			
		||||
	 * by the EC; otherwise, the GPU driver(s) should control brightness.
 | 
			
		||||
	 */
 | 
			
		||||
	if (source != WMI_BRIGHTNESS_SOURCE_EC)
 | 
			
		||||
	/* drivers/acpi/video_detect.c also checks that SOURCE == EC */
 | 
			
		||||
	if (acpi_video_get_backlight_type() != acpi_backlight_nvidia_wmi_ec)
 | 
			
		||||
		return -ENODEV;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue