pci_platform_pm_opsRegular
4.4: ✅struct pci_platform_pm_ops {
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*choose_state)(struct pci_dev *);
int (*sleep_wake)(struct pci_dev *, bool);
int (*run_wake)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
4.8: ✅struct pci_platform_pm_ops {
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*choose_state)(struct pci_dev *);
int (*sleep_wake)(struct pci_dev *, bool);
int (*run_wake)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
4.10: ✅struct pci_platform_pm_ops {
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*sleep_wake)(struct pci_dev *, bool);
int (*run_wake)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
4.13: ✅struct pci_platform_pm_ops {
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
4.15: ✅struct pci_platform_pm_ops {
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
4.18: ✅struct pci_platform_pm_ops {
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
5.0: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
5.3: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
5.4: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
5.8: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
5.11: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
5.13: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
5.15: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
5.19: Absent ⚠️
6.2: Absent ⚠️
6.5: Absent ⚠️
6.8: Absent ⚠️
arm64: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
armhf: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
ppc64el: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
riscv64: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
aws: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
azure: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
gcp: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
lowlatency: ✅struct pci_platform_pm_ops {
bool (*bridge_d3)(struct pci_dev *);
bool (*is_manageable)(struct pci_dev *);
int (*set_state)(struct pci_dev *, pci_power_t);
pci_power_t (*get_state)(struct pci_dev *);
void (*refresh_state)(struct pci_dev *);
pci_power_t (*choose_state)(struct pci_dev *);
int (*set_wakeup)(struct pci_dev *, bool);
bool (*need_resume)(struct pci_dev *);
};
Regular
4.4 and 4.8 ✅
4.8 and 4.10 ⚠️pci_power_t (*get_state)(struct pci_dev *)
4.10 and 4.13 ⚠️int (*set_wakeup)(struct pci_dev *, bool)
int (*sleep_wake)(struct pci_dev *, bool)
int (*run_wake)(struct pci_dev *, bool)
4.13 and 4.15 ✅
4.15 and 4.18 ✅
4.18 and 5.0 ⚠️bool (*bridge_d3)(struct pci_dev *)
5.0 and 5.3 ⚠️void (*refresh_state)(struct pci_dev *)
5.3 and 5.4 ✅
5.4 and 5.8 ✅
5.8 and 5.11 ✅
5.11 and 5.13 ✅
5.13 and 5.15 ✅
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅