sonic-buildimage/platform/innovium/sonic-platform-modules-cameo/esqc610-56sq/modules/x86-64-cameo-esqc610-56sq.h
shihjeff 940aaa0cbe
[201911] [Innovium] Update Cameo & Wistron Drivers (#7855)
Fix #8068

Update Innovium configs on Cameo and Wistron platforms
2021-07-21 09:09:36 -07:00

1258 lines
79 KiB
C

#include <linux/module.h>
#include <linux/jiffies.h>
#include <linux/i2c.h>
#include <linux/hwmon.h>
#include <linux/hwmon-sysfs.h>
#include <linux/err.h>
#include <linux/mutex.h>
#include <linux/sysfs.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/uaccess.h>
#include <linux/string.h>
#define DRIVER_VERSION "1.0.3"
struct i2c_adap {
int nr;
char *name;
const char *funcs;
const char *algo;
};
struct i2c_adap *gather_i2c_busses(void);
void free_adapters(struct i2c_adap *adapters);
/* compiler conditional */
/* end of compiler conditional */
/* Function Declaration */
/* i2c-0 */
ssize_t cpld_hw_ver_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t wdt_enable_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t wdt_enable_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t eeprom_wp_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t eeprom_wp_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t usb_enable_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t usb_enable_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t reset_mac_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t shutdown_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t bmc_enable_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t led_ctrl_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t led_ctrl_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t led_fiber_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t led_fiber_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t themal_int_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t themal_int_mask_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t themal_int_mask_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t sys_int_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sys_int_mask_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sys_int_mask_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t themal_temp_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t themal_temp_max_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t themal_temp_min_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t themal_temp_crit_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t themal_temp_lcrit_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t fan_ctrl_mode_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t fan_ctrl_rpm_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t fan_status_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t fan_present_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t fan_power_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t fan_rpm_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_status_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_present_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_vin_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_iin_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_vout_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_iout_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_temp_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_fan_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_pout_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_pin_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_mfr_model_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_iout_max_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t psu_vmode_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t dc_vout_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t dc_iout_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t dc_pout_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_tx_enable_all_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_tx_enable_all_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t sfp_tx_enable_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_tx_enable_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t sfp_rx_loss_all_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_rx_loss_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_rx_loss_int_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_rx_loss_int_mask_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_rx_loss_int_mask_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t sfp_present_all_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_present_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_present_int_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_present_int_mask_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t sfp_present_int_mask_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t qsfp_low_power_all_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t qsfp_low_power_all_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t qsfp_low_power_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t qsfp_low_power_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t qsfp_reset_all_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t qsfp_reset_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t qsfp_present_all_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t qsfp_present_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t qsfp_int_all_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t qsfp_int_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t qsfp_quter_int_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t qsfp_quter_int_mask_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t qsfp_quter_int_mask_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
ssize_t qsfp_modprs_int_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t qsfp_modprs_int_mask_get(struct device *dev, struct device_attribute *da, char *buf);
ssize_t qsfp_modprs_int_mask_set(struct device *dev, struct device_attribute *da, const char *buf, size_t count);
/* end of Function Declaration */
/* struct i2c_data */
struct Cameo_i2c_data
{
struct device *hwmon_dev;
struct mutex update_lock;
char valid;
unsigned long last_updated;
u8 status;
};
/* struct i2c_sysfs_attributes */
enum Cameo_i2c_sysfs_attributes
{
CPLD_23_VER,
CPLD_30_VER,
CPLD_31_VER,
CPLD_32_VER,
WDT_EN,
EEPROM_WP,
USB_EN,
SHUTDOWN_SET,
RESET,
BMC_PRESENT,
LED_1,
LED_2,
LED_FLOW,
LED_SYS,
LED_FIBER,
TEMP_TH0_INT,
TEMP_TH1_INT,
TEMP_TH3_INT,
TEMP_TH2_INT,
TEMP_TH0_INT_MASK,
TEMP_TH1_INT_MASK,
TEMP_TH3_INT_MASK,
TEMP_TH2_INT_MASK,
CPLD_FP_INT,
CPLD_RP_INT,
CPLD_FAN_INT,
CPLD_PSU_INT,
THERMAL_INT,
USB_INT,
CPLD_FP_INT_MASK,
CPLD_RP_INT_MASK,
CPLD_FAN_INT_MASK,
CPLD_PSU_INT_MASK,
THERMAL_INT_MASK,
USB_INT_MASK,
TEMP_TH0_T,
TEMP_TH0_B,
TEMP_TH0_R,
TEMP_TH1_T,
TEMP_TH1_B,
TEMP_TH3_T,
TEMP_TH3_B,
TEMP_TH2_T,
TEMP_TH2_B,
TEMP_TH0_T_MAX,
TEMP_TH1_T_MAX,
TEMP_TH3_T_MAX,
TEMP_TH2_T_MAX,
TEMP_TH0_R_MAX,
TEMP_TH0_B_MAX,
TEMP_TH1_B_MAX,
TEMP_TH3_B_MAX,
TEMP_TH2_B_MAX,
TEMP_TH0_T_MIN,
TEMP_TH1_T_MIN,
TEMP_TH3_T_MIN,
TEMP_TH2_T_MIN,
TEMP_TH0_R_MIN,
TEMP_TH0_B_MIN,
TEMP_TH1_B_MIN,
TEMP_TH3_B_MIN,
TEMP_TH2_B_MIN,
TEMP_TH0_T_CRIT,
TEMP_TH1_T_CRIT,
TEMP_TH3_T_CRIT,
TEMP_TH2_T_CRIT,
TEMP_TH0_R_CRIT,
TEMP_TH0_B_CRIT,
TEMP_TH1_B_CRIT,
TEMP_TH3_B_CRIT,
TEMP_TH2_B_CRIT,
TEMP_TH0_T_LCRIT,
TEMP_TH1_T_LCRIT,
TEMP_TH3_T_LCRIT,
TEMP_TH2_T_LCRIT,
TEMP_TH0_R_LCRIT,
TEMP_TH0_B_LCRIT,
TEMP_TH1_B_LCRIT,
TEMP_TH3_B_LCRIT,
TEMP_TH2_B_LCRIT,
FANCTRL_RPM,
FANCTRL_MODE,
FAN1_STAT,
FAN2_STAT,
FAN3_STAT,
FAN4_STAT,
FAN1_PRESENT,
FAN2_PRESENT,
FAN3_PRESENT,
FAN4_PRESENT,
FAN1_POWER,
FAN2_POWER,
FAN3_POWER,
FAN4_POWER,
FAN1_FRONT_RPM,
FAN2_FRONT_RPM,
FAN3_FRONT_RPM,
FAN4_FRONT_RPM,
FAN1_REAR_RPM,
FAN2_REAR_RPM,
FAN3_REAR_RPM,
FAN4_REAR_RPM,
PSU1_GOOD,
PSU2_GOOD,
PSU1_PRNT,
PSU2_PRNT,
PSU1_VIN,
PSU1_IIN,
PSU1_VOUT,
PSU1_IOUT,
PSU1_TEMP,
PSU1_FAN_SPEED,
PSU1_POUT,
PSU1_PIN,
PSU1_MFR_MODEL,
PSU1_MFR_IOUT_MAX,
PSU1_VMODE,
PSU2_VIN,
PSU2_IIN,
PSU2_VOUT,
PSU2_IOUT,
PSU2_TEMP,
PSU2_FAN_SPEED,
PSU2_POUT,
PSU2_PIN,
PSU2_MFR_MODEL,
PSU2_MFR_IOUT_MAX,
PSU2_VMODE,
DC6E_P0_VOUT,
DC6E_P0_IOUT,
DC6E_P0_POUT,
DC6E_P1_VOUT,
DC6E_P1_IOUT,
DC6E_P1_POUT,
DC70_P0_VOUT,
DC70_P0_IOUT,
DC70_P0_POUT,
DC70_P1_VOUT,
DC70_P1_IOUT,
DC70_P1_POUT,
SFP_TX_ENABLE_ALL,
SFP1_TX_ENABLE,
SFP2_TX_ENABLE,
SFP3_TX_ENABLE,
SFP4_TX_ENABLE,
SFP5_TX_ENABLE,
SFP6_TX_ENABLE,
SFP7_TX_ENABLE,
SFP8_TX_ENABLE,
SFP9_TX_ENABLE,
SFP10_TX_ENABLE,
SFP11_TX_ENABLE,
SFP12_TX_ENABLE,
SFP13_TX_ENABLE,
SFP14_TX_ENABLE,
SFP15_TX_ENABLE,
SFP16_TX_ENABLE,
SFP17_TX_ENABLE,
SFP18_TX_ENABLE,
SFP19_TX_ENABLE,
SFP20_TX_ENABLE,
SFP21_TX_ENABLE,
SFP22_TX_ENABLE,
SFP23_TX_ENABLE,
SFP24_TX_ENABLE,
SFP25_TX_ENABLE,
SFP26_TX_ENABLE,
SFP27_TX_ENABLE,
SFP28_TX_ENABLE,
SFP29_TX_ENABLE,
SFP30_TX_ENABLE,
SFP31_TX_ENABLE,
SFP32_TX_ENABLE,
SFP33_TX_ENABLE,
SFP34_TX_ENABLE,
SFP35_TX_ENABLE,
SFP36_TX_ENABLE,
SFP37_TX_ENABLE,
SFP38_TX_ENABLE,
SFP39_TX_ENABLE,
SFP40_TX_ENABLE,
SFP41_TX_ENABLE,
SFP42_TX_ENABLE,
SFP43_TX_ENABLE,
SFP44_TX_ENABLE,
SFP45_TX_ENABLE,
SFP46_TX_ENABLE,
SFP47_TX_ENABLE,
SFP48_TX_ENABLE,
SFP_RX_LOSS_ALL,
SFP1_RX_LOSS,
SFP2_RX_LOSS,
SFP3_RX_LOSS,
SFP4_RX_LOSS,
SFP5_RX_LOSS,
SFP6_RX_LOSS,
SFP7_RX_LOSS,
SFP8_RX_LOSS,
SFP9_RX_LOSS,
SFP10_RX_LOSS,
SFP11_RX_LOSS,
SFP12_RX_LOSS,
SFP13_RX_LOSS,
SFP14_RX_LOSS,
SFP15_RX_LOSS,
SFP16_RX_LOSS,
SFP17_RX_LOSS,
SFP18_RX_LOSS,
SFP19_RX_LOSS,
SFP20_RX_LOSS,
SFP21_RX_LOSS,
SFP22_RX_LOSS,
SFP23_RX_LOSS,
SFP24_RX_LOSS,
SFP25_RX_LOSS,
SFP26_RX_LOSS,
SFP27_RX_LOSS,
SFP28_RX_LOSS,
SFP29_RX_LOSS,
SFP30_RX_LOSS,
SFP31_RX_LOSS,
SFP32_RX_LOSS,
SFP33_RX_LOSS,
SFP34_RX_LOSS,
SFP35_RX_LOSS,
SFP36_RX_LOSS,
SFP37_RX_LOSS,
SFP38_RX_LOSS,
SFP39_RX_LOSS,
SFP40_RX_LOSS,
SFP41_RX_LOSS,
SFP42_RX_LOSS,
SFP43_RX_LOSS,
SFP44_RX_LOSS,
SFP45_RX_LOSS,
SFP46_RX_LOSS,
SFP47_RX_LOSS,
SFP48_RX_LOSS,
SFP_1_6_RX_LOSS_INT,
SFP_2_6_RX_LOSS_INT,
SFP_3_6_RX_LOSS_INT,
SFP_4_6_RX_LOSS_INT,
SFP_5_6_RX_LOSS_INT,
SFP_6_6_RX_LOSS_INT,
SFP_1_6_RX_LOSS_INT_MASK,
SFP_2_6_RX_LOSS_INT_MASK,
SFP_3_6_RX_LOSS_INT_MASK,
SFP_4_6_RX_LOSS_INT_MASK,
SFP_5_6_RX_LOSS_INT_MASK,
SFP_6_6_RX_LOSS_INT_MASK,
SFP_PRESENT_ALL,
SFP1_PRESENT,
SFP2_PRESENT,
SFP3_PRESENT,
SFP4_PRESENT,
SFP5_PRESENT,
SFP6_PRESENT,
SFP7_PRESENT,
SFP8_PRESENT,
SFP9_PRESENT,
SFP10_PRESENT,
SFP11_PRESENT,
SFP12_PRESENT,
SFP13_PRESENT,
SFP14_PRESENT,
SFP15_PRESENT,
SFP16_PRESENT,
SFP17_PRESENT,
SFP18_PRESENT,
SFP19_PRESENT,
SFP20_PRESENT,
SFP21_PRESENT,
SFP22_PRESENT,
SFP23_PRESENT,
SFP24_PRESENT,
SFP25_PRESENT,
SFP26_PRESENT,
SFP27_PRESENT,
SFP28_PRESENT,
SFP29_PRESENT,
SFP30_PRESENT,
SFP31_PRESENT,
SFP32_PRESENT,
SFP33_PRESENT,
SFP34_PRESENT,
SFP35_PRESENT,
SFP36_PRESENT,
SFP37_PRESENT,
SFP38_PRESENT,
SFP39_PRESENT,
SFP40_PRESENT,
SFP41_PRESENT,
SFP42_PRESENT,
SFP43_PRESENT,
SFP44_PRESENT,
SFP45_PRESENT,
SFP46_PRESENT,
SFP47_PRESENT,
SFP48_PRESENT,
SFP_1_6_PRESENT_INT,
SFP_2_6_PRESENT_INT,
SFP_3_6_PRESENT_INT,
SFP_4_6_PRESENT_INT,
SFP_5_6_PRESENT_INT,
SFP_6_6_PRESENT_INT,
SFP_1_6_PRESENT_INT_MASK,
SFP_2_6_PRESENT_INT_MASK,
SFP_3_6_PRESENT_INT_MASK,
SFP_4_6_PRESENT_INT_MASK,
SFP_5_6_PRESENT_INT_MASK,
SFP_6_6_PRESENT_INT_MASK,
QSFP_LOW_POWER_ALL,
QSFP1_LOW_POWER,
QSFP2_LOW_POWER,
QSFP3_LOW_POWER,
QSFP4_LOW_POWER,
QSFP5_LOW_POWER,
QSFP6_LOW_POWER,
QSFP7_LOW_POWER,
QSFP8_LOW_POWER,
QSFP_RESET_ALL,
QSFP1_RESET,
QSFP2_RESET,
QSFP3_RESET,
QSFP4_RESET,
QSFP5_RESET,
QSFP6_RESET,
QSFP7_RESET,
QSFP8_RESET,
QSFP_PRESENT_ALL,
QSFP1_PRESENT,
QSFP2_PRESENT,
QSFP3_PRESENT,
QSFP4_PRESENT,
QSFP5_PRESENT,
QSFP6_PRESENT,
QSFP7_PRESENT,
QSFP8_PRESENT,
QSFP_INT_ALL,
QSFP1_INT,
QSFP2_INT,
QSFP3_INT,
QSFP4_INT,
QSFP5_INT,
QSFP6_INT,
QSFP7_INT,
QSFP8_INT,
QSFP_INT,
QSFP_MODPRS_INT,
QSFP_INT_MASK,
QSFP_MODPRS_MASK
};
/* end of struct i2c_sysfs_attributes */
/* sysfs attributes for SENSOR_DEVICE_ATTR */
static SENSOR_DEVICE_ATTR(cpld_23_ver , S_IRUGO , cpld_hw_ver_get , NULL , 23);
static SENSOR_DEVICE_ATTR(cpld_30_ver , S_IRUGO , cpld_hw_ver_get , NULL , 30);
static SENSOR_DEVICE_ATTR(cpld_31_ver , S_IRUGO , cpld_hw_ver_get , NULL , 31);
static SENSOR_DEVICE_ATTR(cpld_32_ver , S_IRUGO , cpld_hw_ver_get , NULL , 32);
static SENSOR_DEVICE_ATTR(wdt_en , S_IRUGO | S_IWUSR , wdt_enable_get , wdt_enable_set , WDT_EN);
static SENSOR_DEVICE_ATTR(eeprom_wp , S_IRUGO | S_IWUSR , eeprom_wp_get , eeprom_wp_set , EEPROM_WP);
static SENSOR_DEVICE_ATTR(usb_en , S_IRUGO | S_IWUSR , usb_enable_get , usb_enable_set , USB_EN);
static SENSOR_DEVICE_ATTR(shutdown_set , S_IRUGO | S_IWUSR , NULL , shutdown_set , SHUTDOWN_SET);
static SENSOR_DEVICE_ATTR(reset , S_IRUGO | S_IWUSR , NULL , reset_mac_set , RESET);
static SENSOR_DEVICE_ATTR(bmc_present , S_IRUGO , bmc_enable_get , NULL , BMC_PRESENT);
static SENSOR_DEVICE_ATTR(led_1 , S_IRUGO | S_IWUSR , led_ctrl_get , led_ctrl_set , 4);
static SENSOR_DEVICE_ATTR(led_2 , S_IRUGO | S_IWUSR , led_ctrl_get , led_ctrl_set , 3);
static SENSOR_DEVICE_ATTR(led_flow , S_IRUGO | S_IWUSR , led_ctrl_get , led_ctrl_set , 2);
static SENSOR_DEVICE_ATTR(led_sys , S_IRUGO | S_IWUSR , led_ctrl_get , led_ctrl_set , 1);
static SENSOR_DEVICE_ATTR(led_fiber , S_IRUGO | S_IWUSR , led_fiber_get , led_fiber_set , LED_FIBER);
static SENSOR_DEVICE_ATTR(temp_th0_int , S_IRUGO , themal_int_get , NULL , TEMP_TH0_INT);
static SENSOR_DEVICE_ATTR(temp_th1_int , S_IRUGO , themal_int_get , NULL , TEMP_TH1_INT);
static SENSOR_DEVICE_ATTR(temp_th3_int , S_IRUGO , themal_int_get , NULL , TEMP_TH3_INT);
static SENSOR_DEVICE_ATTR(temp_th2_int , S_IRUGO , themal_int_get , NULL , TEMP_TH2_INT);
static SENSOR_DEVICE_ATTR(temp_th0_int_mask , S_IRUGO | S_IWUSR , themal_int_mask_get , themal_int_mask_set , TEMP_TH0_INT_MASK);
static SENSOR_DEVICE_ATTR(temp_th1_int_mask , S_IRUGO | S_IWUSR , themal_int_mask_get , themal_int_mask_set , TEMP_TH1_INT_MASK);
static SENSOR_DEVICE_ATTR(temp_th3_int_mask , S_IRUGO | S_IWUSR , themal_int_mask_get , themal_int_mask_set , TEMP_TH3_INT_MASK);
static SENSOR_DEVICE_ATTR(temp_th2_int_mask , S_IRUGO | S_IWUSR , themal_int_mask_get , themal_int_mask_set , TEMP_TH2_INT_MASK);
static SENSOR_DEVICE_ATTR(cpld_fp_int , S_IRUGO , sys_int_get , NULL , CPLD_FP_INT);
static SENSOR_DEVICE_ATTR(cpld_rp_int , S_IRUGO , sys_int_get , NULL , CPLD_RP_INT);
static SENSOR_DEVICE_ATTR(cpld_fan_int , S_IRUGO , sys_int_get , NULL , CPLD_FAN_INT);
static SENSOR_DEVICE_ATTR(cpld_psu_int , S_IRUGO , sys_int_get , NULL , CPLD_PSU_INT);
static SENSOR_DEVICE_ATTR(thermal_int , S_IRUGO , sys_int_get , NULL , THERMAL_INT);
static SENSOR_DEVICE_ATTR(usb_int , S_IRUGO , sys_int_get , NULL , USB_INT);
static SENSOR_DEVICE_ATTR(cpld_fp_int_mask , S_IRUGO | S_IWUSR , sys_int_mask_get , sys_int_mask_set , CPLD_FP_INT_MASK);
static SENSOR_DEVICE_ATTR(cpld_rp_int_mask , S_IRUGO | S_IWUSR , sys_int_mask_get , sys_int_mask_set , CPLD_RP_INT_MASK);
static SENSOR_DEVICE_ATTR(cpld_fan_int_mask , S_IRUGO | S_IWUSR , sys_int_mask_get , sys_int_mask_set , CPLD_FAN_INT_MASK);
static SENSOR_DEVICE_ATTR(cpld_psu_int_mask , S_IRUGO | S_IWUSR , sys_int_mask_get , sys_int_mask_set , CPLD_PSU_INT_MASK);
static SENSOR_DEVICE_ATTR(thermal_int_mask , S_IRUGO | S_IWUSR , sys_int_mask_get , sys_int_mask_set , THERMAL_INT_MASK);
static SENSOR_DEVICE_ATTR(usb_int_mask , S_IRUGO | S_IWUSR , sys_int_mask_get , sys_int_mask_set , USB_INT_MASK);
static SENSOR_DEVICE_ATTR(temp_th0_t , S_IRUGO , themal_temp_get , NULL , TEMP_TH0_T);
static SENSOR_DEVICE_ATTR(temp_th0_b , S_IRUGO , themal_temp_get , NULL , TEMP_TH0_B);
static SENSOR_DEVICE_ATTR(temp_th0_r , S_IRUGO , themal_temp_get , NULL , TEMP_TH0_R);
static SENSOR_DEVICE_ATTR(temp_th1_t , S_IRUGO , themal_temp_get , NULL , TEMP_TH1_T);
static SENSOR_DEVICE_ATTR(temp_th1_b , S_IRUGO , themal_temp_get , NULL , TEMP_TH1_B);
static SENSOR_DEVICE_ATTR(temp_th3_t , S_IRUGO , themal_temp_get , NULL , TEMP_TH3_T);
static SENSOR_DEVICE_ATTR(temp_th3_b , S_IRUGO , themal_temp_get , NULL , TEMP_TH3_B);
static SENSOR_DEVICE_ATTR(temp_th2_t , S_IRUGO , themal_temp_get , NULL , TEMP_TH2_T);
static SENSOR_DEVICE_ATTR(temp_th2_b , S_IRUGO , themal_temp_get , NULL , TEMP_TH2_B);
static SENSOR_DEVICE_ATTR(temp_th0_t_max , S_IRUGO , themal_temp_max_get , NULL , TEMP_TH0_T_MAX);
static SENSOR_DEVICE_ATTR(temp_th1_t_max , S_IRUGO , themal_temp_max_get , NULL , TEMP_TH1_T_MAX);
static SENSOR_DEVICE_ATTR(temp_th3_t_max , S_IRUGO , themal_temp_max_get , NULL , TEMP_TH3_T_MAX);
static SENSOR_DEVICE_ATTR(temp_th2_t_max , S_IRUGO , themal_temp_max_get , NULL , TEMP_TH2_T_MAX);
static SENSOR_DEVICE_ATTR(temp_th0_r_max , S_IRUGO , themal_temp_max_get , NULL , TEMP_TH0_R_MAX);
static SENSOR_DEVICE_ATTR(temp_th0_b_max , S_IRUGO , themal_temp_max_get , NULL , TEMP_TH0_B_MAX);
static SENSOR_DEVICE_ATTR(temp_th1_b_max , S_IRUGO , themal_temp_max_get , NULL , TEMP_TH1_B_MAX);
static SENSOR_DEVICE_ATTR(temp_th3_b_max , S_IRUGO , themal_temp_max_get , NULL , TEMP_TH3_B_MAX);
static SENSOR_DEVICE_ATTR(temp_th2_b_max , S_IRUGO , themal_temp_max_get , NULL , TEMP_TH2_B_MAX);
static SENSOR_DEVICE_ATTR(temp_th0_t_min , S_IRUGO , themal_temp_min_get , NULL , TEMP_TH0_T_MIN);
static SENSOR_DEVICE_ATTR(temp_th1_t_min , S_IRUGO , themal_temp_min_get , NULL , TEMP_TH1_T_MIN);
static SENSOR_DEVICE_ATTR(temp_th3_t_min , S_IRUGO , themal_temp_min_get , NULL , TEMP_TH3_T_MIN);
static SENSOR_DEVICE_ATTR(temp_th2_t_min , S_IRUGO , themal_temp_min_get , NULL , TEMP_TH2_T_MIN);
static SENSOR_DEVICE_ATTR(temp_th0_r_min , S_IRUGO , themal_temp_min_get , NULL , TEMP_TH0_R_MIN);
static SENSOR_DEVICE_ATTR(temp_th0_b_min , S_IRUGO , themal_temp_min_get , NULL , TEMP_TH0_B_MIN);
static SENSOR_DEVICE_ATTR(temp_th1_b_min , S_IRUGO , themal_temp_min_get , NULL , TEMP_TH1_B_MIN);
static SENSOR_DEVICE_ATTR(temp_th3_b_min , S_IRUGO , themal_temp_min_get , NULL , TEMP_TH3_B_MIN);
static SENSOR_DEVICE_ATTR(temp_th2_b_min , S_IRUGO , themal_temp_min_get , NULL , TEMP_TH2_B_MIN);
static SENSOR_DEVICE_ATTR(temp_th0_t_crit , S_IRUGO , themal_temp_crit_get , NULL , TEMP_TH0_T_CRIT);
static SENSOR_DEVICE_ATTR(temp_th1_t_crit , S_IRUGO , themal_temp_crit_get , NULL , TEMP_TH1_T_CRIT);
static SENSOR_DEVICE_ATTR(temp_th3_t_crit , S_IRUGO , themal_temp_crit_get , NULL , TEMP_TH3_T_CRIT);
static SENSOR_DEVICE_ATTR(temp_th2_t_crit , S_IRUGO , themal_temp_crit_get , NULL , TEMP_TH2_T_CRIT);
static SENSOR_DEVICE_ATTR(temp_th0_r_crit , S_IRUGO , themal_temp_crit_get , NULL , TEMP_TH0_R_CRIT);
static SENSOR_DEVICE_ATTR(temp_th0_b_crit , S_IRUGO , themal_temp_crit_get , NULL , TEMP_TH0_B_CRIT);
static SENSOR_DEVICE_ATTR(temp_th1_b_crit , S_IRUGO , themal_temp_crit_get , NULL , TEMP_TH1_B_CRIT);
static SENSOR_DEVICE_ATTR(temp_th3_b_crit , S_IRUGO , themal_temp_crit_get , NULL , TEMP_TH3_B_CRIT);
static SENSOR_DEVICE_ATTR(temp_th2_b_crit , S_IRUGO , themal_temp_crit_get , NULL , TEMP_TH2_B_CRIT);
static SENSOR_DEVICE_ATTR(temp_th0_t_lcrit , S_IRUGO , themal_temp_lcrit_get , NULL , TEMP_TH0_T_LCRIT);
static SENSOR_DEVICE_ATTR(temp_th1_t_lcrit , S_IRUGO , themal_temp_lcrit_get , NULL , TEMP_TH1_T_LCRIT);
static SENSOR_DEVICE_ATTR(temp_th3_t_lcrit , S_IRUGO , themal_temp_lcrit_get , NULL , TEMP_TH3_T_LCRIT);
static SENSOR_DEVICE_ATTR(temp_th2_t_lcrit , S_IRUGO , themal_temp_lcrit_get , NULL , TEMP_TH2_T_LCRIT);
static SENSOR_DEVICE_ATTR(temp_th0_r_lcrit , S_IRUGO , themal_temp_lcrit_get , NULL , TEMP_TH0_R_LCRIT);
static SENSOR_DEVICE_ATTR(temp_th0_b_lcrit , S_IRUGO , themal_temp_lcrit_get , NULL , TEMP_TH0_B_LCRIT);
static SENSOR_DEVICE_ATTR(temp_th1_b_lcrit , S_IRUGO , themal_temp_lcrit_get , NULL , TEMP_TH1_B_LCRIT);
static SENSOR_DEVICE_ATTR(temp_th3_b_lcrit , S_IRUGO , themal_temp_lcrit_get , NULL , TEMP_TH3_B_LCRIT);
static SENSOR_DEVICE_ATTR(temp_th2_b_lcrit , S_IRUGO , themal_temp_lcrit_get , NULL , TEMP_TH2_B_LCRIT);
static SENSOR_DEVICE_ATTR(fanctrl_rpm , S_IRUGO , fan_ctrl_rpm_get , NULL , FANCTRL_RPM);
static SENSOR_DEVICE_ATTR(fanctrl_mode , S_IRUGO , fan_ctrl_mode_get , NULL , FANCTRL_MODE);
static SENSOR_DEVICE_ATTR(fan1_stat , S_IRUGO , fan_status_get , NULL , 1);
static SENSOR_DEVICE_ATTR(fan2_stat , S_IRUGO , fan_status_get , NULL , 2);
static SENSOR_DEVICE_ATTR(fan3_stat , S_IRUGO , fan_status_get , NULL , 3);
static SENSOR_DEVICE_ATTR(fan4_stat , S_IRUGO , fan_status_get , NULL , 4);
static SENSOR_DEVICE_ATTR(fan1_present , S_IRUGO , fan_present_get , NULL , 1);
static SENSOR_DEVICE_ATTR(fan2_present , S_IRUGO , fan_present_get , NULL , 2);
static SENSOR_DEVICE_ATTR(fan3_present , S_IRUGO , fan_present_get , NULL , 3);
static SENSOR_DEVICE_ATTR(fan4_present , S_IRUGO , fan_present_get , NULL , 4);
static SENSOR_DEVICE_ATTR(fan1_power , S_IRUGO , fan_power_get , NULL , 1);
static SENSOR_DEVICE_ATTR(fan2_power , S_IRUGO , fan_power_get , NULL , 2);
static SENSOR_DEVICE_ATTR(fan3_power , S_IRUGO , fan_power_get , NULL , 3);
static SENSOR_DEVICE_ATTR(fan4_power , S_IRUGO , fan_power_get , NULL , 4);
static SENSOR_DEVICE_ATTR(fan1_front_rpm , S_IRUGO , fan_rpm_get , NULL , FAN1_FRONT_RPM);
static SENSOR_DEVICE_ATTR(fan2_front_rpm , S_IRUGO , fan_rpm_get , NULL , FAN2_FRONT_RPM);
static SENSOR_DEVICE_ATTR(fan3_front_rpm , S_IRUGO , fan_rpm_get , NULL , FAN3_FRONT_RPM);
static SENSOR_DEVICE_ATTR(fan4_front_rpm , S_IRUGO , fan_rpm_get , NULL , FAN4_FRONT_RPM);
static SENSOR_DEVICE_ATTR(fan1_rear_rpm , S_IRUGO , fan_rpm_get , NULL , FAN1_REAR_RPM);
static SENSOR_DEVICE_ATTR(fan2_rear_rpm , S_IRUGO , fan_rpm_get , NULL , FAN2_REAR_RPM);
static SENSOR_DEVICE_ATTR(fan3_rear_rpm , S_IRUGO , fan_rpm_get , NULL , FAN3_REAR_RPM);
static SENSOR_DEVICE_ATTR(fan4_rear_rpm , S_IRUGO , fan_rpm_get , NULL , FAN4_REAR_RPM);
static SENSOR_DEVICE_ATTR(psu1_good , S_IRUGO , psu_status_get , NULL , 1);
static SENSOR_DEVICE_ATTR(psu2_good , S_IRUGO , psu_status_get , NULL , 2);
static SENSOR_DEVICE_ATTR(psu1_prnt , S_IRUGO , psu_present_get , NULL , 1);
static SENSOR_DEVICE_ATTR(psu2_prnt , S_IRUGO , psu_present_get , NULL , 2);
static SENSOR_DEVICE_ATTR(psu1_vin , S_IRUGO , psu_vin_get , NULL , PSU1_VIN);
static SENSOR_DEVICE_ATTR(psu1_iin , S_IRUGO , psu_iin_get , NULL , PSU1_IIN);
static SENSOR_DEVICE_ATTR(psu1_vout , S_IRUGO , psu_vout_get , NULL , PSU1_VOUT);
static SENSOR_DEVICE_ATTR(psu1_iout , S_IRUGO , psu_iout_get , NULL , PSU1_IOUT);
static SENSOR_DEVICE_ATTR(psu1_temp , S_IRUGO , psu_temp_get , NULL , PSU1_TEMP);
static SENSOR_DEVICE_ATTR(psu1_fan_speed , S_IRUGO , psu_fan_get , NULL , PSU1_FAN_SPEED);
static SENSOR_DEVICE_ATTR(psu1_pout , S_IRUGO , psu_pout_get , NULL , PSU1_POUT);
static SENSOR_DEVICE_ATTR(psu1_pin , S_IRUGO , psu_pin_get , NULL , PSU1_PIN);
static SENSOR_DEVICE_ATTR(psu1_mfr_model , S_IRUGO , psu_mfr_model_get , NULL , PSU1_MFR_MODEL);
static SENSOR_DEVICE_ATTR(psu1_mfr_iout_max , S_IRUGO , psu_iout_max_get , NULL , PSU1_MFR_IOUT_MAX);
static SENSOR_DEVICE_ATTR(psu1_vmode , S_IRUGO , psu_vmode_get , NULL , PSU1_VMODE);
static SENSOR_DEVICE_ATTR(psu2_vin , S_IRUGO , psu_vin_get , NULL , PSU2_VIN);
static SENSOR_DEVICE_ATTR(psu2_iin , S_IRUGO , psu_iin_get , NULL , PSU2_IIN);
static SENSOR_DEVICE_ATTR(psu2_vout , S_IRUGO , psu_vout_get , NULL , PSU2_VOUT);
static SENSOR_DEVICE_ATTR(psu2_iout , S_IRUGO , psu_iout_get , NULL , PSU2_IOUT);
static SENSOR_DEVICE_ATTR(psu2_temp , S_IRUGO , psu_temp_get , NULL , PSU2_TEMP);
static SENSOR_DEVICE_ATTR(psu2_fan_speed , S_IRUGO , psu_fan_get , NULL , PSU2_FAN_SPEED);
static SENSOR_DEVICE_ATTR(psu2_pout , S_IRUGO , psu_pout_get , NULL , PSU2_POUT);
static SENSOR_DEVICE_ATTR(psu2_pin , S_IRUGO , psu_pin_get , NULL , PSU2_PIN);
static SENSOR_DEVICE_ATTR(psu2_mfr_model , S_IRUGO , psu_mfr_model_get , NULL , PSU2_MFR_MODEL);
static SENSOR_DEVICE_ATTR(psu2_mfr_iout_max , S_IRUGO , psu_iout_max_get , NULL , PSU2_MFR_IOUT_MAX);
static SENSOR_DEVICE_ATTR(psu2_vmode , S_IRUGO , psu_vmode_get , NULL , PSU2_VMODE);
static SENSOR_DEVICE_ATTR(dc6e_p0_vout , S_IRUGO , dc_vout_get , NULL , DC6E_P0_VOUT);
static SENSOR_DEVICE_ATTR(dc6e_p0_iout , S_IRUGO , dc_iout_get , NULL , DC6E_P0_IOUT);
static SENSOR_DEVICE_ATTR(dc6e_p0_pout , S_IRUGO , dc_pout_get , NULL , DC6E_P0_POUT);
static SENSOR_DEVICE_ATTR(dc6e_p1_vout , S_IRUGO , dc_vout_get , NULL , DC6E_P1_VOUT);
static SENSOR_DEVICE_ATTR(dc6e_p1_iout , S_IRUGO , dc_iout_get , NULL , DC6E_P1_IOUT);
static SENSOR_DEVICE_ATTR(dc6e_p1_pout , S_IRUGO , dc_pout_get , NULL , DC6E_P1_POUT);
static SENSOR_DEVICE_ATTR(dc70_p0_vout , S_IRUGO , dc_vout_get , NULL , DC70_P0_VOUT);
static SENSOR_DEVICE_ATTR(dc70_p0_iout , S_IRUGO , dc_iout_get , NULL , DC70_P0_IOUT);
static SENSOR_DEVICE_ATTR(dc70_p0_pout , S_IRUGO , dc_pout_get , NULL , DC70_P0_POUT);
static SENSOR_DEVICE_ATTR(dc70_p1_vout , S_IRUGO , dc_vout_get , NULL , DC70_P1_VOUT);
static SENSOR_DEVICE_ATTR(dc70_p1_iout , S_IRUGO , dc_iout_get , NULL , DC70_P1_IOUT);
static SENSOR_DEVICE_ATTR(dc70_p1_pout , S_IRUGO , dc_pout_get , NULL , DC70_P1_POUT);
static SENSOR_DEVICE_ATTR(sfp_tx_enable_all , S_IRUGO | S_IWUSR , sfp_tx_enable_all_get , sfp_tx_enable_all_set , SFP_TX_ENABLE_ALL);
static SENSOR_DEVICE_ATTR(sfp1_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 1);
static SENSOR_DEVICE_ATTR(sfp2_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 2);
static SENSOR_DEVICE_ATTR(sfp3_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 3);
static SENSOR_DEVICE_ATTR(sfp4_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 4);
static SENSOR_DEVICE_ATTR(sfp5_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 5);
static SENSOR_DEVICE_ATTR(sfp6_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 6);
static SENSOR_DEVICE_ATTR(sfp7_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 7);
static SENSOR_DEVICE_ATTR(sfp8_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 8);
static SENSOR_DEVICE_ATTR(sfp9_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 9);
static SENSOR_DEVICE_ATTR(sfp10_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 10);
static SENSOR_DEVICE_ATTR(sfp11_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 11);
static SENSOR_DEVICE_ATTR(sfp12_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 12);
static SENSOR_DEVICE_ATTR(sfp13_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 13);
static SENSOR_DEVICE_ATTR(sfp14_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 14);
static SENSOR_DEVICE_ATTR(sfp15_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 15);
static SENSOR_DEVICE_ATTR(sfp16_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 16);
static SENSOR_DEVICE_ATTR(sfp17_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 17);
static SENSOR_DEVICE_ATTR(sfp18_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 18);
static SENSOR_DEVICE_ATTR(sfp19_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 19);
static SENSOR_DEVICE_ATTR(sfp20_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 20);
static SENSOR_DEVICE_ATTR(sfp21_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 21);
static SENSOR_DEVICE_ATTR(sfp22_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 22);
static SENSOR_DEVICE_ATTR(sfp23_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 23);
static SENSOR_DEVICE_ATTR(sfp24_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 24);
static SENSOR_DEVICE_ATTR(sfp25_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 25);
static SENSOR_DEVICE_ATTR(sfp26_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 26);
static SENSOR_DEVICE_ATTR(sfp27_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 27);
static SENSOR_DEVICE_ATTR(sfp28_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 28);
static SENSOR_DEVICE_ATTR(sfp29_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 29);
static SENSOR_DEVICE_ATTR(sfp30_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 30);
static SENSOR_DEVICE_ATTR(sfp31_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 31);
static SENSOR_DEVICE_ATTR(sfp32_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 32);
static SENSOR_DEVICE_ATTR(sfp33_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 33);
static SENSOR_DEVICE_ATTR(sfp34_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 34);
static SENSOR_DEVICE_ATTR(sfp35_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 35);
static SENSOR_DEVICE_ATTR(sfp36_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 36);
static SENSOR_DEVICE_ATTR(sfp37_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 37);
static SENSOR_DEVICE_ATTR(sfp38_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 38);
static SENSOR_DEVICE_ATTR(sfp39_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 39);
static SENSOR_DEVICE_ATTR(sfp40_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 40);
static SENSOR_DEVICE_ATTR(sfp41_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 41);
static SENSOR_DEVICE_ATTR(sfp42_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 42);
static SENSOR_DEVICE_ATTR(sfp43_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 43);
static SENSOR_DEVICE_ATTR(sfp44_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 44);
static SENSOR_DEVICE_ATTR(sfp45_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 45);
static SENSOR_DEVICE_ATTR(sfp46_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 46);
static SENSOR_DEVICE_ATTR(sfp47_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 47);
static SENSOR_DEVICE_ATTR(sfp48_tx_enable , S_IRUGO | S_IWUSR , sfp_tx_enable_get , sfp_tx_enable_set , 48);
static SENSOR_DEVICE_ATTR(sfp_rx_loss_all , S_IRUGO , sfp_rx_loss_all_get , NULL , SFP_RX_LOSS_ALL);
static SENSOR_DEVICE_ATTR(sfp1_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 1);
static SENSOR_DEVICE_ATTR(sfp2_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 2);
static SENSOR_DEVICE_ATTR(sfp3_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 3);
static SENSOR_DEVICE_ATTR(sfp4_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 4);
static SENSOR_DEVICE_ATTR(sfp5_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 5);
static SENSOR_DEVICE_ATTR(sfp6_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 6);
static SENSOR_DEVICE_ATTR(sfp7_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 7);
static SENSOR_DEVICE_ATTR(sfp8_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 8);
static SENSOR_DEVICE_ATTR(sfp9_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 9);
static SENSOR_DEVICE_ATTR(sfp10_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 10);
static SENSOR_DEVICE_ATTR(sfp11_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 11);
static SENSOR_DEVICE_ATTR(sfp12_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 12);
static SENSOR_DEVICE_ATTR(sfp13_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 13);
static SENSOR_DEVICE_ATTR(sfp14_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 14);
static SENSOR_DEVICE_ATTR(sfp15_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 15);
static SENSOR_DEVICE_ATTR(sfp16_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 16);
static SENSOR_DEVICE_ATTR(sfp17_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 17);
static SENSOR_DEVICE_ATTR(sfp18_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 18);
static SENSOR_DEVICE_ATTR(sfp19_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 19);
static SENSOR_DEVICE_ATTR(sfp20_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 20);
static SENSOR_DEVICE_ATTR(sfp21_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 21);
static SENSOR_DEVICE_ATTR(sfp22_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 22);
static SENSOR_DEVICE_ATTR(sfp23_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 23);
static SENSOR_DEVICE_ATTR(sfp24_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 24);
static SENSOR_DEVICE_ATTR(sfp25_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 25);
static SENSOR_DEVICE_ATTR(sfp26_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 26);
static SENSOR_DEVICE_ATTR(sfp27_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 27);
static SENSOR_DEVICE_ATTR(sfp28_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 28);
static SENSOR_DEVICE_ATTR(sfp29_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 29);
static SENSOR_DEVICE_ATTR(sfp30_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 30);
static SENSOR_DEVICE_ATTR(sfp31_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 31);
static SENSOR_DEVICE_ATTR(sfp32_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 32);
static SENSOR_DEVICE_ATTR(sfp33_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 33);
static SENSOR_DEVICE_ATTR(sfp34_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 34);
static SENSOR_DEVICE_ATTR(sfp35_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 35);
static SENSOR_DEVICE_ATTR(sfp36_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 36);
static SENSOR_DEVICE_ATTR(sfp37_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 37);
static SENSOR_DEVICE_ATTR(sfp38_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 38);
static SENSOR_DEVICE_ATTR(sfp39_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 39);
static SENSOR_DEVICE_ATTR(sfp40_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 40);
static SENSOR_DEVICE_ATTR(sfp41_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 41);
static SENSOR_DEVICE_ATTR(sfp42_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 42);
static SENSOR_DEVICE_ATTR(sfp43_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 43);
static SENSOR_DEVICE_ATTR(sfp44_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 44);
static SENSOR_DEVICE_ATTR(sfp45_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 45);
static SENSOR_DEVICE_ATTR(sfp46_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 46);
static SENSOR_DEVICE_ATTR(sfp47_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 47);
static SENSOR_DEVICE_ATTR(sfp48_rx_loss , S_IRUGO , sfp_rx_loss_get , NULL , 48);
static SENSOR_DEVICE_ATTR(sfp_1_6_rx_loss_int , S_IRUGO , sfp_rx_loss_int_get , NULL , 1);
static SENSOR_DEVICE_ATTR(sfp_2_6_rx_loss_int , S_IRUGO , sfp_rx_loss_int_get , NULL , 2);
static SENSOR_DEVICE_ATTR(sfp_3_6_rx_loss_int , S_IRUGO , sfp_rx_loss_int_get , NULL , 3);
static SENSOR_DEVICE_ATTR(sfp_4_6_rx_loss_int , S_IRUGO , sfp_rx_loss_int_get , NULL , 4);
static SENSOR_DEVICE_ATTR(sfp_5_6_rx_loss_int , S_IRUGO , sfp_rx_loss_int_get , NULL , 5);
static SENSOR_DEVICE_ATTR(sfp_6_6_rx_loss_int , S_IRUGO , sfp_rx_loss_int_get , NULL , 6);
static SENSOR_DEVICE_ATTR(sfp_1_6_rx_loss_int_mask, S_IRUGO | S_IWUSR , sfp_rx_loss_int_mask_get , sfp_rx_loss_int_mask_set , 1);
static SENSOR_DEVICE_ATTR(sfp_2_6_rx_loss_int_mask, S_IRUGO | S_IWUSR , sfp_rx_loss_int_mask_get , sfp_rx_loss_int_mask_set , 2);
static SENSOR_DEVICE_ATTR(sfp_3_6_rx_loss_int_mask, S_IRUGO | S_IWUSR , sfp_rx_loss_int_mask_get , sfp_rx_loss_int_mask_set , 3);
static SENSOR_DEVICE_ATTR(sfp_4_6_rx_loss_int_mask, S_IRUGO | S_IWUSR , sfp_rx_loss_int_mask_get , sfp_rx_loss_int_mask_set , 4);
static SENSOR_DEVICE_ATTR(sfp_5_6_rx_loss_int_mask, S_IRUGO | S_IWUSR , sfp_rx_loss_int_mask_get , sfp_rx_loss_int_mask_set , 5);
static SENSOR_DEVICE_ATTR(sfp_6_6_rx_loss_int_mask, S_IRUGO | S_IWUSR , sfp_rx_loss_int_mask_get , sfp_rx_loss_int_mask_set , 6);
static SENSOR_DEVICE_ATTR(sfp_present_all , S_IRUGO , sfp_present_all_get , NULL , SFP_PRESENT_ALL);
static SENSOR_DEVICE_ATTR(sfp1_present , S_IRUGO , sfp_present_get , NULL , 1);
static SENSOR_DEVICE_ATTR(sfp2_present , S_IRUGO , sfp_present_get , NULL , 2);
static SENSOR_DEVICE_ATTR(sfp3_present , S_IRUGO , sfp_present_get , NULL , 3);
static SENSOR_DEVICE_ATTR(sfp4_present , S_IRUGO , sfp_present_get , NULL , 4);
static SENSOR_DEVICE_ATTR(sfp5_present , S_IRUGO , sfp_present_get , NULL , 5);
static SENSOR_DEVICE_ATTR(sfp6_present , S_IRUGO , sfp_present_get , NULL , 6);
static SENSOR_DEVICE_ATTR(sfp7_present , S_IRUGO , sfp_present_get , NULL , 7);
static SENSOR_DEVICE_ATTR(sfp8_present , S_IRUGO , sfp_present_get , NULL , 8);
static SENSOR_DEVICE_ATTR(sfp9_present , S_IRUGO , sfp_present_get , NULL , 9);
static SENSOR_DEVICE_ATTR(sfp10_present , S_IRUGO , sfp_present_get , NULL , 10);
static SENSOR_DEVICE_ATTR(sfp11_present , S_IRUGO , sfp_present_get , NULL , 11);
static SENSOR_DEVICE_ATTR(sfp12_present , S_IRUGO , sfp_present_get , NULL , 12);
static SENSOR_DEVICE_ATTR(sfp13_present , S_IRUGO , sfp_present_get , NULL , 13);
static SENSOR_DEVICE_ATTR(sfp14_present , S_IRUGO , sfp_present_get , NULL , 14);
static SENSOR_DEVICE_ATTR(sfp15_present , S_IRUGO , sfp_present_get , NULL , 15);
static SENSOR_DEVICE_ATTR(sfp16_present , S_IRUGO , sfp_present_get , NULL , 16);
static SENSOR_DEVICE_ATTR(sfp17_present , S_IRUGO , sfp_present_get , NULL , 17);
static SENSOR_DEVICE_ATTR(sfp18_present , S_IRUGO , sfp_present_get , NULL , 18);
static SENSOR_DEVICE_ATTR(sfp19_present , S_IRUGO , sfp_present_get , NULL , 19);
static SENSOR_DEVICE_ATTR(sfp20_present , S_IRUGO , sfp_present_get , NULL , 20);
static SENSOR_DEVICE_ATTR(sfp21_present , S_IRUGO , sfp_present_get , NULL , 21);
static SENSOR_DEVICE_ATTR(sfp22_present , S_IRUGO , sfp_present_get , NULL , 22);
static SENSOR_DEVICE_ATTR(sfp23_present , S_IRUGO , sfp_present_get , NULL , 23);
static SENSOR_DEVICE_ATTR(sfp24_present , S_IRUGO , sfp_present_get , NULL , 24);
static SENSOR_DEVICE_ATTR(sfp25_present , S_IRUGO , sfp_present_get , NULL , 25);
static SENSOR_DEVICE_ATTR(sfp26_present , S_IRUGO , sfp_present_get , NULL , 26);
static SENSOR_DEVICE_ATTR(sfp27_present , S_IRUGO , sfp_present_get , NULL , 27);
static SENSOR_DEVICE_ATTR(sfp28_present , S_IRUGO , sfp_present_get , NULL , 28);
static SENSOR_DEVICE_ATTR(sfp29_present , S_IRUGO , sfp_present_get , NULL , 29);
static SENSOR_DEVICE_ATTR(sfp30_present , S_IRUGO , sfp_present_get , NULL , 30);
static SENSOR_DEVICE_ATTR(sfp31_present , S_IRUGO , sfp_present_get , NULL , 31);
static SENSOR_DEVICE_ATTR(sfp32_present , S_IRUGO , sfp_present_get , NULL , 32);
static SENSOR_DEVICE_ATTR(sfp33_present , S_IRUGO , sfp_present_get , NULL , 33);
static SENSOR_DEVICE_ATTR(sfp34_present , S_IRUGO , sfp_present_get , NULL , 34);
static SENSOR_DEVICE_ATTR(sfp35_present , S_IRUGO , sfp_present_get , NULL , 35);
static SENSOR_DEVICE_ATTR(sfp36_present , S_IRUGO , sfp_present_get , NULL , 36);
static SENSOR_DEVICE_ATTR(sfp37_present , S_IRUGO , sfp_present_get , NULL , 37);
static SENSOR_DEVICE_ATTR(sfp38_present , S_IRUGO , sfp_present_get , NULL , 38);
static SENSOR_DEVICE_ATTR(sfp39_present , S_IRUGO , sfp_present_get , NULL , 39);
static SENSOR_DEVICE_ATTR(sfp40_present , S_IRUGO , sfp_present_get , NULL , 40);
static SENSOR_DEVICE_ATTR(sfp41_present , S_IRUGO , sfp_present_get , NULL , 41);
static SENSOR_DEVICE_ATTR(sfp42_present , S_IRUGO , sfp_present_get , NULL , 42);
static SENSOR_DEVICE_ATTR(sfp43_present , S_IRUGO , sfp_present_get , NULL , 43);
static SENSOR_DEVICE_ATTR(sfp44_present , S_IRUGO , sfp_present_get , NULL , 44);
static SENSOR_DEVICE_ATTR(sfp45_present , S_IRUGO , sfp_present_get , NULL , 45);
static SENSOR_DEVICE_ATTR(sfp46_present , S_IRUGO , sfp_present_get , NULL , 46);
static SENSOR_DEVICE_ATTR(sfp47_present , S_IRUGO , sfp_present_get , NULL , 47);
static SENSOR_DEVICE_ATTR(sfp48_present , S_IRUGO , sfp_present_get , NULL , 48);
static SENSOR_DEVICE_ATTR(sfp_1_6_present_int , S_IRUGO , sfp_present_int_get , NULL , 1);
static SENSOR_DEVICE_ATTR(sfp_2_6_present_int , S_IRUGO , sfp_present_int_get , NULL , 2);
static SENSOR_DEVICE_ATTR(sfp_3_6_present_int , S_IRUGO , sfp_present_int_get , NULL , 3);
static SENSOR_DEVICE_ATTR(sfp_4_6_present_int , S_IRUGO , sfp_present_int_get , NULL , 4);
static SENSOR_DEVICE_ATTR(sfp_5_6_present_int , S_IRUGO , sfp_present_int_get , NULL , 5);
static SENSOR_DEVICE_ATTR(sfp_6_6_present_int , S_IRUGO , sfp_present_int_get , NULL , 6);
static SENSOR_DEVICE_ATTR(sfp_1_6_present_int_mask, S_IRUGO | S_IWUSR , sfp_present_int_mask_get , sfp_present_int_mask_set , 1);
static SENSOR_DEVICE_ATTR(sfp_2_6_present_int_mask, S_IRUGO | S_IWUSR , sfp_present_int_mask_get , sfp_present_int_mask_set , 2);
static SENSOR_DEVICE_ATTR(sfp_3_6_present_int_mask, S_IRUGO | S_IWUSR , sfp_present_int_mask_get , sfp_present_int_mask_set , 3);
static SENSOR_DEVICE_ATTR(sfp_4_6_present_int_mask, S_IRUGO | S_IWUSR , sfp_present_int_mask_get , sfp_present_int_mask_set , 4);
static SENSOR_DEVICE_ATTR(sfp_5_6_present_int_mask, S_IRUGO | S_IWUSR , sfp_present_int_mask_get , sfp_present_int_mask_set , 5);
static SENSOR_DEVICE_ATTR(sfp_6_6_present_int_mask, S_IRUGO | S_IWUSR , sfp_present_int_mask_get , sfp_present_int_mask_set , 6);
static SENSOR_DEVICE_ATTR(qsfp_low_power_all , S_IRUGO | S_IWUSR , qsfp_low_power_all_get , qsfp_low_power_all_set , QSFP_LOW_POWER_ALL);
static SENSOR_DEVICE_ATTR(qsfp1_low_power , S_IRUGO | S_IWUSR , qsfp_low_power_get , qsfp_low_power_set , 1);
static SENSOR_DEVICE_ATTR(qsfp2_low_power , S_IRUGO | S_IWUSR , qsfp_low_power_get , qsfp_low_power_set , 2);
static SENSOR_DEVICE_ATTR(qsfp3_low_power , S_IRUGO | S_IWUSR , qsfp_low_power_get , qsfp_low_power_set , 3);
static SENSOR_DEVICE_ATTR(qsfp4_low_power , S_IRUGO | S_IWUSR , qsfp_low_power_get , qsfp_low_power_set , 4);
static SENSOR_DEVICE_ATTR(qsfp5_low_power , S_IRUGO | S_IWUSR , qsfp_low_power_get , qsfp_low_power_set , 5);
static SENSOR_DEVICE_ATTR(qsfp6_low_power , S_IRUGO | S_IWUSR , qsfp_low_power_get , qsfp_low_power_set , 6);
static SENSOR_DEVICE_ATTR(qsfp7_low_power , S_IRUGO | S_IWUSR , qsfp_low_power_get , qsfp_low_power_set , 7);
static SENSOR_DEVICE_ATTR(qsfp8_low_power , S_IRUGO | S_IWUSR , qsfp_low_power_get , qsfp_low_power_set , 8);
static SENSOR_DEVICE_ATTR(qsfp_reset_all , S_IRUGO | S_IWUSR , NULL , qsfp_reset_all_set , QSFP_RESET_ALL);
static SENSOR_DEVICE_ATTR(qsfp1_reset , S_IRUGO | S_IWUSR , NULL , qsfp_reset_set , 1);
static SENSOR_DEVICE_ATTR(qsfp2_reset , S_IRUGO | S_IWUSR , NULL , qsfp_reset_set , 2);
static SENSOR_DEVICE_ATTR(qsfp3_reset , S_IRUGO | S_IWUSR , NULL , qsfp_reset_set , 3);
static SENSOR_DEVICE_ATTR(qsfp4_reset , S_IRUGO | S_IWUSR , NULL , qsfp_reset_set , 4);
static SENSOR_DEVICE_ATTR(qsfp5_reset , S_IRUGO | S_IWUSR , NULL , qsfp_reset_set , 5);
static SENSOR_DEVICE_ATTR(qsfp6_reset , S_IRUGO | S_IWUSR , NULL , qsfp_reset_set , 6);
static SENSOR_DEVICE_ATTR(qsfp7_reset , S_IRUGO | S_IWUSR , NULL , qsfp_reset_set , 7);
static SENSOR_DEVICE_ATTR(qsfp8_reset , S_IRUGO | S_IWUSR , NULL , qsfp_reset_set , 8);
static SENSOR_DEVICE_ATTR(qsfp_present_all , S_IRUGO , qsfp_present_all_get , NULL , QSFP_PRESENT_ALL);
static SENSOR_DEVICE_ATTR(qsfp1_present , S_IRUGO , qsfp_present_get , NULL , 1);
static SENSOR_DEVICE_ATTR(qsfp2_present , S_IRUGO , qsfp_present_get , NULL , 2);
static SENSOR_DEVICE_ATTR(qsfp3_present , S_IRUGO , qsfp_present_get , NULL , 3);
static SENSOR_DEVICE_ATTR(qsfp4_present , S_IRUGO , qsfp_present_get , NULL , 4);
static SENSOR_DEVICE_ATTR(qsfp5_present , S_IRUGO , qsfp_present_get , NULL , 5);
static SENSOR_DEVICE_ATTR(qsfp6_present , S_IRUGO , qsfp_present_get , NULL , 6);
static SENSOR_DEVICE_ATTR(qsfp7_present , S_IRUGO , qsfp_present_get , NULL , 7);
static SENSOR_DEVICE_ATTR(qsfp8_present , S_IRUGO , qsfp_present_get , NULL , 8);
static SENSOR_DEVICE_ATTR(qsfp_int_all , S_IRUGO , qsfp_int_all_get , NULL , QSFP_INT_ALL);
static SENSOR_DEVICE_ATTR(qsfp1_int , S_IRUGO , qsfp_int_get , NULL , 1);
static SENSOR_DEVICE_ATTR(qsfp2_int , S_IRUGO , qsfp_int_get , NULL , 2);
static SENSOR_DEVICE_ATTR(qsfp3_int , S_IRUGO , qsfp_int_get , NULL , 3);
static SENSOR_DEVICE_ATTR(qsfp4_int , S_IRUGO , qsfp_int_get , NULL , 4);
static SENSOR_DEVICE_ATTR(qsfp5_int , S_IRUGO , qsfp_int_get , NULL , 5);
static SENSOR_DEVICE_ATTR(qsfp6_int , S_IRUGO , qsfp_int_get , NULL , 6);
static SENSOR_DEVICE_ATTR(qsfp7_int , S_IRUGO , qsfp_int_get , NULL , 7);
static SENSOR_DEVICE_ATTR(qsfp8_int , S_IRUGO , qsfp_int_get , NULL , 8);
static SENSOR_DEVICE_ATTR(qsfp_int , S_IRUGO , qsfp_quter_int_get , NULL , 1);
static SENSOR_DEVICE_ATTR(qsfp_modprs_int , S_IRUGO , qsfp_modprs_int_get , NULL , 1);
static SENSOR_DEVICE_ATTR(qsfp_int_mask , S_IRUGO | S_IWUSR , qsfp_quter_int_mask_get , qsfp_quter_int_mask_set , 1);
static SENSOR_DEVICE_ATTR(qsfp_modprs_mask , S_IRUGO | S_IWUSR , qsfp_modprs_int_mask_get , qsfp_modprs_int_mask_set , 1);
/* end of sysfs attributes for SENSOR_DEVICE_ATTR */
/* sysfs attributes for hwmon */
/* i2c-0 */
static struct attribute *ESQC610_SYS_attributes[] =
{
&sensor_dev_attr_cpld_23_ver.dev_attr.attr,
&sensor_dev_attr_cpld_30_ver.dev_attr.attr,
&sensor_dev_attr_cpld_31_ver.dev_attr.attr,
&sensor_dev_attr_cpld_32_ver.dev_attr.attr,
&sensor_dev_attr_wdt_en.dev_attr.attr,
&sensor_dev_attr_eeprom_wp.dev_attr.attr,
&sensor_dev_attr_usb_en.dev_attr.attr,
&sensor_dev_attr_shutdown_set.dev_attr.attr,
&sensor_dev_attr_reset.dev_attr.attr,
&sensor_dev_attr_bmc_present.dev_attr.attr,
&sensor_dev_attr_cpld_fp_int.dev_attr.attr,
&sensor_dev_attr_cpld_rp_int.dev_attr.attr,
&sensor_dev_attr_cpld_fan_int.dev_attr.attr,
&sensor_dev_attr_cpld_psu_int.dev_attr.attr,
&sensor_dev_attr_thermal_int.dev_attr.attr,
&sensor_dev_attr_usb_int.dev_attr.attr,
&sensor_dev_attr_cpld_fp_int_mask.dev_attr.attr,
&sensor_dev_attr_cpld_rp_int_mask.dev_attr.attr,
&sensor_dev_attr_cpld_fan_int_mask.dev_attr.attr,
&sensor_dev_attr_cpld_psu_int_mask.dev_attr.attr,
&sensor_dev_attr_thermal_int_mask.dev_attr.attr,
&sensor_dev_attr_usb_int_mask.dev_attr.attr,
NULL
};
static struct attribute *ESQC610_LED_attributes[] =
{
&sensor_dev_attr_led_1.dev_attr.attr,
&sensor_dev_attr_led_2.dev_attr.attr,
&sensor_dev_attr_led_flow.dev_attr.attr,
&sensor_dev_attr_led_sys.dev_attr.attr,
&sensor_dev_attr_led_fiber.dev_attr.attr,
NULL
};
static struct attribute *ESQC610_THERMAL_attributes[] =
{
&sensor_dev_attr_temp_th0_t.dev_attr.attr,
&sensor_dev_attr_temp_th0_b.dev_attr.attr,
&sensor_dev_attr_temp_th0_r.dev_attr.attr,
&sensor_dev_attr_temp_th1_t.dev_attr.attr,
&sensor_dev_attr_temp_th1_b.dev_attr.attr,
&sensor_dev_attr_temp_th3_t.dev_attr.attr,
&sensor_dev_attr_temp_th3_b.dev_attr.attr,
&sensor_dev_attr_temp_th2_t.dev_attr.attr,
&sensor_dev_attr_temp_th2_b.dev_attr.attr,
&sensor_dev_attr_temp_th0_int.dev_attr.attr,
&sensor_dev_attr_temp_th1_int.dev_attr.attr,
&sensor_dev_attr_temp_th3_int.dev_attr.attr,
&sensor_dev_attr_temp_th2_int.dev_attr.attr,
&sensor_dev_attr_temp_th0_int_mask.dev_attr.attr,
&sensor_dev_attr_temp_th1_int_mask.dev_attr.attr,
&sensor_dev_attr_temp_th3_int_mask.dev_attr.attr,
&sensor_dev_attr_temp_th2_int_mask.dev_attr.attr,
&sensor_dev_attr_temp_th0_t_max.dev_attr.attr,
&sensor_dev_attr_temp_th0_t_min.dev_attr.attr,
&sensor_dev_attr_temp_th0_t_crit.dev_attr.attr,
&sensor_dev_attr_temp_th0_t_lcrit.dev_attr.attr,
&sensor_dev_attr_temp_th0_b_max.dev_attr.attr,
&sensor_dev_attr_temp_th0_b_min.dev_attr.attr,
&sensor_dev_attr_temp_th0_b_crit.dev_attr.attr,
&sensor_dev_attr_temp_th0_b_lcrit.dev_attr.attr,
&sensor_dev_attr_temp_th0_r_max.dev_attr.attr,
&sensor_dev_attr_temp_th0_r_min.dev_attr.attr,
&sensor_dev_attr_temp_th0_r_crit.dev_attr.attr,
&sensor_dev_attr_temp_th0_r_lcrit.dev_attr.attr,
&sensor_dev_attr_temp_th1_t_max.dev_attr.attr,
&sensor_dev_attr_temp_th1_t_min.dev_attr.attr,
&sensor_dev_attr_temp_th1_t_crit.dev_attr.attr,
&sensor_dev_attr_temp_th1_t_lcrit.dev_attr.attr,
&sensor_dev_attr_temp_th1_b_max.dev_attr.attr,
&sensor_dev_attr_temp_th1_b_min.dev_attr.attr,
&sensor_dev_attr_temp_th1_b_crit.dev_attr.attr,
&sensor_dev_attr_temp_th1_b_lcrit.dev_attr.attr,
&sensor_dev_attr_temp_th3_t_max.dev_attr.attr,
&sensor_dev_attr_temp_th3_t_min.dev_attr.attr,
&sensor_dev_attr_temp_th3_t_crit.dev_attr.attr,
&sensor_dev_attr_temp_th3_t_lcrit.dev_attr.attr,
&sensor_dev_attr_temp_th3_b_max.dev_attr.attr,
&sensor_dev_attr_temp_th3_b_min.dev_attr.attr,
&sensor_dev_attr_temp_th3_b_crit.dev_attr.attr,
&sensor_dev_attr_temp_th3_b_lcrit.dev_attr.attr,
&sensor_dev_attr_temp_th2_t_max.dev_attr.attr,
&sensor_dev_attr_temp_th2_t_min.dev_attr.attr,
&sensor_dev_attr_temp_th2_t_crit.dev_attr.attr,
&sensor_dev_attr_temp_th2_t_lcrit.dev_attr.attr,
&sensor_dev_attr_temp_th2_b_max.dev_attr.attr,
&sensor_dev_attr_temp_th2_b_min.dev_attr.attr,
&sensor_dev_attr_temp_th2_b_crit.dev_attr.attr,
&sensor_dev_attr_temp_th2_b_lcrit.dev_attr.attr,
NULL
};
static struct attribute *ESQC610_FAN_attributes[] =
{
&sensor_dev_attr_fanctrl_rpm.dev_attr.attr,
&sensor_dev_attr_fanctrl_mode.dev_attr.attr,
&sensor_dev_attr_fan1_stat.dev_attr.attr,
&sensor_dev_attr_fan2_stat.dev_attr.attr,
&sensor_dev_attr_fan3_stat.dev_attr.attr,
&sensor_dev_attr_fan4_stat.dev_attr.attr,
&sensor_dev_attr_fan1_present.dev_attr.attr,
&sensor_dev_attr_fan2_present.dev_attr.attr,
&sensor_dev_attr_fan3_present.dev_attr.attr,
&sensor_dev_attr_fan4_present.dev_attr.attr,
&sensor_dev_attr_fan1_power.dev_attr.attr,
&sensor_dev_attr_fan2_power.dev_attr.attr,
&sensor_dev_attr_fan3_power.dev_attr.attr,
&sensor_dev_attr_fan4_power.dev_attr.attr,
&sensor_dev_attr_fan1_front_rpm.dev_attr.attr,
&sensor_dev_attr_fan2_front_rpm.dev_attr.attr,
&sensor_dev_attr_fan3_front_rpm.dev_attr.attr,
&sensor_dev_attr_fan4_front_rpm.dev_attr.attr,
&sensor_dev_attr_fan1_rear_rpm.dev_attr.attr,
&sensor_dev_attr_fan2_rear_rpm.dev_attr.attr,
&sensor_dev_attr_fan3_rear_rpm.dev_attr.attr,
&sensor_dev_attr_fan4_rear_rpm.dev_attr.attr,
NULL
};
static struct attribute *ESQC610_POWER_attributes[] =
{
&sensor_dev_attr_psu1_good.dev_attr.attr,
&sensor_dev_attr_psu2_good.dev_attr.attr,
&sensor_dev_attr_psu1_prnt.dev_attr.attr,
&sensor_dev_attr_psu2_prnt.dev_attr.attr,
&sensor_dev_attr_psu1_vin.dev_attr.attr,
&sensor_dev_attr_psu1_iin.dev_attr.attr,
&sensor_dev_attr_psu1_vout.dev_attr.attr,
&sensor_dev_attr_psu1_iout.dev_attr.attr,
&sensor_dev_attr_psu1_temp.dev_attr.attr,
&sensor_dev_attr_psu1_fan_speed.dev_attr.attr,
&sensor_dev_attr_psu1_pout.dev_attr.attr,
&sensor_dev_attr_psu1_pin.dev_attr.attr,
&sensor_dev_attr_psu1_mfr_model.dev_attr.attr,
&sensor_dev_attr_psu1_mfr_iout_max.dev_attr.attr,
&sensor_dev_attr_psu1_vmode.dev_attr.attr,
&sensor_dev_attr_psu2_vin.dev_attr.attr,
&sensor_dev_attr_psu2_iin.dev_attr.attr,
&sensor_dev_attr_psu2_vout.dev_attr.attr,
&sensor_dev_attr_psu2_iout.dev_attr.attr,
&sensor_dev_attr_psu2_temp.dev_attr.attr,
&sensor_dev_attr_psu2_fan_speed.dev_attr.attr,
&sensor_dev_attr_psu2_pout.dev_attr.attr,
&sensor_dev_attr_psu2_pin.dev_attr.attr,
&sensor_dev_attr_psu2_mfr_model.dev_attr.attr,
&sensor_dev_attr_psu2_mfr_iout_max.dev_attr.attr,
&sensor_dev_attr_psu2_vmode.dev_attr.attr,
&sensor_dev_attr_dc6e_p0_vout.dev_attr.attr,
&sensor_dev_attr_dc6e_p0_iout.dev_attr.attr,
&sensor_dev_attr_dc6e_p0_pout.dev_attr.attr,
&sensor_dev_attr_dc6e_p1_vout.dev_attr.attr,
&sensor_dev_attr_dc6e_p1_iout.dev_attr.attr,
&sensor_dev_attr_dc6e_p1_pout.dev_attr.attr,
&sensor_dev_attr_dc70_p0_vout.dev_attr.attr,
&sensor_dev_attr_dc70_p0_iout.dev_attr.attr,
&sensor_dev_attr_dc70_p0_pout.dev_attr.attr,
&sensor_dev_attr_dc70_p1_vout.dev_attr.attr,
&sensor_dev_attr_dc70_p1_iout.dev_attr.attr,
&sensor_dev_attr_dc70_p1_pout.dev_attr.attr,
NULL
};
static struct attribute *ESQC610_SFP_attributes[] =
{
&sensor_dev_attr_sfp_tx_enable_all.dev_attr.attr,
&sensor_dev_attr_sfp1_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp2_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp3_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp4_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp5_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp6_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp7_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp8_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp9_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp10_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp11_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp12_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp13_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp14_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp15_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp16_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp17_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp18_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp19_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp20_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp21_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp22_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp23_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp24_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp25_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp26_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp27_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp28_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp29_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp30_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp31_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp32_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp33_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp34_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp35_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp36_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp37_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp38_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp39_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp40_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp41_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp42_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp43_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp44_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp45_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp46_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp47_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp48_tx_enable.dev_attr.attr,
&sensor_dev_attr_sfp_rx_loss_all.dev_attr.attr,
&sensor_dev_attr_sfp1_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp2_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp3_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp4_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp5_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp6_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp7_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp8_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp9_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp10_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp11_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp12_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp13_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp14_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp15_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp16_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp17_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp18_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp19_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp20_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp21_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp22_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp23_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp24_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp25_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp26_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp27_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp28_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp29_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp30_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp31_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp32_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp33_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp34_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp35_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp36_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp37_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp38_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp39_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp40_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp41_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp42_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp43_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp44_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp45_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp46_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp47_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp48_rx_loss.dev_attr.attr,
&sensor_dev_attr_sfp_present_all.dev_attr.attr,
&sensor_dev_attr_sfp1_present.dev_attr.attr,
&sensor_dev_attr_sfp2_present.dev_attr.attr,
&sensor_dev_attr_sfp3_present.dev_attr.attr,
&sensor_dev_attr_sfp4_present.dev_attr.attr,
&sensor_dev_attr_sfp5_present.dev_attr.attr,
&sensor_dev_attr_sfp6_present.dev_attr.attr,
&sensor_dev_attr_sfp7_present.dev_attr.attr,
&sensor_dev_attr_sfp8_present.dev_attr.attr,
&sensor_dev_attr_sfp9_present.dev_attr.attr,
&sensor_dev_attr_sfp10_present.dev_attr.attr,
&sensor_dev_attr_sfp11_present.dev_attr.attr,
&sensor_dev_attr_sfp12_present.dev_attr.attr,
&sensor_dev_attr_sfp13_present.dev_attr.attr,
&sensor_dev_attr_sfp14_present.dev_attr.attr,
&sensor_dev_attr_sfp15_present.dev_attr.attr,
&sensor_dev_attr_sfp16_present.dev_attr.attr,
&sensor_dev_attr_sfp17_present.dev_attr.attr,
&sensor_dev_attr_sfp18_present.dev_attr.attr,
&sensor_dev_attr_sfp19_present.dev_attr.attr,
&sensor_dev_attr_sfp20_present.dev_attr.attr,
&sensor_dev_attr_sfp21_present.dev_attr.attr,
&sensor_dev_attr_sfp22_present.dev_attr.attr,
&sensor_dev_attr_sfp23_present.dev_attr.attr,
&sensor_dev_attr_sfp24_present.dev_attr.attr,
&sensor_dev_attr_sfp25_present.dev_attr.attr,
&sensor_dev_attr_sfp26_present.dev_attr.attr,
&sensor_dev_attr_sfp27_present.dev_attr.attr,
&sensor_dev_attr_sfp28_present.dev_attr.attr,
&sensor_dev_attr_sfp29_present.dev_attr.attr,
&sensor_dev_attr_sfp30_present.dev_attr.attr,
&sensor_dev_attr_sfp31_present.dev_attr.attr,
&sensor_dev_attr_sfp32_present.dev_attr.attr,
&sensor_dev_attr_sfp33_present.dev_attr.attr,
&sensor_dev_attr_sfp34_present.dev_attr.attr,
&sensor_dev_attr_sfp35_present.dev_attr.attr,
&sensor_dev_attr_sfp36_present.dev_attr.attr,
&sensor_dev_attr_sfp37_present.dev_attr.attr,
&sensor_dev_attr_sfp38_present.dev_attr.attr,
&sensor_dev_attr_sfp39_present.dev_attr.attr,
&sensor_dev_attr_sfp40_present.dev_attr.attr,
&sensor_dev_attr_sfp41_present.dev_attr.attr,
&sensor_dev_attr_sfp42_present.dev_attr.attr,
&sensor_dev_attr_sfp43_present.dev_attr.attr,
&sensor_dev_attr_sfp44_present.dev_attr.attr,
&sensor_dev_attr_sfp45_present.dev_attr.attr,
&sensor_dev_attr_sfp46_present.dev_attr.attr,
&sensor_dev_attr_sfp47_present.dev_attr.attr,
&sensor_dev_attr_sfp48_present.dev_attr.attr,
&sensor_dev_attr_sfp_1_6_rx_loss_int.dev_attr.attr,
&sensor_dev_attr_sfp_2_6_rx_loss_int.dev_attr.attr,
&sensor_dev_attr_sfp_3_6_rx_loss_int.dev_attr.attr,
&sensor_dev_attr_sfp_4_6_rx_loss_int.dev_attr.attr,
&sensor_dev_attr_sfp_5_6_rx_loss_int.dev_attr.attr,
&sensor_dev_attr_sfp_6_6_rx_loss_int.dev_attr.attr,
&sensor_dev_attr_sfp_1_6_rx_loss_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_2_6_rx_loss_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_3_6_rx_loss_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_4_6_rx_loss_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_5_6_rx_loss_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_6_6_rx_loss_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_1_6_present_int.dev_attr.attr,
&sensor_dev_attr_sfp_2_6_present_int.dev_attr.attr,
&sensor_dev_attr_sfp_3_6_present_int.dev_attr.attr,
&sensor_dev_attr_sfp_4_6_present_int.dev_attr.attr,
&sensor_dev_attr_sfp_5_6_present_int.dev_attr.attr,
&sensor_dev_attr_sfp_6_6_present_int.dev_attr.attr,
&sensor_dev_attr_sfp_1_6_present_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_2_6_present_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_3_6_present_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_4_6_present_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_5_6_present_int_mask.dev_attr.attr,
&sensor_dev_attr_sfp_6_6_present_int_mask.dev_attr.attr,
NULL
};
static struct attribute *ESQC610_QSFP_attributes[] =
{
&sensor_dev_attr_qsfp_low_power_all.dev_attr.attr,
&sensor_dev_attr_qsfp1_low_power.dev_attr.attr,
&sensor_dev_attr_qsfp2_low_power.dev_attr.attr,
&sensor_dev_attr_qsfp3_low_power.dev_attr.attr,
&sensor_dev_attr_qsfp4_low_power.dev_attr.attr,
&sensor_dev_attr_qsfp5_low_power.dev_attr.attr,
&sensor_dev_attr_qsfp6_low_power.dev_attr.attr,
&sensor_dev_attr_qsfp7_low_power.dev_attr.attr,
&sensor_dev_attr_qsfp8_low_power.dev_attr.attr,
&sensor_dev_attr_qsfp_reset_all.dev_attr.attr,
&sensor_dev_attr_qsfp1_reset.dev_attr.attr,
&sensor_dev_attr_qsfp2_reset.dev_attr.attr,
&sensor_dev_attr_qsfp3_reset.dev_attr.attr,
&sensor_dev_attr_qsfp4_reset.dev_attr.attr,
&sensor_dev_attr_qsfp5_reset.dev_attr.attr,
&sensor_dev_attr_qsfp6_reset.dev_attr.attr,
&sensor_dev_attr_qsfp7_reset.dev_attr.attr,
&sensor_dev_attr_qsfp8_reset.dev_attr.attr,
&sensor_dev_attr_qsfp_present_all.dev_attr.attr,
&sensor_dev_attr_qsfp1_present.dev_attr.attr,
&sensor_dev_attr_qsfp2_present.dev_attr.attr,
&sensor_dev_attr_qsfp3_present.dev_attr.attr,
&sensor_dev_attr_qsfp4_present.dev_attr.attr,
&sensor_dev_attr_qsfp5_present.dev_attr.attr,
&sensor_dev_attr_qsfp6_present.dev_attr.attr,
&sensor_dev_attr_qsfp7_present.dev_attr.attr,
&sensor_dev_attr_qsfp8_present.dev_attr.attr,
&sensor_dev_attr_qsfp_int_all.dev_attr.attr,
&sensor_dev_attr_qsfp1_int.dev_attr.attr,
&sensor_dev_attr_qsfp2_int.dev_attr.attr,
&sensor_dev_attr_qsfp3_int.dev_attr.attr,
&sensor_dev_attr_qsfp4_int.dev_attr.attr,
&sensor_dev_attr_qsfp5_int.dev_attr.attr,
&sensor_dev_attr_qsfp6_int.dev_attr.attr,
&sensor_dev_attr_qsfp7_int.dev_attr.attr,
&sensor_dev_attr_qsfp8_int.dev_attr.attr,
&sensor_dev_attr_qsfp_int.dev_attr.attr,
&sensor_dev_attr_qsfp_modprs_int.dev_attr.attr,
&sensor_dev_attr_qsfp_int_mask.dev_attr.attr,
&sensor_dev_attr_qsfp_modprs_mask.dev_attr.attr,
NULL
};
/* end of sysfs attributes for hwmon */
/* struct attribute_group */
static const struct attribute_group ESQC610_SYS_group =
{
.name = "ESQC610_SYS",
.attrs = ESQC610_SYS_attributes,
};
static const struct attribute_group ESQC610_LED_group =
{
.name = "ESQC610_LED",
.attrs = ESQC610_LED_attributes,
};
static const struct attribute_group ESQC610_THERMAL_group =
{
.name = "ESQC610_THERMAL",
.attrs = ESQC610_THERMAL_attributes,
};
static const struct attribute_group ESQC610_FAN_group =
{
.name = "ESQC610_FAN",
.attrs = ESQC610_FAN_attributes,
};
static const struct attribute_group ESQC610_POWER_group =
{
.name = "ESQC610_POWER",
.attrs = ESQC610_POWER_attributes,
};
static const struct attribute_group ESQC610_SFP_group =
{
.name = "ESQC610_SFP",
.attrs = ESQC610_SFP_attributes,
};
static const struct attribute_group ESQC610_QSFP_group =
{
.name = "ESQC610_QSFP",
.attrs = ESQC610_QSFP_attributes,
};
/* end of struct attribute_group */