simplify the driver interface

This commit is contained in:
alu
2026-08-07 09:29:17 -07:00
parent b99bb45877
commit 31c409a94c
13 changed files with 181 additions and 197 deletions
+13 -30
View File
@@ -1,47 +1,30 @@
package proc
import (
"finally-a-monolithic-linux-hw-monitor/app/common"
driver "finally-a-monolithic-linux-hw-monitor/app/proc/drivers"
"fmt"
)
type IntelReader struct {
temperatureDriver driver.TemperatureDriver
powerDriver driver.PowerDriver
clockDriver driver.ClockDriver
}
func NewIntelReader() (*IntelReader, error) {
temperatureDriver := driver.NewHwmonDriver([]string{"coretemp"})
if temperatureDriver == nil {
func NewIntelDrivers() ([]common.Driver, error) {
drivers := []common.Driver{}
temperatureDriver, err := driver.NewHwmonDriver([]string{"coretemp"})
if err != nil {
return nil, fmt.Errorf("could not initialize hwmon temperature driver")
}
drivers = append(drivers, temperatureDriver)
powerDriver := driver.NewRaplDriver()
if powerDriver == nil {
powerDriver, err := driver.NewRaplDriver()
if err != nil {
return nil, fmt.Errorf("could not initialize hwmon temperature driver")
}
drivers = append(drivers, powerDriver)
clockDriver := driver.NewSysDriver()
if clockDriver == nil {
clockDriver, err := driver.NewSysDriver()
if err != nil {
return nil, fmt.Errorf("could not initialize hwmon temperature driver")
}
drivers = append(drivers, clockDriver)
return &IntelReader{
temperatureDriver: temperatureDriver,
powerDriver: powerDriver,
clockDriver: clockDriver,
}, nil
}
func (r *IntelReader) ReadTemperatureSensors() ([]driver.TemperatureSensor, error) {
return r.temperatureDriver.ReadTemperatureSensors()
}
func (r *IntelReader) ReadPowerSensors() ([]driver.PowerSensor, error) {
return r.powerDriver.ReadPowerSensors()
}
func (r *IntelReader) ReadClockSensors() ([]driver.ClockSensor, error) {
return r.clockDriver.ReadClockSensors()
return drivers, nil
}