[patch 2.6.24-rc4] pcmcia stops updating dev->power.power_state
David Brownell
david-b at pacbell.net
Tue Dec 4 15:28:07 EST 2007
This stops the pcmcia core from using dev->power.power_state;
that field is deprecated (overdue for removal) and the only reason
to update it was to make the /sys/devices/.../power/state files
(now removed) work better.
Signed-off-by: David Brownell <dbrownell at users.sourceforge.net>
--- pstate.orig/drivers/pcmcia/ds.c 2007-12-04 09:33:12.000000000 -0800
+++ pstate/drivers/pcmcia/ds.c 2007-12-04 09:36:15.000000000 -0800
@@ -1129,8 +1129,6 @@ static int runtime_suspend(struct device
down(&dev->sem);
rc = pcmcia_dev_suspend(dev, PMSG_SUSPEND);
up(&dev->sem);
- if (!rc)
- dev->power.power_state.event = PM_EVENT_SUSPEND;
return rc;
}
@@ -1141,8 +1139,6 @@ static void runtime_resume(struct device
down(&dev->sem);
rc = pcmcia_dev_resume(dev);
up(&dev->sem);
- if (!rc)
- dev->power.power_state.event = PM_EVENT_ON;
}
/************************ per-device sysfs output ***************************/
@@ -1264,6 +1260,9 @@ static int pcmcia_dev_suspend(struct dev
struct pcmcia_driver *p_drv = NULL;
int ret = 0;
+ if (p_dev->suspended)
+ return 0;
+
ds_dbg(2, "suspending %s\n", dev->bus_id);
if (dev->driver)
@@ -1300,6 +1299,9 @@ static int pcmcia_dev_resume(struct devi
struct pcmcia_driver *p_drv = NULL;
int ret = 0;
+ if (!p_dev->suspended)
+ return 0;
+
ds_dbg(2, "resuming %s\n", dev->bus_id);
if (dev->driver)
More information about the linux-pcmcia
mailing list