dev->power.power_state, state, 
dev->power.power_state.event, state.event, 
int suspend_device(struct device * dev, pm_message_t state){	int error = 0;	down(&dev->sem);	if (dev->power.power_state) {		dev_dbg(dev, "PM: suspend %d-->%d\n",			dev->power.power_state, state);	}	if (dev->power.pm_parent			&& dev->power.pm_parent->power.power_state) {		dev_err(dev,			"PM: suspend %d->%d, parent %s already %d\n",			dev->power.power_state, state,			dev->power.pm_parent->bus_id,			dev->power.pm_parent->power.power_state);	}	dev->power.prev_state = dev->power.power_state;	if (dev->bus && dev->bus->suspend && !dev->power.power_state) {		dev_dbg(dev, "suspending\n");		error = dev->bus->suspend(dev, state);	}	up(&dev->sem);	return error;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ca078bae813dd46c0f9b102fdfb4a3384641ff48/suspend.c/buggy/drivers/base/power/suspend.c