summaryrefslogtreecommitdiffstats
path: root/meta-phosphor/common/recipes-phosphor/sensors
diff options
context:
space:
mode:
Diffstat (limited to 'meta-phosphor/common/recipes-phosphor/sensors')
-rw-r--r--meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon.bb5
-rw-r--r--meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules3
-rw-r--r--meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/70-iio.rules3
-rw-r--r--meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/start_hwmon.sh22
-rw-r--r--meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/xyz.openbmc_project.Hwmon@.service3
5 files changed, 32 insertions, 4 deletions
diff --git a/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon.bb b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon.bb
index 2d2833916..8d5eb4b67 100644
--- a/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon.bb
+++ b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon.bb
@@ -25,6 +25,7 @@ RDEPENDS_${PN} += "\
sdbusplus \
phosphor-dbus-interfaces \
phosphor-logging \
+ bash \
"
RRECOMMENDS_${PN} += "${VIRTUAL-RUNTIME_phosphor-hwmon-config}"
@@ -35,6 +36,7 @@ RDEPENDS_max31785-msl = "${VIRTUAL-RUNTIME_base-utils} i2c-tools"
SRC_URI += "git://scm.raptorcs.com/scm/git/phosphor-hwmon;protocol=https;branch=04-19-2018"
SRC_URI += "file://70-hwmon.rules"
SRC_URI += "file://70-iio.rules"
+SRC_URI += "file://start_hwmon.sh"
SRCREV = "d7bb5ac10f35bfb13237d6f0a94fd7a798a4a0b1"
@@ -45,4 +47,7 @@ do_install_append() {
install -d ${D}/${base_libdir}/udev/rules.d/
install ${WORKDIR}/70-hwmon.rules ${D}/${base_libdir}/udev/rules.d/
install ${WORKDIR}/70-iio.rules ${D}/${base_libdir}/udev/rules.d/
+
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/start_hwmon.sh ${D}${bindir}
}
diff --git a/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules
index 070d88f51..503b2d002 100644
--- a/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules
+++ b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules
@@ -1 +1,2 @@
-SUBSYSTEM=="hwmon", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="xyz.openbmc_project.Hwmon@%E{OF_FULLNAME}.service"
+SUBSYSTEM=="hwmon", ACTION=="add", RUN="/usr/bin/start_hwmon.sh start %p %E{OF_FULLNAME}"
+SUBSYSTEM=="hwmon", ACTION=="remove", RUN="/usr/bin/start_hwmon.sh stop %p %E{OF_FULLNAME}"
diff --git a/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/70-iio.rules b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/70-iio.rules
index f332d11ac..45fb4b0fb 100644
--- a/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/70-iio.rules
+++ b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/70-iio.rules
@@ -1 +1,2 @@
-SUBSYSTEM=="iio", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="xyz.openbmc_project.Hwmon@%E{OF_FULLNAME}.service"
+SUBSYSTEM=="iio", ACTION=="add", RUN="/usr/bin/start_hwmon.sh start %p %E{OF_FULLNAME}"
+SUBSYSTEM=="iio", ACTION=="remove", RUN="/usr/bin/start_hwmon.sh stop %p %E{OF_FULLNAME}"
diff --git a/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/start_hwmon.sh b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/start_hwmon.sh
new file mode 100644
index 000000000..cde0f96ca
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/start_hwmon.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+action=$1
+devpath=$2
+of_fullname=$3
+
+#Use of_fullname if it's there, otherwise use devpath.
+
+path=$of_fullname
+if [ -z "$path" ]
+then
+ path=$devpath
+
+ if [[ "$path" =~ (.*)/hwmon/hwmon[0-9]+$ ]];
+ then
+ path=${BASH_REMATCH[1]}
+ fi
+fi
+
+path="${path//:/--}"
+
+systemctl $action 'xyz.openbmc_project.Hwmon@'$path'.service'
diff --git a/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/xyz.openbmc_project.Hwmon@.service b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/xyz.openbmc_project.Hwmon@.service
index 8dca3ad4b..9d3e2635e 100644
--- a/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/xyz.openbmc_project.Hwmon@.service
+++ b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon/xyz.openbmc_project.Hwmon@.service
@@ -1,11 +1,10 @@
[Unit]
Description=Phosphor Hwmon Poller
ConditionFileNotEmpty=/etc/default/obmc/hwmon/%I.conf
-StopWhenUnneeded=true
After=xyz.openbmc_project.ObjectMapper.service
[Service]
-Restart=always
+Restart=on-failure
ExecStart=/usr/bin/env phosphor-hwmon-readd -o %f
SyslogIdentifier=phosphor-hwmon-readd
EnvironmentFile=/etc/default/obmc/hwmon/%I.conf
OpenPOWER on IntegriCloud