forked from mirrors/linux
		
	ACPI: video: Remove code to unregister acpi_video backlight when a native backlight registers
Remove the code to unregister acpi_video backlight devices when a native backlight device gets registered later. Now that the acpi_video backlight device registration is a separate step which runs later, after the drm/kms driver is done setting up its own native backlight device, it is no longer necessary to monitor for a native (BACKLIGHT_RAW) device showing up later and to then unregister the acpi_video backlight device(s). Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
		
							parent
							
								
									3dbc80a3e4
								
							
						
					
					
						commit
						6cb634d0dc
					
				
					 2 changed files with 0 additions and 38 deletions
				
			
		|  | @ -94,7 +94,6 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event); | |||
| static void acpi_video_bus_register_backlight_work(struct work_struct *ignored); | ||||
| static DECLARE_DELAYED_WORK(video_bus_register_backlight_work, | ||||
| 			    acpi_video_bus_register_backlight_work); | ||||
| void acpi_video_detect_exit(void); | ||||
| 
 | ||||
| /*
 | ||||
|  * Indices in the _BCL method response: the first two items are special, | ||||
|  | @ -2342,7 +2341,6 @@ static int __init acpi_video_init(void) | |||
| 
 | ||||
| static void __exit acpi_video_exit(void) | ||||
| { | ||||
| 	acpi_video_detect_exit(); | ||||
| 	acpi_video_unregister(); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -38,10 +38,6 @@ | |||
| 
 | ||||
| void acpi_video_unregister_backlight(void); | ||||
| 
 | ||||
| static bool backlight_notifier_registered; | ||||
| static struct notifier_block backlight_nb; | ||||
| static struct work_struct backlight_notify_work; | ||||
| 
 | ||||
| static enum acpi_backlight_type acpi_backlight_cmdline = acpi_backlight_undef; | ||||
| static enum acpi_backlight_type acpi_backlight_dmi = acpi_backlight_undef; | ||||
| 
 | ||||
|  | @ -538,26 +534,6 @@ static const struct dmi_system_id video_detect_dmi_table[] = { | |||
| 	{ }, | ||||
| }; | ||||
| 
 | ||||
| /* This uses a workqueue to avoid various locking ordering issues */ | ||||
| static void acpi_video_backlight_notify_work(struct work_struct *work) | ||||
| { | ||||
| 	if (acpi_video_get_backlight_type() != acpi_backlight_video) | ||||
| 		acpi_video_unregister_backlight(); | ||||
| } | ||||
| 
 | ||||
| static int acpi_video_backlight_notify(struct notifier_block *nb, | ||||
| 				       unsigned long val, void *bd) | ||||
| { | ||||
| 	struct backlight_device *backlight = bd; | ||||
| 
 | ||||
| 	/* A raw bl registering may change video -> native */ | ||||
| 	if (backlight->props.type == BACKLIGHT_RAW && | ||||
| 	    val == BACKLIGHT_REGISTERED) | ||||
| 		schedule_work(&backlight_notify_work); | ||||
| 
 | ||||
| 	return NOTIFY_OK; | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * Determine which type of backlight interface to use on this system, | ||||
|  * First check cmdline, then dmi quirks, then do autodetect. | ||||
|  | @ -587,12 +563,6 @@ static enum acpi_backlight_type __acpi_video_get_backlight_type(bool native) | |||
| 		acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, | ||||
| 				    ACPI_UINT32_MAX, find_video, NULL, | ||||
| 				    &video_caps, NULL); | ||||
| 		INIT_WORK(&backlight_notify_work, | ||||
| 			  acpi_video_backlight_notify_work); | ||||
| 		backlight_nb.notifier_call = acpi_video_backlight_notify; | ||||
| 		backlight_nb.priority = 0; | ||||
| 		if (backlight_register_notifier(&backlight_nb) == 0) | ||||
| 			backlight_notifier_registered = true; | ||||
| 		init_done = true; | ||||
| 	} | ||||
| 	if (native) | ||||
|  | @ -639,9 +609,3 @@ void acpi_video_set_dmi_backlight_type(enum acpi_backlight_type type) | |||
| 		acpi_video_unregister_backlight(); | ||||
| } | ||||
| EXPORT_SYMBOL(acpi_video_set_dmi_backlight_type); | ||||
| 
 | ||||
| void __exit acpi_video_detect_exit(void) | ||||
| { | ||||
| 	if (backlight_notifier_registered) | ||||
| 		backlight_unregister_notifier(&backlight_nb); | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Hans de Goede
						Hans de Goede