Add GPIO Presence

Add the GPIO Presence service file and needed Witherspoon
conf files for power supply GPIO presence detection.

Resolves openbmc/openbmc#1329

Change-Id: Ie8d5e3e6c2bda1c85fd10a4cffacfdd7ce9840ae
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
diff --git a/common/recipes-phosphor/gpio/phosphor-gpio-monitor.bb b/common/recipes-phosphor/gpio/phosphor-gpio-monitor.bb
index 70f01dd..6fc12ef 100644
--- a/common/recipes-phosphor/gpio/phosphor-gpio-monitor.bb
+++ b/common/recipes-phosphor/gpio/phosphor-gpio-monitor.bb
@@ -8,19 +8,47 @@
 inherit autotools pkgconfig
 inherit obmc-phosphor-dbus-service
 
-RPROVIDES_${PN} += "virtual/obmc-gpio-monitor"
+GPIO_PACKAGES = " \
+        ${PN}-monitor \
+        ${PN}-presence \
+"
+
+PACKAGES += "${GPIO_PACKAGES}"
+PACKAGES_remove = "${PN}"
+RDEPENDS_${PN}-dev = "${GPIO_PACKAGES}"
+RDEPENDS_${PN}-staticdev = "${GPIO_PACKAGES}"
+SYSTEMD_PACKAGES = "${GPIO_PACKAGES}"
+
+RPROVIDES_${PN}-monitor += "virtual/obmc-gpio-monitor"
+RPROVIDES_${PN}-presence += "virtual/obmc-gpio-presence"
+
 PROVIDES += "virtual/obmc-gpio-monitor"
+PROVIDES += "virtual/obmc-gpio-presence"
 
 DEPENDS += "autoconf-archive-native"
 DEPENDS += "sdbusplus sdbusplus-native"
 DEPENDS += "phosphor-dbus-interfaces"
 DEPENDS += "libevdev"
 DEPENDS += "phosphor-logging"
-RDEPENDS_${PN} += "libsystemd"
-RDEPENDS_${PN} += "libevdev"
-RDEPENDS_${PN} += "phosphor-logging"
 
-SYSTEMD_SERVICE_${PN} += "phosphor-gpio-monitor@.service"
+RDEPENDS_${PN}-monitor += " \
+    libsystemd \
+    libevdev \
+    phosphor-logging \
+"
+RDEPENDS_${PN}-presence += " \
+    libsystemd \
+    libevdev \
+    phosphor-logging \
+    sdbusplus \
+"
+
+SYSTEMD_SERVICE_${PN}-monitor += "phosphor-gpio-monitor@.service"
+SYSTEMD_SERVICE_${PN}-presence += "phosphor-gpio-presence@.service"
+
+FILES_${PN}-monitor += "${sbindir}/phosphor-gpio-monitor"
+FILES_${PN}-monitor += "${sbindir}/phosphor-gpio-util"
+FILES_${PN}-presence += "${sbindir}/phosphor-gpio-presence"
 
 SRC_URI += "git://github.com/openbmc/phosphor-gpio-monitor"
 SRCREV = "5d89f18a92ceeead129729811208ee13a9daf721"
diff --git a/common/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-gpio-presence@.service b/common/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-gpio-presence@.service
new file mode 100644
index 0000000..7872ce6
--- /dev/null
+++ b/common/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-gpio-presence@.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Phosphor GPIO %I Presence
+Wants=mapper-wait@-xyz-openbmc_project-inventory.service
+After=mapper-wait@-xyz-openbmc_project-inventory.service
+ConditionPathExists={envfiledir}/obmc/gpio/phosphor-power-supply-%i.conf
+
+[Service]
+EnvironmentFile={envfiledir}/obmc/gpio/phosphor-power-supply-%i.conf
+ExecStart={sbindir}/phosphor-gpio-presence --path=${{PATH}} --inventory=${{INVENTORY}} --key=${{KEY}} --name=${{NAME}}
+
+[Install]
+RequiredBy={SYSTEMD_DEFAULT_TARGET}