Exemplo n.º 1
0
static int pcmcia_bus_suspend_callback(struct device *dev, void * _data)
{
	struct pcmcia_socket *skt = _data;
	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);

	if (p_dev->socket != skt)
		return 0;

	return dpm_runtime_suspend(dev, PMSG_SUSPEND);
}
Exemplo n.º 2
0
static ssize_t state_store(struct device * dev, struct device_attribute *attr, const char * buf, size_t n)
{
	pm_message_t state;
	char * rest;
	int error = 0;

	state.event = simple_strtoul(buf, &rest, 10);
	if (*rest)
		return -EINVAL;
	if (state.event)
		error = dpm_runtime_suspend(dev, state);
	else
		dpm_runtime_resume(dev);
	return error ? error : n;
}
Exemplo n.º 3
0
static ssize_t state_store(struct device * dev, const char * buf, size_t n)
{
	u32 state;
	char * rest;
	int error = 0;

	state = simple_strtoul(buf, &rest, 10);
	if (*rest)
		return -EINVAL;
	if (state)
		error = dpm_runtime_suspend(dev, state);
	else
		dpm_runtime_resume(dev);
	return error ? error : n;
}
Exemplo n.º 4
0
static ssize_t pcmcia_store_pm_state(struct device *dev, struct device_attribute *attr,
				     const char *buf, size_t count)
{
	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
	int ret = 0;

        if (!count)
                return -EINVAL;

	if ((p_dev->dev.power.power_state.event == PM_EVENT_ON) &&
	    (!strncmp(buf, "off", 3)))
		ret = dpm_runtime_suspend(dev, PMSG_SUSPEND);
	else if ((p_dev->dev.power.power_state.event != PM_EVENT_ON) &&
		 (!strncmp(buf, "on", 2)))
		dpm_runtime_resume(dev);

	return ret ? ret : count;
}