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: Shuah 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: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
a2fa3fb0d9
commit
8aa6c2166b
1 changed files with 14 additions and 4 deletions
|
@ -393,17 +393,21 @@ static void gmux_notify_handler(acpi_handle device, u32 value, void *context)
|
|||
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);
|
||||
|
||||
gmux_data->resume_client_id = gmux_active_client(gmux_data);
|
||||
gmux_disable_interrupts(gmux_data);
|
||||
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);
|
||||
|
||||
gmux_enable_interrupts(gmux_data);
|
||||
gmux_switchto(gmux_data->resume_client_id);
|
||||
if (gmux_data->power_state == VGA_SWITCHEROO_OFF)
|
||||
|
@ -605,13 +609,19 @@ static const struct pnp_device_id gmux_device_ids[] = {
|
|||
{"", 0}
|
||||
};
|
||||
|
||||
static const struct dev_pm_ops gmux_dev_pm_ops = {
|
||||
.suspend = gmux_suspend,
|
||||
.resume = gmux_resume,
|
||||
};
|
||||
|
||||
static struct pnp_driver gmux_pnp_driver = {
|
||||
.name = "apple-gmux",
|
||||
.probe = gmux_probe,
|
||||
.remove = gmux_remove,
|
||||
.id_table = gmux_device_ids,
|
||||
.suspend = gmux_suspend,
|
||||
.resume = gmux_resume
|
||||
.driver = {
|
||||
.pm = &gmux_dev_pm_ops,
|
||||
},
|
||||
};
|
||||
|
||||
static int __init apple_gmux_init(void)
|
||||
|
|
Loading…
Reference in a new issue