Source
* Some helper macros to make it easier to define an occ_attribute. Since these
// SPDX-License-Identifier: GPL-2.0+
// Copyright IBM Corp 2019
/* required by OCC spec */
/* 1 min */
/* OCC sensor type and version definitions */
struct temp_sensor_1 {
u16 sensor_id;
u16 value;
} __packed;
struct temp_sensor_2 {
u32 sensor_id;
u8 fru_type;
u8 value;
} __packed;
struct freq_sensor_1 {
u16 sensor_id;
u16 value;
} __packed;
struct freq_sensor_2 {
u32 sensor_id;
u16 value;
} __packed;
struct power_sensor_1 {
u16 sensor_id;
u32 update_tag;
u32 accumulator;
u16 value;
} __packed;
struct power_sensor_2 {
u32 sensor_id;
u8 function_id;
u8 apss_channel;
u16 reserved;
u32 update_tag;
u64 accumulator;
u16 value;
} __packed;
struct power_sensor_data {
u16 value;
u32 update_tag;
u64 accumulator;
} __packed;
struct power_sensor_data_and_time {
u16 update_time;
u16 value;
u32 update_tag;
u64 accumulator;
} __packed;
struct power_sensor_a0 {
u32 sensor_id;
struct power_sensor_data_and_time system;
u32 reserved;
struct power_sensor_data_and_time proc;
struct power_sensor_data vdd;
struct power_sensor_data vdn;
} __packed;
struct caps_sensor_2 {
u16 cap;