opregion-based platforms will send ACPI video event 0x80 for a range of notification types for legacy compatibility. This is interpreted as a display switch event, which may not be appropriate in the circumstances. When we receive such an event we should make sure that the platform is genuinely requesting a display switch before passing that event through to userspace. Signed-off-by: Matthew Garrett <mjg@redhat.com> Tested-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			958 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			958 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef __ACPI_VIDEO_H
 | 
						|
#define __ACPI_VIDEO_H
 | 
						|
 | 
						|
#include <linux/errno.h> /* for ENODEV */
 | 
						|
 | 
						|
struct acpi_device;
 | 
						|
 | 
						|
#define ACPI_VIDEO_CLASS	"video"
 | 
						|
 | 
						|
#define ACPI_VIDEO_DISPLAY_CRT  1
 | 
						|
#define ACPI_VIDEO_DISPLAY_TV   2
 | 
						|
#define ACPI_VIDEO_DISPLAY_DVI  3
 | 
						|
#define ACPI_VIDEO_DISPLAY_LCD  4
 | 
						|
 | 
						|
#define ACPI_VIDEO_DISPLAY_LEGACY_MONITOR 0x0100
 | 
						|
#define ACPI_VIDEO_DISPLAY_LEGACY_PANEL   0x0110
 | 
						|
#define ACPI_VIDEO_DISPLAY_LEGACY_TV      0x0200
 | 
						|
 | 
						|
#if (defined CONFIG_ACPI_VIDEO || defined CONFIG_ACPI_VIDEO_MODULE)
 | 
						|
extern int acpi_video_register(void);
 | 
						|
extern void acpi_video_unregister(void);
 | 
						|
extern int acpi_video_get_edid(struct acpi_device *device, int type,
 | 
						|
			       int device_id, void **edid);
 | 
						|
#else
 | 
						|
static inline int acpi_video_register(void) { return 0; }
 | 
						|
static inline void acpi_video_unregister(void) { return; }
 | 
						|
static inline int acpi_video_get_edid(struct acpi_device *device, int type,
 | 
						|
				      int device_id, void **edid)
 | 
						|
{
 | 
						|
	return -ENODEV;
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif
 |