vga_switcheroo: Don't require handler init callback

This callback is a no-op in nouveau, and the upcoming apple-gmux
switcheroo support won't require it either. Rather than forcing drivers
to stub it out, just make it optional and remove the callback from
nouveau.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
This commit is contained in:
Seth Forshee 2012-08-17 11:17:02 -05:00 committed by Matthew Garrett
parent 36704c0c4c
commit e99eac5e4e
2 changed files with 2 additions and 7 deletions

View File

@ -211,11 +211,6 @@ static int nouveau_dsm_power_state(enum vga_switcheroo_client_id id,
return nouveau_dsm_set_discrete_state(nouveau_dsm_priv.dhandle, state); return nouveau_dsm_set_discrete_state(nouveau_dsm_priv.dhandle, state);
} }
static int nouveau_dsm_init(void)
{
return 0;
}
static int nouveau_dsm_get_client_id(struct pci_dev *pdev) static int nouveau_dsm_get_client_id(struct pci_dev *pdev)
{ {
/* easy option one - intel vendor ID means Integrated */ /* easy option one - intel vendor ID means Integrated */
@ -232,7 +227,6 @@ static int nouveau_dsm_get_client_id(struct pci_dev *pdev)
static struct vga_switcheroo_handler nouveau_dsm_handler = { static struct vga_switcheroo_handler nouveau_dsm_handler = {
.switchto = nouveau_dsm_switchto, .switchto = nouveau_dsm_switchto,
.power_state = nouveau_dsm_power_state, .power_state = nouveau_dsm_power_state,
.init = nouveau_dsm_init,
.get_client_id = nouveau_dsm_get_client_id, .get_client_id = nouveau_dsm_get_client_id,
}; };

View File

@ -83,7 +83,8 @@ static void vga_switcheroo_enable(void)
struct vga_switcheroo_client *client; struct vga_switcheroo_client *client;
/* call the handler to init */ /* call the handler to init */
vgasr_priv.handler->init(); if (vgasr_priv.handler->init)
vgasr_priv.handler->init();
list_for_each_entry(client, &vgasr_priv.clients, list) { list_for_each_entry(client, &vgasr_priv.clients, list) {
if (client->id != -1) if (client->id != -1)