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); }
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); }
/* * 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; }
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; }
static int __maybe_unused exynos_rng_suspend(struct device *dev) { return pm_runtime_force_suspend(dev); }
static int sun6i_spi_remove(struct platform_device *pdev) { pm_runtime_force_suspend(&pdev->dev); return 0; }