summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2017-07-01 00:31:09 -0400
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2017-07-06 23:24:33 -0400
commit9f369bf08e21e7122aa09a876258fca9a3d27607 (patch)
tree70722dc78c9ab83f97fb76ecea53a9073c748ed5
parent666be2aee1f4c2e123a6823e59c7d883709db89c (diff)
downloadtalos-skeleton-9f369bf08e21e7122aa09a876258fca9a3d27607.tar.gz
talos-skeleton-9f369bf08e21e7122aa09a876258fca9a3d27607.zip
hwmon: Remove
Remove the legacy pyhwmon application. Its functionality has been replaced by phosphor-hwmon. Change-Id: Icbba91cd7d0841b3fc74eec280455edaa79af1f6 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
-rw-r--r--Makefile1
l---------pyhwmon/Makefile1
-rw-r--r--pyhwmon/hwmon.py171
l---------pyhwmon/setup.cfg1
-rw-r--r--pyhwmon/setup.py6
5 files changed, 0 insertions, 180 deletions
diff --git a/Makefile b/Makefile
index 4eeadac..3938ddc 100644
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,6 @@ SUBDIRS = fanctl \
pychassisctl \
pydownloadmgr \
pyflashbmc \
- pyhwmon \
pyinventorymgr \
pyipmitest \
pysensormgr \
diff --git a/pyhwmon/Makefile b/pyhwmon/Makefile
deleted file mode 120000
index 76a90fc..0000000
--- a/pyhwmon/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-../Makefile.python \ No newline at end of file
diff --git a/pyhwmon/hwmon.py b/pyhwmon/hwmon.py
deleted file mode 100644
index 55a8bd2..0000000
--- a/pyhwmon/hwmon.py
+++ /dev/null
@@ -1,171 +0,0 @@
-#!/usr/bin/env python
-
-import os
-import gobject
-import glob
-import dbus
-import dbus.service
-import dbus.mainloop.glib
-import re
-from obmc.dbuslib.bindings import get_dbus
-
-from obmc.sensors import SensorValue as SensorValue
-from obmc.sensors import HwmonSensor as HwmonSensor
-from obmc.sensors import SensorThresholds as SensorThresholds
-
-try:
- import obmc_system_config as System
- have_system = True
-except ImportError:
- have_system = False
-
-SENSOR_BUS = 'org.openbmc.Sensors'
-SENSOR_PATH = '/org/openbmc/sensors'
-DIR_POLL_INTERVAL = 30000
-HWMON_PATH = '/sys/class/hwmon'
-
-## static define which interface each property is under
-## need a better way that is not slow
-IFACE_LOOKUP = {
- 'units': SensorValue.IFACE_NAME,
- 'adjust': HwmonSensor.IFACE_NAME,
- 'scale': HwmonSensor.IFACE_NAME,
- 'offset': HwmonSensor.IFACE_NAME,
- 'critical_upper': SensorThresholds.IFACE_NAME,
- 'warning_upper': SensorThresholds.IFACE_NAME,
- 'critical_lower': SensorThresholds.IFACE_NAME,
- 'warning_lower': SensorThresholds.IFACE_NAME,
- 'emergency_enabled': SensorThresholds.IFACE_NAME,
-}
-
-
-class Hwmons():
- def __init__(self, bus):
- self.sensors = {}
- self.hwmon_root = {}
-
- if have_system:
- self.scanDirectory()
- gobject.timeout_add(DIR_POLL_INTERVAL, self.scanDirectory)
-
- def readAttribute(self, filename):
- val = "-1"
- try:
- with open(filename, 'r') as f:
- for line in f:
- val = line.rstrip('\n')
- except (OSError, IOError):
- print "Cannot read attributes:", filename
- return val
-
- def writeAttribute(self, filename, value):
- with open(filename, 'w') as f:
- f.write(str(value)+'\n')
-
- def poll(self, objpath, attribute):
- try:
- raw_value = int(self.readAttribute(attribute))
- obj = bus.get_object(SENSOR_BUS, objpath, introspect=False)
- intf = dbus.Interface(obj, HwmonSensor.IFACE_NAME)
- rtn = intf.setByPoll(raw_value)
- if rtn[0]:
- self.writeAttribute(attribute, rtn[1])
- except:
- print "HWMON: Attibute no longer exists: "+attribute
- self.sensors.pop(objpath, None)
- return False
-
- return True
-
- def addObject(self, dpath, hwmon_path, hwmon):
- objsuf = hwmon['object_path']
- objpath = SENSOR_PATH+'/'+objsuf
-
- if objpath not in self.sensors:
- print "HWMON add: "+objpath+" : "+hwmon_path
-
- ## register object with sensor manager
- obj = bus.get_object(SENSOR_BUS, SENSOR_PATH, introspect=False)
- intf = dbus.Interface(obj, SENSOR_BUS)
- intf.register("HwmonSensor", objpath)
-
- ## set some properties in dbus object
- obj = bus.get_object(SENSOR_BUS, objpath, introspect=False)
- intf = dbus.Interface(obj, dbus.PROPERTIES_IFACE)
- intf.Set(HwmonSensor.IFACE_NAME, 'filename', hwmon_path)
-
- ## check if one of thresholds is defined to know
- ## whether to enable thresholds or not
- if 'critical_upper' in hwmon:
- intf.Set(
- SensorThresholds.IFACE_NAME, 'thresholds_enabled', True)
-
- for prop in hwmon.keys():
- if prop in IFACE_LOOKUP:
- intf.Set(IFACE_LOOKUP[prop], prop, hwmon[prop])
- print "Setting: "+prop+" = "+str(hwmon[prop])
-
- self.sensors[objpath] = True
- self.hwmon_root[dpath].append(objpath)
- gobject.timeout_add(
- hwmon['poll_interval'], self.poll, objpath, hwmon_path)
-
- def scanDirectory(self):
- devices = os.listdir(HWMON_PATH)
- found_hwmon = {}
- regx = re.compile('([a-z]+)\d+\_')
- for d in devices:
- dpath = HWMON_PATH+'/'+d+'/'
- found_hwmon[dpath] = True
- if dpath not in self.hwmon_root:
- self.hwmon_root[dpath] = []
- ## the instance name is a soft link
- instance_name = os.path.realpath(dpath+'device').split('/').pop()
-
- if instance_name in System.HWMON_CONFIG:
- hwmon = System.HWMON_CONFIG[instance_name]
-
- if 'labels' in hwmon:
- label_files = glob.glob(dpath+'/*_label')
- for f in label_files:
- label_key = self.readAttribute(f)
- if label_key in hwmon['labels']:
- namef = f.replace('_label', '_input')
- self.addObject(
- dpath, namef, hwmon['labels'][label_key])
- else:
- pass
-
- if 'names' in hwmon:
- for attribute in hwmon['names'].keys():
- self.addObject(
- dpath, dpath+attribute, hwmon['names'][attribute])
-
- for k in self.hwmon_root.keys():
- if k not in found_hwmon:
- ## need to remove all objects associated with this path
- print "Removing: "+k
- for objpath in self.hwmon_root[k]:
- if objpath in self.sensors:
- print "HWMON remove: "+objpath
- self.sensors.pop(objpath, None)
- obj = bus.get_object(
- SENSOR_BUS, SENSOR_PATH, introspect=False)
- intf = dbus.Interface(obj, SENSOR_BUS)
- intf.delete(objpath)
-
- self.hwmon_root.pop(k, None)
-
- return True
-
-
-if __name__ == '__main__':
- dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
- bus = get_dbus()
- root_sensor = Hwmons(bus)
- mainloop = gobject.MainLoop()
-
- print "Starting HWMON sensors"
- mainloop.run()
-
-# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/pyhwmon/setup.cfg b/pyhwmon/setup.cfg
deleted file mode 120000
index 29939b5..0000000
--- a/pyhwmon/setup.cfg
+++ /dev/null
@@ -1 +0,0 @@
-../setup.cfg \ No newline at end of file
diff --git a/pyhwmon/setup.py b/pyhwmon/setup.py
deleted file mode 100644
index 41b3b9a..0000000
--- a/pyhwmon/setup.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from distutils.core import setup
-
-setup(name='pyhwmon',
- version='1.0',
- scripts=['hwmon.py'],
- )
OpenPOWER on IntegriCloud