static int uhci_pci_suspend(device_t self) { uhci_softc_t *sc = device_get_softc(self); int err; err = bus_generic_suspend(self); if (err) { return (err); } uhci_suspend(sc); return (0); }
static int ehci_pci_suspend(device_t self) { ehci_softc_t *sc = device_get_softc(self); int err; err = bus_generic_suspend(self); if (err) return (err); ehci_power(PWR_SUSPEND, sc); return 0; }
static int cbb_pci_suspend(device_t brdev) { int error = 0; struct cbb_softc *sc = device_get_softc(brdev); error = bus_generic_suspend(brdev); if (error != 0) return (error); cbb_set(sc, CBB_SOCKET_MASK, 0); /* Quiet hardware */ sc->cardok = 0; /* Card is bogus now */ return (0); }
static int fwohci_pci_suspend(device_t dev) { fwohci_softc_t *sc = device_get_softc(dev); int err; device_printf(dev, "fwohci_pci_suspend\n"); err = bus_generic_suspend(dev); if (err) return err; fwohci_stop(sc, dev); return 0; }
int acpi_pci_suspend(device_t dev) { int dstate, error, i, numdevs; device_t acpi_dev, child, *devlist; struct pci_devinfo *dinfo; acpi_dev = devclass_get_device(devclass_find("acpi"), 0); device_get_children(dev, &devlist, &numdevs); /* * Save the PCI configuration space for each child and set the * device in the appropriate power state for this sleep state. */ for (i = 0; i < numdevs; i++) { child = devlist[i]; dinfo = (struct pci_devinfo *)device_get_ivars(child); pci_cfg_save(child, dinfo, 0); } /* * Suspend devices before potentially powering them down. */ error = bus_generic_suspend(dev); if (error) { kfree(devlist, M_TEMP); return (error); } /* * Always set the device to D3. If ACPI suggests a different * power state, use it instead. If ACPI is not present, the * firmware is responsible for managing device power. Skip * children who aren't attached since they are powered down * separately. Only manage type 0 devices for now. */ for (i = 0; acpi_dev && i < numdevs; i++) { child = devlist[i]; dinfo = (struct pci_devinfo *)device_get_ivars(child); if (device_is_attached(child) && dinfo->cfg.hdrtype == 0) { dstate = PCI_POWERSTATE_D3; ACPI_PWR_FOR_SLEEP(acpi_dev, child, &dstate); pci_set_powerstate(child, dstate); } } kfree(devlist, M_TEMP); return (0); }
static int radeon_suspend(device_t kdev) { struct drm_device *dev; int ret; dev = device_get_softc(kdev); ret = radeon_suspend_kms(dev); if (ret) return (-ret); ret = bus_generic_suspend(kdev); return (ret); }
static int xenbus_suspend(device_t dev) { int error; DPRINTK(""); error = bus_generic_suspend(dev); if (error) return (error); xs_suspend(); return (0); }
static int vgapm_suspend(device_t dev) { device_t vga_dev; int error; error = bus_generic_suspend(dev); if (error != 0) return (error); vga_dev = devclass_get_device(isavga_devclass, 0); if (vga_dev == NULL) return (0); vga_suspend(vga_dev); return (0); }
static int i915_suspend(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); struct drm_i915_private *dev_priv = dev->dev_private; if (!dev || !dev_priv) { DRM_ERROR("dev: 0x%lx, dev_priv: 0x%lx\n", (unsigned long) dev, (unsigned long) dev_priv); DRM_ERROR("DRM not initialized, aborting suspend.\n"); return -ENODEV; } i915_save_state(dev); return (bus_generic_suspend(nbdev)); }
static int i915_suspend(device_t kdev) { struct drm_device *dev = device_get_softc(kdev); if (!dev || !dev->dev_private) { DRM_ERROR("DRM not initialized, aborting suspend.\n"); return -ENODEV; } DRM_LOCK(); DRM_DEBUG("starting suspend\n"); i915_save_state(dev); DRM_UNLOCK(); return (bus_generic_suspend(kdev)); }
static int isab_suspend(device_t dev) { struct isab_softc *sc = device_get_softc(dev); bus_space_tag_t bst; bus_space_handle_t bsh; int i; /* Save the ELCR if required. */ if (sc->elcr_res != NULL) { bst = rman_get_bustag(sc->elcr_res); bsh = rman_get_bushandle(sc->elcr_res); for (i = 0; i < ELCR_IOLEN; i++) sc->saved_elcr[i] = bus_space_read_1(bst, bsh, i); } return (bus_generic_suspend(dev)); }
static int i915_suspend(device_t kdev) { struct drm_device *dev; int error; dev = device_get_softc(kdev); if (dev == NULL || dev->dev_private == NULL) { DRM_ERROR("DRM not initialized, aborting suspend.\n"); return ENODEV; } DRM_DEBUG_KMS("starting suspend\n"); error = i915_drm_freeze(dev); if (error) return (-error); error = bus_generic_suspend(kdev); DRM_DEBUG_KMS("finished suspend %d\n", error); return (error); }
static int gpiobus_suspend(device_t dev) { return (bus_generic_suspend(dev)); }
static int vga_pci_suspend(device_t dev) { return (bus_generic_suspend(dev)); }
static int chipc_suspend(device_t dev) { return (bus_generic_suspend(dev)); }