summaryrefslogtreecommitdiffstats
path: root/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon
diff options
context:
space:
mode:
Diffstat (limited to 'meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon')
-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
4 files changed, 27 insertions, 4 deletions
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