Skip to content

Commit af01f37

Browse files
tianshangfeipull[bot]
authored andcommitted
The PSU driver module complies with s3ip sysfs specification (sonic-net#12887)
Why I did it Provide a PSU driver framework that complies with s3ip sysfs specification How I did it 1、 The framework module provides register and unregister interface and implementation. 2、 The framework will help you create the sysfs node How to verify it A demo driver base on this framework will display the sysfs node wich conform to the s3ip sysfs specification
1 parent 29d2663 commit af01f37

File tree

2 files changed

+1028
-0
lines changed

2 files changed

+1028
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#ifndef _PSU_SYSFS_H_
2+
#define _PSU_SYSFS_H_
3+
4+
struct s3ip_sysfs_psu_drivers_s {
5+
int (*get_psu_number)(void);
6+
int (*get_psu_temp_number)(unsigned int psu_index);
7+
ssize_t (*get_psu_model_name)(unsigned int psu_index, char *buf, size_t count);
8+
ssize_t (*get_psu_serial_number)(unsigned int psu_index, char *buf, size_t count);
9+
ssize_t (*get_psu_part_number)(unsigned int psu_index, char *buf, size_t count);
10+
ssize_t (*get_psu_hardware_version)(unsigned int psu_index, char *buf, size_t count);
11+
ssize_t (*get_psu_type)(unsigned int psu_index, char *buf, size_t count);
12+
ssize_t (*get_psu_in_curr)(unsigned int psu_index, char *buf, size_t count);
13+
ssize_t (*get_psu_in_vol)(unsigned int psu_index, char *buf, size_t count);
14+
ssize_t (*get_psu_in_power)(unsigned int psu_index, char *buf, size_t count);
15+
ssize_t (*get_psu_out_curr)(unsigned int psu_index, char *buf, size_t count);
16+
ssize_t (*get_psu_out_vol)(unsigned int psu_index, char *buf, size_t count);
17+
ssize_t (*get_psu_out_power)(unsigned int psu_index, char *buf, size_t count);
18+
ssize_t (*get_psu_out_max_power)(unsigned int psu_index, char *buf, size_t count);
19+
ssize_t (*get_psu_present_status)(unsigned int psu_index, char *buf, size_t count);
20+
ssize_t (*get_psu_in_status)(unsigned int psu_index, char *buf, size_t count);
21+
ssize_t (*get_psu_out_status)(unsigned int psu_index, char *buf, size_t count);
22+
ssize_t (*get_psu_fan_speed)(unsigned int psu_index, char *buf, size_t count);
23+
ssize_t (*get_psu_fan_ratio)(unsigned int psu_index, char *buf, size_t count);
24+
int (*set_psu_fan_ratio)(unsigned int psu_index, int ratio);
25+
ssize_t (*get_psu_fan_direction)(unsigned int psu_index, char *buf, size_t count);
26+
ssize_t (*get_psu_led_status)(unsigned int psu_index, char *buf, size_t count);
27+
ssize_t (*get_psu_temp_alias)(unsigned int psu_index, unsigned int temp_index, char *buf, size_t count);
28+
ssize_t (*get_psu_temp_type)(unsigned int psu_index, unsigned int temp_index, char *buf, size_t count);
29+
ssize_t (*get_psu_temp_max)(unsigned int psu_index, unsigned int temp_index, char *buf, size_t count);
30+
int (*set_psu_temp_max)(unsigned int psu_index, unsigned int temp_index, const char *buf, size_t count);
31+
ssize_t (*get_psu_temp_min)(unsigned int psu_index, unsigned int temp_index, char *buf, size_t count);
32+
int (*set_psu_temp_min)(unsigned int psu_index, unsigned int temp_index, const char *buf, size_t count);
33+
ssize_t (*get_psu_temp_value)(unsigned int psu_index, unsigned int temp_index, char *buf, size_t count);
34+
};
35+
36+
extern int s3ip_sysfs_psu_drivers_register(struct s3ip_sysfs_psu_drivers_s *drv);
37+
extern void s3ip_sysfs_psu_drivers_unregister(void);
38+
#endif /*_PSU_SYSFS_H_ */

0 commit comments

Comments
 (0)