/linux-6.12.1/drivers/base/power/ |
D | generic_ops.c | 3 * drivers/base/power/generic_ops.c - Generic PM callbacks for subsystems 7 #include <linux/pm.h> 16 * If PM operations are defined for the @dev's driver and they include 22 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pm_generic_runtime_suspend() local 25 ret = pm && pm->runtime_suspend ? pm->runtime_suspend(dev) : 0; in pm_generic_runtime_suspend() 35 * If PM operations are defined for the @dev's driver and they include 41 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pm_generic_runtime_resume() local 44 ret = pm && pm->runtime_resume ? pm->runtime_resume(dev) : 0; in pm_generic_runtime_resume() 63 if (drv && drv->pm && drv->pm->prepare) in pm_generic_prepare() 64 ret = drv->pm->prepare(dev); in pm_generic_prepare() [all …]
|
D | common.c | 83 * dev_pm_domain_attach - Attach a device to its PM domain. 87 * The @dev may only be attached to a single PM domain. By iterating through 88 * the available alternatives we try to find a valid PM domain for the device. 94 * power management through PM domains. 99 * Returns 0 on successfully attached PM domain, or when it is found that the 100 * device doesn't need a PM domain, else a negative error code. 118 * dev_pm_domain_attach_by_id - Associate a device with one of its PM domains. 119 * @dev: The device used to lookup the PM domain. 120 * @index: The index of the PM domain. 122 * As @dev may only be attached to a single PM domain, the backend PM domain [all …]
|
D | main.c | 18 #define pr_fmt(fmt) "PM: " fmt 24 #include <linux/pm.h> 26 #include <linux/pm-trace.h> 88 return "(unknown PM event)"; in pm_verb() 109 * device_pm_lock - Lock the list of active devices used by the PM core. 117 * device_pm_unlock - Unlock the list of active devices used by the PM core. 125 * device_pm_add - Add a device to the PM core's list of active devices. 130 /* Skip PM setup/initialization. */ in device_pm_add() 147 * device_pm_remove - Remove a device from the PM core's list of active devices. 168 * device_pm_move_before - Move device in the PM core's list of active devices. [all …]
|
/linux-6.12.1/drivers/input/touchscreen/ |
D | penmount.c | 50 struct pm { struct 59 void (*parse_packet)(struct pm *); argument 66 static void pm_mtevent(struct pm *pm, struct input_dev *input) in pm_mtevent() argument 70 for (i = 0; i < pm->maxcontacts; ++i) { in pm_mtevent() 73 pm->slots[i].active); in pm_mtevent() 74 if (pm->slots[i].active) { in pm_mtevent() 75 input_event(input, EV_ABS, ABS_MT_POSITION_X, pm->slots[i].x); in pm_mtevent() 76 input_event(input, EV_ABS, ABS_MT_POSITION_Y, pm->slots[i].y); in pm_mtevent() 99 static void pm_parse_9000(struct pm *pm) in pm_parse_9000() argument 101 struct input_dev *dev = pm->dev; in pm_parse_9000() [all …]
|
/linux-6.12.1/drivers/gpu/drm/amd/amdkfd/ |
D | kfd_packet_manager.c | 41 static void pm_calc_rlib_size(struct packet_manager *pm, in pm_calc_rlib_size() argument 48 struct kfd_node *node = pm->dqm->dev; in pm_calc_rlib_size() 51 process_count = pm->dqm->processes_count; in pm_calc_rlib_size() 52 queue_count = pm->dqm->active_queue_count; in pm_calc_rlib_size() 53 compute_queue_count = pm->dqm->active_cp_queue_count; in pm_calc_rlib_size() 54 gws_queue_count = pm->dqm->gws_queue_count; in pm_calc_rlib_size() 67 compute_queue_count > get_cp_queues_num(pm->dqm) || in pm_calc_rlib_size() 73 map_queue_size = pm->pmf->map_queues_size; in pm_calc_rlib_size() 75 *rlib_size = process_count * pm->pmf->map_process_size + in pm_calc_rlib_size() 83 *rlib_size += pm->pmf->runlist_size; in pm_calc_rlib_size() [all …]
|
/linux-6.12.1/drivers/gpu/drm/radeon/ |
D | radeon_pm.c | 64 for (i = 0; i < rdev->pm.num_power_states; i++) { in radeon_pm_get_type_index() 65 if (rdev->pm.power_state[i].type == ps_type) { in radeon_pm_get_type_index() 72 return rdev->pm.default_power_state_index; in radeon_pm_get_type_index() 77 if ((rdev->pm.pm_method == PM_METHOD_DPM) && rdev->pm.dpm_enabled) { in radeon_pm_acpi_event_handler() 78 mutex_lock(&rdev->pm.mutex); in radeon_pm_acpi_event_handler() 80 rdev->pm.dpm.ac_power = true; in radeon_pm_acpi_event_handler() 82 rdev->pm.dpm.ac_power = false; in radeon_pm_acpi_event_handler() 85 radeon_dpm_enable_bapm(rdev, rdev->pm.dpm.ac_power); in radeon_pm_acpi_event_handler() 87 mutex_unlock(&rdev->pm.mutex); in radeon_pm_acpi_event_handler() 88 } else if (rdev->pm.pm_method == PM_METHOD_PROFILE) { in radeon_pm_acpi_event_handler() [all …]
|
D | r600_dpm.c | 145 if (rps == rdev->pm.dpm.current_ps) in r600_dpm_print_ps_status() 147 if (rps == rdev->pm.dpm.requested_ps) in r600_dpm_print_ps_status() 149 if (rps == rdev->pm.dpm.boot_ps) in r600_dpm_print_ps_status() 756 rdev->pm.dpm.thermal.min_temp = low_temp; in r600_set_thermal_temperature_range() 757 rdev->pm.dpm.thermal.max_temp = high_temp; in r600_set_thermal_temperature_range() 790 r600_is_internal_thermal_sensor(rdev->pm.int_thermal_type)) { in r600_dpm_late_enable() 856 rdev->pm.dpm.platform_caps = le32_to_cpu(power_info->pplib.ulPlatformCaps); in r600_get_platform_caps() 857 rdev->pm.dpm.backbias_response_time = le16_to_cpu(power_info->pplib.usBackbiasTime); in r600_get_platform_caps() 858 rdev->pm.dpm.voltage_response_time = le16_to_cpu(power_info->pplib.usVoltageTime); in r600_get_platform_caps() 893 rdev->pm.dpm.fan.t_hyst = fan_info->fan.ucTHyst; in r600_parse_extended_power_table() [all …]
|
D | r600.c | 366 rdev->pm.dynpm_can_upclock = true; in r600_pm_get_dynpm_state() 367 rdev->pm.dynpm_can_downclock = true; in r600_pm_get_dynpm_state() 373 if (rdev->pm.num_power_states > 2) in r600_pm_get_dynpm_state() 376 switch (rdev->pm.dynpm_planned_action) { in r600_pm_get_dynpm_state() 378 rdev->pm.requested_power_state_index = min_power_state_index; in r600_pm_get_dynpm_state() 379 rdev->pm.requested_clock_mode_index = 0; in r600_pm_get_dynpm_state() 380 rdev->pm.dynpm_can_downclock = false; in r600_pm_get_dynpm_state() 383 if (rdev->pm.current_power_state_index == min_power_state_index) { in r600_pm_get_dynpm_state() 384 rdev->pm.requested_power_state_index = rdev->pm.current_power_state_index; in r600_pm_get_dynpm_state() 385 rdev->pm.dynpm_can_downclock = false; in r600_pm_get_dynpm_state() [all …]
|
/linux-6.12.1/drivers/input/misc/ |
D | powermate.c | 88 struct powermate_device *pm = urb->context; in powermate_irq() local 89 struct device *dev = &pm->intf->dev; in powermate_irq() 110 input_report_key(pm->input, BTN_0, pm->data[0] & 0x01); in powermate_irq() 111 input_report_rel(pm->input, REL_DIAL, pm->data[1]); in powermate_irq() 112 input_sync(pm->input); in powermate_irq() 121 /* Decide if we need to issue a control message and do so. Must be called with pm->lock taken */ 122 static void powermate_sync_state(struct powermate_device *pm) in powermate_sync_state() argument 124 if (pm->requires_update == 0) in powermate_sync_state() 126 if (pm->config->status == -EINPROGRESS) in powermate_sync_state() 129 if (pm->requires_update & UPDATE_PULSE_ASLEEP){ in powermate_sync_state() [all …]
|
/linux-6.12.1/net/mptcp/ |
D | pm.c | 20 u8 add_addr = READ_ONCE(msk->pm.addr_signal); in mptcp_pm_announce_addr() 24 lockdep_assert_held(&msk->pm.lock); in mptcp_pm_announce_addr() 34 msk->pm.remote = *addr; in mptcp_pm_announce_addr() 37 msk->pm.local = *addr; in mptcp_pm_announce_addr() 40 WRITE_ONCE(msk->pm.addr_signal, add_addr); in mptcp_pm_announce_addr() 46 u8 rm_addr = READ_ONCE(msk->pm.addr_signal); in mptcp_pm_remove_addr() 56 msk->pm.rm_list_tx = *rm_list; in mptcp_pm_remove_addr() 58 WRITE_ONCE(msk->pm.addr_signal, rm_addr); in mptcp_pm_remove_addr() 67 struct mptcp_pm_data *pm = &msk->pm; in mptcp_pm_new_connection() local 71 WRITE_ONCE(pm->server_side, server_side); in mptcp_pm_new_connection() [all …]
|
/linux-6.12.1/drivers/hid/ |
D | hid-prodikeys.c | 37 struct pcmidi_snd *pm; member 94 struct pcmidi_snd *pm = hid_get_drvdata(hdev); in show_channel() local 96 dbg_hid("pcmidi sysfs read channel=%u\n", pm->midi_channel); in show_channel() 98 return sprintf(buf, "%u (min:%u, max:%u)\n", pm->midi_channel, in show_channel() 107 struct pcmidi_snd *pm = hid_get_drvdata(hdev); in store_channel() local 113 pm->midi_channel = channel; in store_channel() 131 struct pcmidi_snd *pm = hid_get_drvdata(hdev); in show_sustain() local 133 dbg_hid("pcmidi sysfs read sustain=%u\n", pm->midi_sustain); in show_sustain() 135 return sprintf(buf, "%u (off:%u, max:%u (ms))\n", pm->midi_sustain, in show_sustain() 144 struct pcmidi_snd *pm = hid_get_drvdata(hdev); in store_sustain() local [all …]
|
/linux-6.12.1/drivers/mfd/ |
D | bcm2835-pm.c | 3 * PM MFD driver for Broadcom BCM2835 5 * This driver binds to the PM block and creates the MFD device for 11 #include <linux/mfd/bcm2835-pm.h> 29 struct bcm2835_pm *pm) in bcm2835_pm_get_pdata() argument 31 if (of_property_present(pm->dev->of_node, "reg-names")) { in bcm2835_pm_get_pdata() 34 pm->base = devm_platform_ioremap_resource_byname(pdev, "pm"); in bcm2835_pm_get_pdata() 35 if (IS_ERR(pm->base)) in bcm2835_pm_get_pdata() 36 return PTR_ERR(pm->base); in bcm2835_pm_get_pdata() 40 pm->asb = devm_ioremap_resource(&pdev->dev, res); in bcm2835_pm_get_pdata() 41 if (IS_ERR(pm->asb)) in bcm2835_pm_get_pdata() [all …]
|
/linux-6.12.1/drivers/gpu/drm/amd/pm/ |
D | amdgpu_dpm.c | 49 mutex_lock(&adev->pm.mutex); in amdgpu_dpm_get_sclk() 52 mutex_unlock(&adev->pm.mutex); in amdgpu_dpm_get_sclk() 65 mutex_lock(&adev->pm.mutex); in amdgpu_dpm_get_mclk() 68 mutex_unlock(&adev->pm.mutex); in amdgpu_dpm_get_mclk() 79 if (atomic_read(&adev->pm.pwr_state[block_type]) == pwr_state) { in amdgpu_dpm_set_powergating_by_smu() 85 mutex_lock(&adev->pm.mutex); in amdgpu_dpm_set_powergating_by_smu() 106 atomic_set(&adev->pm.pwr_state[block_type], pwr_state); in amdgpu_dpm_set_powergating_by_smu() 108 mutex_unlock(&adev->pm.mutex); in amdgpu_dpm_set_powergating_by_smu() 118 mutex_lock(&adev->pm.mutex); in amdgpu_dpm_set_gfx_power_up_by_imu() 120 mutex_unlock(&adev->pm.mutex); in amdgpu_dpm_set_gfx_power_up_by_imu() [all …]
|
/linux-6.12.1/drivers/gpu/drm/amd/pm/legacy-dpm/ |
D | legacy_dpm.c | 127 if (rps == adev->pm.dpm.current_ps) in amdgpu_dpm_print_ps_status() 129 if (rps == adev->pm.dpm.requested_ps) in amdgpu_dpm_print_ps_status() 131 if (rps == adev->pm.dpm.boot_ps) in amdgpu_dpm_print_ps_status() 143 for (i = 0; i < adev->pm.dpm.num_ps; i++) in amdgpu_pm_print_power_states() 144 amdgpu_dpm_print_power_state(adev, &adev->pm.dpm.ps[i]); in amdgpu_pm_print_power_states() 172 adev->pm.dpm.platform_caps = le32_to_cpu(power_info->pplib.ulPlatformCaps); in amdgpu_get_platform_caps() 173 adev->pm.dpm.backbias_response_time = le16_to_cpu(power_info->pplib.usBackbiasTime); in amdgpu_get_platform_caps() 174 adev->pm.dpm.voltage_response_time = le16_to_cpu(power_info->pplib.usVoltageTime); in amdgpu_get_platform_caps() 242 adev->pm.dpm.fan.t_hyst = fan_info->fan.ucTHyst; in amdgpu_parse_extended_power_table() 243 adev->pm.dpm.fan.t_min = le16_to_cpu(fan_info->fan.usTMin); in amdgpu_parse_extended_power_table() [all …]
|
/linux-6.12.1/drivers/media/platform/samsung/s5p-mfc/ |
D | s5p_mfc_pm.c | 19 struct s5p_mfc_pm *pm = &dev->pm; in s5p_mfc_init_pm() local 22 pm->num_clocks = dev->variant->num_clocks; in s5p_mfc_init_pm() 23 pm->clk_names = dev->variant->clk_names; in s5p_mfc_init_pm() 24 pm->device = &dev->plat_dev->dev; in s5p_mfc_init_pm() 25 pm->clock_gate = NULL; in s5p_mfc_init_pm() 28 for (i = 0; i < pm->num_clocks; i++) { in s5p_mfc_init_pm() 29 pm->clocks[i] = devm_clk_get(pm->device, pm->clk_names[i]); in s5p_mfc_init_pm() 30 if (IS_ERR(pm->clocks[i])) { in s5p_mfc_init_pm() 32 if (i && PTR_ERR(pm->clocks[i]) == -ENOENT) { in s5p_mfc_init_pm() 33 pm->clocks[i] = NULL; in s5p_mfc_init_pm() [all …]
|
/linux-6.12.1/drivers/scsi/ |
D | scsi_pm.c | 11 #include <linux/blk-pm.h> 22 static int do_scsi_suspend(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_suspend() argument 24 return pm && pm->suspend ? pm->suspend(dev) : 0; in do_scsi_suspend() 27 static int do_scsi_freeze(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_freeze() argument 29 return pm && pm->freeze ? pm->freeze(dev) : 0; in do_scsi_freeze() 32 static int do_scsi_poweroff(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_poweroff() argument 34 return pm && pm->poweroff ? pm->poweroff(dev) : 0; in do_scsi_poweroff() 37 static int do_scsi_resume(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_resume() argument 39 return pm && pm->resume ? pm->resume(dev) : 0; in do_scsi_resume() 42 static int do_scsi_thaw(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_thaw() argument [all …]
|
/linux-6.12.1/drivers/accel/ivpu/ |
D | ivpu_pm.c | 115 struct ivpu_pm_info *pm = container_of(work, struct ivpu_pm_info, recovery_work); in ivpu_pm_recovery_work() local 116 struct ivpu_device *vdev = pm->vdev; in ivpu_pm_recovery_work() 120 ivpu_err(vdev, "Recovering the NPU (reset #%d)\n", atomic_read(&vdev->pm->reset_counter)); in ivpu_pm_recovery_work() 128 atomic_inc(&vdev->pm->reset_counter); in ivpu_pm_recovery_work() 129 atomic_set(&vdev->pm->reset_pending, 1); in ivpu_pm_recovery_work() 130 down_write(&vdev->pm->reset_lock); in ivpu_pm_recovery_work() 141 up_write(&vdev->pm->reset_lock); in ivpu_pm_recovery_work() 142 atomic_set(&vdev->pm->reset_pending, 0); in ivpu_pm_recovery_work() 164 if (atomic_cmpxchg(&vdev->pm->reset_pending, 0, 1) == 0) { in ivpu_pm_trigger_recovery() 167 queue_work(system_long_wq, &vdev->pm->recovery_work); in ivpu_pm_trigger_recovery() [all …]
|
/linux-6.12.1/sound/drivers/ |
D | portman2x4.c | 77 static int portman_free(struct portman *pm) in portman_free() argument 79 kfree(pm); in portman_free() 87 struct portman *pm; in portman_create() local 91 pm = kzalloc(sizeof(struct portman), GFP_KERNEL); in portman_create() 92 if (pm == NULL) in portman_create() 96 spin_lock_init(&pm->reg_lock); in portman_create() 97 pm->card = card; in portman_create() 98 pm->pardev = pardev; in portman_create() 100 *rchip = pm; in portman_create() 180 static inline void portman_write_command(struct portman *pm, u8 value) in portman_write_command() argument [all …]
|
/linux-6.12.1/arch/powerpc/include/asm/ |
D | reg_fsl_emb.h | 44 #define PMRN_PMLCA0 0x090 /* PM Local Control A0 */ 45 #define PMRN_PMLCA1 0x091 /* PM Local Control A1 */ 46 #define PMRN_PMLCA2 0x092 /* PM Local Control A2 */ 47 #define PMRN_PMLCA3 0x093 /* PM Local Control A3 */ 48 #define PMRN_PMLCA4 0x094 /* PM Local Control A4 */ 49 #define PMRN_PMLCA5 0x095 /* PM Local Control A5 */ 63 #define PMRN_PMLCB0 0x110 /* PM Local Control B0 */ 64 #define PMRN_PMLCB1 0x111 /* PM Local Control B1 */ 65 #define PMRN_PMLCB2 0x112 /* PM Local Control B2 */ 66 #define PMRN_PMLCB3 0x113 /* PM Local Control B3 */ [all …]
|
/linux-6.12.1/drivers/media/platform/mediatek/vcodec/decoder/ |
D | mtk_vcodec_dec_pm.c | 15 int mtk_vcodec_init_dec_clk(struct platform_device *pdev, struct mtk_vcodec_pm *pm) in mtk_vcodec_init_dec_clk() argument 21 dec_clk = &pm->vdec_clk; in mtk_vcodec_init_dec_clk() 22 pm->dev = &pdev->dev; in mtk_vcodec_init_dec_clk() 57 static int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm) in mtk_vcodec_dec_pw_on() argument 61 ret = pm_runtime_resume_and_get(pm->dev); in mtk_vcodec_dec_pw_on() 63 dev_err(pm->dev, "pm_runtime_resume_and_get fail %d", ret); in mtk_vcodec_dec_pw_on() 68 static void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm *pm) in mtk_vcodec_dec_pw_off() argument 72 ret = pm_runtime_put(pm->dev); in mtk_vcodec_dec_pw_off() 74 dev_err(pm->dev, "pm_runtime_put fail %d", ret); in mtk_vcodec_dec_pw_off() 77 static void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm) in mtk_vcodec_dec_clock_on() argument [all …]
|
/linux-6.12.1/tools/power/pm-graph/ |
D | Makefile | 36 $(INSTALL) -d $(DESTDIR)$(LIBDIR)/pm-graph 37 $(INSTALL) sleepgraph.py $(DESTDIR)$(LIBDIR)/pm-graph 38 $(INSTALL) bootgraph.py $(DESTDIR)$(LIBDIR)/pm-graph 39 $(INSTALL) -d $(DESTDIR)$(LIBDIR)/pm-graph/config 40 $(INSTALL_DATA) config/cgskip.txt $(DESTDIR)$(LIBDIR)/pm-graph/config 41 $(INSTALL_DATA) config/freeze-callgraph.cfg $(DESTDIR)$(LIBDIR)/pm-graph/config 42 $(INSTALL_DATA) config/freeze.cfg $(DESTDIR)$(LIBDIR)/pm-graph/config 43 $(INSTALL_DATA) config/freeze-dev.cfg $(DESTDIR)$(LIBDIR)/pm-graph/config 44 $(INSTALL_DATA) config/standby-callgraph.cfg $(DESTDIR)$(LIBDIR)/pm-graph/config 45 $(INSTALL_DATA) config/standby.cfg $(DESTDIR)$(LIBDIR)/pm-graph/config [all …]
|
/linux-6.12.1/Documentation/power/ |
D | runtime_pm.rst | 14 Support for runtime power management (runtime PM) of I/O devices is provided 15 at the power management core (PM core) level by means of: 18 put their PM-related work items. It is strongly recommended that pm_wq be 19 used for queuing all work items related to runtime PM, because this allows 24 * A number of runtime PM fields in the 'power' member of 'struct device' (which 25 is of the type 'struct dev_pm_info', defined in include/linux/pm.h) that can 26 be used for synchronizing runtime PM operations with one another. 28 * Three device runtime PM callbacks in 'struct dev_pm_ops' (defined in 29 include/linux/pm.h). 32 used for carrying out runtime PM operations in such a way that the [all …]
|
/linux-6.12.1/drivers/media/platform/mediatek/vcodec/encoder/ |
D | mtk_vcodec_enc_pm.c | 17 struct mtk_vcodec_pm *pm; in mtk_vcodec_init_enc_clk() local 23 pm = &mtkdev->pm; in mtk_vcodec_init_enc_clk() 24 memset(pm, 0, sizeof(struct mtk_vcodec_pm)); in mtk_vcodec_init_enc_clk() 25 pm->dev = &pdev->dev; in mtk_vcodec_init_enc_clk() 26 enc_clk = &pm->venc_clk; in mtk_vcodec_init_enc_clk() 37 dev_err(pm->dev, "[MTK VCODEC] Failed to get venc clock count"); in mtk_vcodec_init_enc_clk() 46 dev_err(pm->dev, "[MTK VCODEC] venc failed to get clk name %d", i); in mtk_vcodec_init_enc_clk() 52 dev_err(pm->dev, "[MTK VCODEC] venc devm_clk_get (%d)%s fail", i, in mtk_vcodec_init_enc_clk() 61 int mtk_vcodec_enc_pw_on(struct mtk_vcodec_pm *pm) in mtk_vcodec_enc_pw_on() argument 65 ret = pm_runtime_resume_and_get(pm->dev); in mtk_vcodec_enc_pw_on() [all …]
|
/linux-6.12.1/include/linux/ |
D | pm_runtime.h | 13 #include <linux/pm.h> 17 /* Runtime PM flag argument bits */ 26 * Use this for defining a set of PM operations to be used in all situations 27 * (system suspend, hibernation or runtime PM). 30 * macro, which uses the provided callbacks for both runtime PM and system 99 * pm_suspend_ignore_children - Set runtime PM behavior regarding children. 104 * the runtime PM framework going forward if @enable is %true, or they will 113 * pm_runtime_get_noresume - Bump up runtime PM usage counter of a device. 122 * pm_runtime_put_noidle - Drop runtime PM usage counter of a device. 125 * Decrement the runtime PM usage counter of @dev unless it is 0 already. [all …]
|
/linux-6.12.1/drivers/pci/ |
D | pci-driver.c | 315 * runtime PM status. During probe, the device is set to in local_pci_probe() 317 * supports runtime PM, it should call pm_runtime_put_noidle(), in local_pci_probe() 318 * or any other runtime PM helper function decrementing the usage in local_pci_probe() 470 * with the code below, so wait until all of the runtime PM in pci_device_remove() 481 /* Undo the runtime PM settings in local_pci_probe() */ in pci_device_remove() 650 "PCI PM: Device state not saved by %pS\n", in pci_legacy_suspend() 689 /* Disable non-bridge devices without PM support */ in pci_pm_default_suspend() 700 * Legacy PM support is used by default, so warn if the new framework is in pci_has_legacy_pm_support() 704 pci_WARN(pci_dev, ret && drv->driver.pm, "device %04x:%04x\n", in pci_has_legacy_pm_support() 715 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_prepare() local [all …]
|