opp_table
Regular
4.4
: Absent ⚠️
4.8
: Absent ⚠️
4.10
: Absent ⚠️
4.13
: Absent ⚠️
4.15
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
unsigned int regulator_count;
bool genpd_performance_state;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
int (*get_pstate)(struct device *, long unsigned int);
struct dentry *dentry;
char dentry_name[255];
};
4.18
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
unsigned int regulator_count;
bool genpd_performance_state;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
5.0
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
5.3
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
5.4
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
5.8
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
unsigned int parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool regulator_enabled;
struct icc_path **paths;
unsigned int path_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
5.11
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
unsigned int parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
struct icc_path **paths;
unsigned int path_count;
bool enabled;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
5.13
: ✅struct opp_table {
struct list_head node;
struct list_head lazy;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
unsigned int parsed_static_opps;
enum opp_table_access shared_opp;
long unsigned int current_rate;
struct dev_pm_opp *current_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
struct icc_path **paths;
unsigned int path_count;
bool enabled;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_opp_supply *sod_supplies;
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
5.15
: ✅struct opp_table {
struct list_head node;
struct list_head lazy;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
unsigned int parsed_static_opps;
enum opp_table_access shared_opp;
long unsigned int current_rate;
struct dev_pm_opp *current_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
struct icc_path **paths;
unsigned int path_count;
bool enabled;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_opp_supply *sod_supplies;
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
5.19
: ✅struct opp_table {
struct list_head node;
struct list_head lazy;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
unsigned int parsed_static_opps;
enum opp_table_access shared_opp;
long unsigned int current_rate;
struct dev_pm_opp *current_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
struct icc_path **paths;
unsigned int path_count;
bool enabled;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_opp_supply *sod_supplies;
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
6.2
: ✅struct opp_table {
struct list_head node;
struct list_head lazy;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
unsigned int parsed_static_opps;
enum opp_table_access shared_opp;
long unsigned int rate_clk_single;
struct dev_pm_opp *current_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
config_clks_t config_clks;
struct clk **clks;
struct clk *clk;
int clk_count;
config_regulators_t config_regulators;
struct regulator **regulators;
int regulator_count;
struct icc_path **paths;
unsigned int path_count;
bool enabled;
bool genpd_performance_state;
bool is_genpd;
struct dentry *dentry;
char dentry_name[255];
};
6.5
: ✅struct opp_table {
struct list_head node;
struct list_head lazy;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
unsigned int parsed_static_opps;
enum opp_table_access shared_opp;
long unsigned int rate_clk_single;
struct dev_pm_opp *current_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
config_clks_t config_clks;
struct clk **clks;
struct clk *clk;
int clk_count;
config_regulators_t config_regulators;
struct regulator **regulators;
int regulator_count;
struct icc_path **paths;
unsigned int path_count;
bool enabled;
bool is_genpd;
int (*set_required_opps)(struct device *, struct opp_table *, struct dev_pm_opp *, bool);
struct dentry *dentry;
char dentry_name[255];
};
6.8
: ✅struct opp_table {
struct list_head node;
struct list_head lazy;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
unsigned int parsed_static_opps;
enum opp_table_access shared_opp;
long unsigned int current_rate_single_clk;
struct dev_pm_opp *current_opp;
struct dev_pm_opp *suspend_opp;
struct opp_table **required_opp_tables;
struct device **required_devs;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
config_clks_t config_clks;
struct clk **clks;
struct clk *clk;
int clk_count;
config_regulators_t config_regulators;
struct regulator **regulators;
int regulator_count;
struct icc_path **paths;
unsigned int path_count;
bool enabled;
bool is_genpd;
struct dentry *dentry;
char dentry_name[255];
};
arm64
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
armhf
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
ppc64el
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
riscv64
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
aws
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
azure
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
gcp
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
lowlatency
: ✅struct opp_table {
struct list_head node;
struct blocking_notifier_head head;
struct list_head dev_list;
struct list_head opp_list;
struct kref kref;
struct kref list_kref;
struct mutex lock;
struct device_node *np;
long unsigned int clock_latency_ns_max;
unsigned int voltage_tolerance_v1;
bool parsed_static_opps;
enum opp_table_access shared_opp;
struct dev_pm_opp *suspend_opp;
struct mutex genpd_virt_dev_lock;
struct device **genpd_virt_devs;
struct opp_table **required_opp_tables;
unsigned int required_opp_count;
unsigned int *supported_hw;
unsigned int supported_hw_count;
const char *prop_name;
struct clk *clk;
struct regulator **regulators;
int regulator_count;
bool genpd_performance_state;
bool is_genpd;
int (*set_opp)(struct dev_pm_set_opp_data *);
struct dev_pm_set_opp_data *set_opp_data;
struct dentry *dentry;
char dentry_name[255];
};
Regular
4.15
and 4.18
⚠️int (*get_pstate)(struct device *, long unsigned int)
4.18
and 5.0
⚠️struct kref list_kref
bool parsed_static_opps
struct mutex genpd_virt_dev_lock
struct device **genpd_virt_devs
struct opp_table **required_opp_tables
unsigned int required_opp_count
bool is_genpd
unsigned int regulator_count
➡️ int regulator_count
5.0
and 5.3
✅
5.3
and 5.4
✅
5.4
and 5.8
⚠️bool regulator_enabled
struct icc_path **paths
unsigned int path_count
struct kref list_kref
bool parsed_static_opps
➡️ unsigned int parsed_static_opps
5.8
and 5.11
⚠️bool enabled
bool regulator_enabled
5.11
and 5.13
⚠️struct list_head lazy
long unsigned int current_rate
struct dev_pm_opp *current_opp
struct dev_pm_opp_supply *sod_supplies
5.13
and 5.15
✅
5.15
and 5.19
✅
5.19
and 6.2
⚠️long unsigned int rate_clk_single
config_clks_t config_clks
struct clk **clks
int clk_count
config_regulators_t config_regulators
long unsigned int current_rate
int (*set_opp)(struct dev_pm_set_opp_data *)
struct dev_pm_opp_supply *sod_supplies
struct dev_pm_set_opp_data *set_opp_data
6.2
and 6.5
⚠️int (*set_required_opps)(struct device *, struct opp_table *, struct dev_pm_opp *, bool)
bool genpd_performance_state
6.5
and 6.8
⚠️long unsigned int current_rate_single_clk
struct device **required_devs
long unsigned int rate_clk_single
struct mutex genpd_virt_dev_lock
struct device **genpd_virt_devs
int (*set_required_opps)(struct device *, struct opp_table *, struct dev_pm_opp *, bool)
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
⚠️struct clk *clk
➡️ struct clk *clk
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅