@@ -202,12 +202,14 @@ static u16 aquastreamult_sensor_fan_offsets[] = { AQUASTREAMULT_FAN_OFFSET };
202
202
#define OCTO_NUM_FANS 8
203
203
#define OCTO_NUM_SENSORS 4
204
204
#define OCTO_NUM_VIRTUAL_SENSORS 16
205
+ #define OCTO_NUM_FLOW_SENSORS 1
205
206
#define OCTO_CTRL_REPORT_SIZE 0x65F
206
207
207
208
/* Sensor report offsets for the Octo */
208
209
#define OCTO_POWER_CYCLES 0x18
209
210
#define OCTO_SENSOR_START 0x3D
210
211
#define OCTO_VIRTUAL_SENSORS_START 0x45
212
+ #define OCTO_FLOW_SENSOR_OFFSET 0x7B
211
213
static u16 octo_sensor_fan_offsets [] = { 0x7D , 0x8A , 0x97 , 0xA4 , 0xB1 , 0xBE , 0xCB , 0xD8 };
212
214
213
215
/* Control report offsets for the Octo */
@@ -363,18 +365,6 @@ static const char *const label_aquaero_calc_temp_sensors[] = {
363
365
"Calc. virtual sensor 4"
364
366
};
365
367
366
- /* Labels for Octo and Quadro (except speed) */
367
- static const char * const label_fan_speed [] = {
368
- "Fan 1 speed" ,
369
- "Fan 2 speed" ,
370
- "Fan 3 speed" ,
371
- "Fan 4 speed" ,
372
- "Fan 5 speed" ,
373
- "Fan 6 speed" ,
374
- "Fan 7 speed" ,
375
- "Fan 8 speed"
376
- };
377
-
378
368
static const char * const label_fan_power [] = {
379
369
"Fan 1 power" ,
380
370
"Fan 2 power" ,
@@ -408,6 +398,19 @@ static const char *const label_fan_current[] = {
408
398
"Fan 8 current"
409
399
};
410
400
401
+ /* Labels for Octo fan speeds */
402
+ static const char * const label_octo_speeds [] = {
403
+ "Fan 1 speed" ,
404
+ "Fan 2 speed" ,
405
+ "Fan 3 speed" ,
406
+ "Fan 4 speed" ,
407
+ "Fan 5 speed" ,
408
+ "Fan 6 speed" ,
409
+ "Fan 7 speed" ,
410
+ "Fan 8 speed" ,
411
+ "Flow speed [dL/h]" ,
412
+ };
413
+
411
414
/* Labels for Quadro fan speeds */
412
415
static const char * const label_quadro_speeds [] = {
413
416
"Fan 1 speed" ,
@@ -844,6 +847,7 @@ static umode_t aqc_is_visible(const void *data, enum hwmon_sensor_types type, u3
844
847
return 0444 ;
845
848
break ;
846
849
case aquaero :
850
+ case octo :
847
851
case quadro :
848
852
case highflow :
849
853
/* Special case to support flow sensors */
@@ -1289,6 +1293,7 @@ static const struct hwmon_channel_info * const aqc_info[] = {
1289
1293
HWMON_F_INPUT | HWMON_F_LABEL | HWMON_F_PULSES ,
1290
1294
HWMON_F_INPUT | HWMON_F_LABEL ,
1291
1295
HWMON_F_INPUT | HWMON_F_LABEL ,
1296
+ HWMON_F_INPUT | HWMON_F_LABEL ,
1292
1297
HWMON_F_INPUT | HWMON_F_LABEL ),
1293
1298
HWMON_CHANNEL_INFO (power ,
1294
1299
HWMON_P_INPUT | HWMON_P_LABEL ,
@@ -1658,6 +1663,9 @@ static int aqc_probe(struct hid_device *hdev, const struct hid_device_id *id)
1658
1663
priv -> temp_sensor_start_offset = OCTO_SENSOR_START ;
1659
1664
priv -> num_virtual_temp_sensors = OCTO_NUM_VIRTUAL_SENSORS ;
1660
1665
priv -> virtual_temp_sensor_start_offset = OCTO_VIRTUAL_SENSORS_START ;
1666
+ priv -> num_flow_sensors = OCTO_NUM_FLOW_SENSORS ;
1667
+ priv -> flow_sensors_start_offset = OCTO_FLOW_SENSOR_OFFSET ;
1668
+
1661
1669
priv -> temp_ctrl_offset = OCTO_TEMP_CTRL_OFFSET ;
1662
1670
1663
1671
priv -> buffer_size = OCTO_CTRL_REPORT_SIZE ;
@@ -1667,7 +1675,7 @@ static int aqc_probe(struct hid_device *hdev, const struct hid_device_id *id)
1667
1675
1668
1676
priv -> temp_label = label_temp_sensors ;
1669
1677
priv -> virtual_temp_label = label_virtual_temp_sensors ;
1670
- priv -> speed_label = label_fan_speed ;
1678
+ priv -> speed_label = label_octo_speeds ;
1671
1679
priv -> power_label = label_fan_power ;
1672
1680
priv -> voltage_label = label_fan_voltage ;
1673
1681
priv -> current_label = label_fan_current ;
0 commit comments