Re: platform/i2c busses: pm runtime and system sleep

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Mark Brown
Date: Friday, December 17, 2010 - 7:24 am

On Fri, Dec 17, 2010 at 02:49:25PM +0100, Rafael J. Wysocki wrote:



Hrm.  Possibly just some fiddling with those or alternative versions.
For example, looking at the I2C bus suspend it's this:

static int i2c_device_pm_suspend(struct device *dev)
{
	const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;

	if (pm) {
		if (pm_runtime_suspended(dev))
			return 0;
		else
			return pm->suspend ? pm->suspend(dev) : 0;
	}

	return i2c_legacy_suspend(dev, PMSG_SUSPEND);
}

Ideally the if (pm) block could just be factored out into the pm core as
there's nothing I2C-specific about that at all.  Possibly even the whole
logic surrounding fall back to legacy, though that smells a bit.  The
generic suspend operation doesn't fit here:

int pm_generic_suspend(struct device *dev)
{
	return __pm_generic_call(dev, PM_EVENT_SUSPEND);
}
EXPORT_SYMBOL_GPL(pm_generic_suspend);
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
platform/i2c busses: pm runtime and system sleep, Rabin Vincent, (Thu Dec 16, 11:26 am)
Re: platform/i2c busses: pm runtime and system sleep, Rafael J. Wysocki, (Thu Dec 16, 5:09 pm)
Re: platform/i2c busses: pm runtime and system sleep, Mark Brown, (Fri Dec 17, 5:54 am)
Re: platform/i2c busses: pm runtime and system sleep, Rafael J. Wysocki, (Fri Dec 17, 6:25 am)
Re: platform/i2c busses: pm runtime and system sleep, Mark Brown, (Fri Dec 17, 6:34 am)
Re: platform/i2c busses: pm runtime and system sleep, Rafael J. Wysocki, (Fri Dec 17, 6:49 am)
Re: platform/i2c busses: pm runtime and system sleep, Mark Brown, (Fri Dec 17, 7:24 am)
Re: platform/i2c busses: pm runtime and system sleep, Rafael J. Wysocki, (Fri Dec 17, 4:01 pm)
Re: platform/i2c busses: pm runtime and system sleep, Mark Brown, (Fri Dec 17, 6:04 pm)
Re: platform/i2c busses: pm runtime and system sleep, Rafael J. Wysocki, (Sat Dec 18, 5:54 am)
Re: platform/i2c busses: pm runtime and system sleep, Mark Brown, (Sat Dec 18, 6:20 am)
Re: platform/i2c busses: pm runtime and system sleep, Rafael J. Wysocki, (Sat Dec 18, 7:59 am)
Re: platform/i2c busses: pm runtime and system sleep, Mark Brown, (Mon Dec 20, 8:00 am)
Re: platform/i2c busses: pm runtime and system sleep, Rafael J. Wysocki, (Mon Dec 20, 2:13 pm)
Re: platform/i2c busses: pm runtime and system sleep, Mark Brown, (Tue Dec 21, 4:51 pm)
Re: platform/i2c busses: pm runtime and system sleep, Rafael J. Wysocki, (Tue Dec 21, 5:35 pm)