Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8aa6c216 authored by Shuah Khan's avatar Shuah Khan Committed by Linus Torvalds
Browse files

platform: convert apple-gmux driver to dev_pm_ops from legacy pm_ops



Convert drivers/platform/x86/apple-gmux to use dev_pm_ops instead of
legacy pm_ops.  This patch depends on pnp driver bus ops change to invoke
pnp_driver dev_pm_ops.

Signed-off-by: default avatarShuah Khan <shuah.kh@samsung.com>
Cc: Matthew Garrett <matthew.garrett@nebula.com>
Cc: Leonidas Da Silva Barbosa <leosilva@linux.vnet.ibm.com>
Cc: Ashley Lai <ashley@ashleylai.com>
Cc: Rajiv Andrade <mail@srajiv.net>
Cc: Marcel Selhorst <tpmdd@selhorst.net>
Cc: Sirrix AG <tpmdd@sirrix.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Peter Hüwe <PeterHuewe@gmx.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a2fa3fb0
Loading
Loading
Loading
Loading
+14 −4
Original line number Original line Diff line number Diff line
@@ -393,17 +393,21 @@ static void gmux_notify_handler(acpi_handle device, u32 value, void *context)
		complete(&gmux_data->powerchange_done);
		complete(&gmux_data->powerchange_done);
}
}


static int gmux_suspend(struct pnp_dev *pnp, pm_message_t state)
static int gmux_suspend(struct device *dev)
{
{
	struct pnp_dev *pnp = to_pnp_dev(dev);
	struct apple_gmux_data *gmux_data = pnp_get_drvdata(pnp);
	struct apple_gmux_data *gmux_data = pnp_get_drvdata(pnp);

	gmux_data->resume_client_id = gmux_active_client(gmux_data);
	gmux_data->resume_client_id = gmux_active_client(gmux_data);
	gmux_disable_interrupts(gmux_data);
	gmux_disable_interrupts(gmux_data);
	return 0;
	return 0;
}
}


static int gmux_resume(struct pnp_dev *pnp)
static int gmux_resume(struct device *dev)
{
{
	struct pnp_dev *pnp = to_pnp_dev(dev);
	struct apple_gmux_data *gmux_data = pnp_get_drvdata(pnp);
	struct apple_gmux_data *gmux_data = pnp_get_drvdata(pnp);

	gmux_enable_interrupts(gmux_data);
	gmux_enable_interrupts(gmux_data);
	gmux_switchto(gmux_data->resume_client_id);
	gmux_switchto(gmux_data->resume_client_id);
	if (gmux_data->power_state == VGA_SWITCHEROO_OFF)
	if (gmux_data->power_state == VGA_SWITCHEROO_OFF)
@@ -605,13 +609,19 @@ static const struct pnp_device_id gmux_device_ids[] = {
	{"", 0}
	{"", 0}
};
};


static const struct dev_pm_ops gmux_dev_pm_ops = {
	.suspend = gmux_suspend,
	.resume = gmux_resume,
};

static struct pnp_driver gmux_pnp_driver = {
static struct pnp_driver gmux_pnp_driver = {
	.name		= "apple-gmux",
	.name		= "apple-gmux",
	.probe		= gmux_probe,
	.probe		= gmux_probe,
	.remove		= gmux_remove,
	.remove		= gmux_remove,
	.id_table	= gmux_device_ids,
	.id_table	= gmux_device_ids,
	.suspend	= gmux_suspend,
	.driver		= {
	.resume		= gmux_resume
			.pm = &gmux_dev_pm_ops,
	},
};
};


static int __init apple_gmux_init(void)
static int __init apple_gmux_init(void)