Home
last modified time | relevance | path

Searched full:pm (Results 1 – 25 of 3930) sorted by relevance

12345678910>>...158

/linux-6.12.1/drivers/base/power/
Dgeneric_ops.c3 * 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 …]
Dcommon.c83 * 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 …]
Dmain.c18 #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/
Dpenmount.c50 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/
Dkfd_packet_manager.c41 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/
Dradeon_pm.c64 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 …]
Dr600_dpm.c145 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 …]
Dr600.c366 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/
Dpowermate.c88 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/
Dpm.c20 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/
Dhid-prodikeys.c37 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/
Dbcm2835-pm.c3 * 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/
Damdgpu_dpm.c49 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/
Dlegacy_dpm.c127 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/
Ds5p_mfc_pm.c19 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/
Dscsi_pm.c11 #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/
Divpu_pm.c115 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/
Dportman2x4.c77 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/
Dreg_fsl_emb.h44 #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/
Dmtk_vcodec_dec_pm.c15 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/
DMakefile36 $(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/
Druntime_pm.rst14 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/
Dmtk_vcodec_enc_pm.c17 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/
Dpm_runtime.h13 #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/
Dpci-driver.c315 * 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 …]

12345678910>>...158