Esempio n. 1
0
static int __maybe_unused sprd_i2c_resume_noirq(struct device *dev)
{
	struct sprd_i2c *i2c_dev = dev_get_drvdata(dev);

	i2c_mark_adapter_resumed(&i2c_dev->adap);
	return pm_runtime_force_resume(dev);
}
Esempio n. 2
0
static int spi_st_resume(struct device *dev)
{
	struct spi_master *master = dev_get_drvdata(dev);
	int ret;

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

	return pm_runtime_force_resume(dev);
}
Esempio n. 3
0
static int __maybe_unused hda_tegra_resume(struct device *dev)
{
	struct snd_card *card = dev_get_drvdata(dev);
	int rc;

	rc = pm_runtime_force_resume(dev);
	if (rc < 0)
		return rc;
	snd_power_change_state(card, SNDRV_CTL_POWER_D0);

	return 0;
}
Esempio n. 4
0
static int __maybe_unused exynos_rng_resume(struct device *dev)
{
	struct platform_device *pdev = to_platform_device(dev);
	struct exynos_rng *exynos_rng = platform_get_drvdata(pdev);
	int ret;

	ret = pm_runtime_force_resume(dev);
	if (ret)
		return ret;

	return exynos_rng_configure(exynos_rng);
}
Esempio n. 5
0
static int sandman_resume_disk(char *name)
{
    int err = 0;
    bool ignore_children = false;
    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;
    }

    /*
     * Ignore child_count value (but still updated).
     * Necessary to successfully set runtime_status to RPM_ACTIVE.
     */
    parent = device->parent;
    if (parent->parent->power.ignore_children)
        ignore_children = true;
    else
        parent->parent->power.ignore_children = 1;

    /*
     * Ensure that manage_start_stop is enabled
     */
    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_resume(parent);
    parent->parent->power.ignore_children = ignore_children ? 1 : 0;
    sdev->manage_start_stop = manage_start_stop ? 1 : 0;
    if (err)
        goto fail;

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

fail:
    return err;
}