struct vga_switcheroo_client — registered client
struct vga_switcheroo_client {
struct pci_dev * pdev;
struct fb_info * fb_info;
enum vga_switcheroo_state pwr_state;
const struct vga_switcheroo_client_ops * ops;
enum vga_switcheroo_client_id id;
bool active;
bool driver_power_control;
struct list_head list;
}; client pci device
framebuffer to which console is remapped on switching
current power state
client callbacks
client identifier. Determining the id requires the handler,
so gpus are initially assigned VGA_SWITCHEROO_UNKNOWN_ID
and later given their true id in vga_switcheroo_enable
whether the outputs are currently switched to this client
whether power state is controlled by the driver's runtime pm. If true, writing ON and OFF to the vga_switcheroo debugfs interface is a no-op so as not to interfere with runtime pm
client list