cros_ec_device
Regular
4.4
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
};
4.8
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
};
4.10
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event event_data;
int event_size;
};
4.13
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event event_data;
int event_size;
u32 host_event_wake_mask;
};
4.15
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event event_data;
int event_size;
u32 host_event_wake_mask;
};
4.18
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event event_data;
int event_size;
u32 host_event_wake_mask;
};
5.0
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
};
5.3
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
};
5.4
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
struct platform_device *ec;
struct platform_device *pd;
};
5.8
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
u8 mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
ktime_t last_event_time;
struct notifier_block notifier_ready;
struct platform_device *ec;
struct platform_device *pd;
};
5.11
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
u8 mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
ktime_t last_event_time;
struct notifier_block notifier_ready;
struct platform_device *ec;
struct platform_device *pd;
};
5.13
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
u8 mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
ktime_t last_event_time;
struct notifier_block notifier_ready;
struct platform_device *ec;
struct platform_device *pd;
};
5.15
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
u8 mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
ktime_t last_event_time;
struct notifier_block notifier_ready;
struct platform_device *ec;
struct platform_device *pd;
};
5.19
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
u8 mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
ktime_t last_event_time;
struct notifier_block notifier_ready;
struct platform_device *ec;
struct platform_device *pd;
};
6.2
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
u8 mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
u16 suspend_timeout_ms;
ktime_t last_event_time;
struct notifier_block notifier_ready;
struct platform_device *ec;
struct platform_device *pd;
};
6.5
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct lock_class_key lockdep_key;
struct mutex lock;
u8 mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
u16 suspend_timeout_ms;
ktime_t last_event_time;
struct notifier_block notifier_ready;
struct platform_device *ec;
struct platform_device *pd;
struct blocking_notifier_head panic_notifier;
};
6.8
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct lock_class_key lockdep_key;
struct mutex lock;
u8 mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
u16 suspend_timeout_ms;
ktime_t last_event_time;
struct notifier_block notifier_ready;
struct platform_device *ec;
struct platform_device *pd;
struct blocking_notifier_head panic_notifier;
};
arm64
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
struct platform_device *ec;
struct platform_device *pd;
};
armhf
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
struct platform_device *ec;
struct platform_device *pd;
};
ppc64el
: Absent ⚠️
riscv64
: Absent ⚠️
aws
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
struct platform_device *ec;
struct platform_device *pd;
};
azure
: Absent ⚠️
gcp
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
struct platform_device *ec;
struct platform_device *pd;
};
lowlatency
: ✅struct cros_ec_device {
const char *phys_name;
struct device *dev;
bool was_wake_device;
struct class *cros_class;
int (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);
u16 max_request;
u16 max_response;
u16 max_passthru;
u16 proto_version;
void *priv;
int irq;
u8 *din;
u8 *dout;
int din_size;
int dout_size;
bool wake_enabled;
bool suspended;
int (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);
int (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);
struct mutex lock;
bool mkbp_event_supported;
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
struct ec_response_get_next_event_v1 event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
struct platform_device *ec;
struct platform_device *pd;
};
Regular
4.4
and 4.8
✅
4.8
and 4.10
⚠️bool mkbp_event_supported
struct blocking_notifier_head event_notifier
struct ec_response_get_next_event event_data
int event_size
4.10
and 4.13
⚠️bool suspended
u32 host_event_wake_mask
4.13
and 4.15
✅
4.15
and 4.18
✅
4.18
and 5.0
⚠️struct ec_response_get_next_event event_data
➡️ struct ec_response_get_next_event_v1 event_data
5.0
and 5.3
⚠️bool host_sleep_v1
u32 last_resume_result
5.3
and 5.4
⚠️struct platform_device *ec
struct platform_device *pd
5.4
and 5.8
⚠️ktime_t last_event_time
struct notifier_block notifier_ready
bool mkbp_event_supported
➡️ u8 mkbp_event_supported
5.8
and 5.11
✅
5.11
and 5.13
✅
5.13
and 5.15
✅
5.15
and 5.19
⚠️bool was_wake_device
5.19
and 6.2
⚠️u16 suspend_timeout_ms
6.2
and 6.5
⚠️struct lock_class_key lockdep_key
struct blocking_notifier_head panic_notifier
6.5
and 6.8
✅
amd64
and arm64
✅
amd64
and armhf
✅
generic
and aws
✅
generic
and gcp
✅
generic
and lowlatency
✅