Exemplo n.º 1
0
static int __maybe_unused sprd_i2c_suspend_noirq(struct device *dev)
{
	struct sprd_i2c *i2c_dev = dev_get_drvdata(dev);

	i2c_mark_adapter_suspended(&i2c_dev->adap);
	return pm_runtime_force_suspend(dev);
}
Exemplo n.º 2
0
static int spi_st_suspend(struct device *dev)
{
	struct spi_master *master = dev_get_drvdata(dev);
	int ret;

	ret = spi_master_suspend(master);
	if (ret)
		return ret;

	return pm_runtime_force_suspend(dev);
}
Exemplo n.º 3
0
/*
 * power management
 */
static int __maybe_unused hda_tegra_suspend(struct device *dev)
{
	struct snd_card *card = dev_get_drvdata(dev);
	int rc;

	rc = pm_runtime_force_suspend(dev);
	if (rc < 0)
		return rc;
	snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);

	return 0;
}
Exemplo n.º 4
0
static int sandman_suspend_disk(char *name)
{
    int err = 0;
    bool manage_start_stop = false;
    struct device *device = NULL;
    struct device *parent = NULL;
    struct scsi_device *sdev = NULL;

    device = sandman_find_dev(name);
    if (IS_ERR(device)) {
        printk(KERN_WARNING "[Sandman] %s: no disk found.\n", name);
        err = PTR_ERR(device);
        goto fail;
    }

    /*
     * Ensure that manage_start_stop is enabled
     */
    parent = device->parent;
    sdev = to_scsi_device(parent);
    if (!sdev)
        return 1;
    if (sdev->manage_start_stop)
        manage_start_stop = true;
    else
        sdev->manage_start_stop = 1;

    err = pm_runtime_force_suspend(parent);
    sdev->manage_start_stop = manage_start_stop ? 1 : 0;
    if (err)
        goto fail;

    if (parent->power.runtime_status != RPM_SUSPENDED) {
        err = 2;
        goto fail;
    }
    return 0;

fail:
    return err;
}
Exemplo n.º 5
0
static int __maybe_unused exynos_rng_suspend(struct device *dev)
{
	return pm_runtime_force_suspend(dev);
}
Exemplo n.º 6
0
static int sun6i_spi_remove(struct platform_device *pdev)
{
	pm_runtime_force_suspend(&pdev->dev);

	return 0;
}