om2p-watchdog package is OM2P specific. However a similar watchdog mechanism
exists on OM1P as well. This new package wants to substitute om2p-watchdog with
a new one which is suitable either for OM1P and OM2P.

Signed-off-by: Antonio Quartulli <[email protected]>
---

- modified openmesh.mk
- added trap command to script
- init script now uses service_start function to start the script. service_stop
  will deliver a SIGTERM which will correctly kill the script


 package/om-watchdog/Makefile                     |   45 +++++++++++++++++++++
 package/om-watchdog/files/om-watchdog            |   15 +++++++
 package/om-watchdog/files/om-watchdog.init       |   22 ++++++++++
 package/om2p-watchdog/Makefile                   |   46 ----------------------
 package/om2p-watchdog/files/om2p-watchdog        |   13 ------
 package/om2p-watchdog/files/om2p-watchdog.init   |   14 -------
 target/linux/ar71xx/generic/profiles/openmesh.mk |    2 +-
 7 files changed, 83 insertions(+), 74 deletions(-)
 create mode 100644 package/om-watchdog/Makefile
 create mode 100644 package/om-watchdog/files/om-watchdog
 create mode 100644 package/om-watchdog/files/om-watchdog.init
 delete mode 100644 package/om2p-watchdog/Makefile
 delete mode 100755 package/om2p-watchdog/files/om2p-watchdog
 delete mode 100755 package/om2p-watchdog/files/om2p-watchdog.init

diff --git a/package/om-watchdog/Makefile b/package/om-watchdog/Makefile
new file mode 100644
index 0000000..7d517a1
--- /dev/null
+++ b/package/om-watchdog/Makefile
@@ -0,0 +1,45 @@
+#
+# Copyright (C) 2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=om-watchdog
+PKG_RELEASE:=1
+PKG_VERSION:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/om-watchdog
+  SECTION:=base
+  CATEGORY:=Base system
+  TITLE:=om watchdog
+  URL:=http://openwrt.org/
+endef
+
+define Package/om-watchdog/description
+ This package contains the hw watchdog script for the OM1P and OM2P device.
+endef
+
+define Build/Prepare
+endef
+
+define Build/Compile
+endef
+
+define Build/Compile
+endef
+
+define Package/om-watchdog/install
+       $(INSTALL_DIR) $(1)/etc/init.d/
+       $(INSTALL_DIR) $(1)/sbin/
+       $(INSTALL_BIN) ./files/om-watchdog.init $(1)/etc/init.d/om-watchdog
+       $(INSTALL_BIN) ./files/om-watchdog $(1)/sbin/om-watchdog
+endef
+
+
+$(eval $(call BuildPackage,om-watchdog))
+
diff --git a/package/om-watchdog/files/om-watchdog 
b/package/om-watchdog/files/om-watchdog
new file mode 100644
index 0000000..d730c68
--- /dev/null
+++ b/package/om-watchdog/files/om-watchdog
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+GPIO=$1
+
+trap "" INT HUP
+
+echo $GPIO > /sys/class/gpio/export
+echo out > /sys/class/gpio/gpio${GPIO}/direction
+
+while true; do
+       echo 1 > /sys/class/gpio/gpio${GPIO}/value
+       sleep 1
+       echo 0 > /sys/class/gpio/gpio${GPIO}/value
+       sleep 180
+done
diff --git a/package/om-watchdog/files/om-watchdog.init 
b/package/om-watchdog/files/om-watchdog.init
new file mode 100644
index 0000000..d598c86
--- /dev/null
+++ b/package/om-watchdog/files/om-watchdog.init
@@ -0,0 +1,22 @@
+#!/bin/sh /etc/rc.common
+#
+# Copyright (C) 2011 OpenWrt.org
+#
+
+START=11
+
+SERVICE_DAEMONIZE=1
+
+boot() {
+       if [ -r /lib/ar71xx.sh ]; then
+               . /lib/ar71xx.sh
+               local board=$(ar71xx_board_name)
+       fi
+
+       if [ "$board" = "om2p" ]; then
+               service_start /sbin/om-watchdog 12
+       else
+               #we assume it is om1p in this case
+               service_start /sbin/om-watchdog 3
+       fi
+}
diff --git a/package/om2p-watchdog/Makefile b/package/om2p-watchdog/Makefile
deleted file mode 100644
index 965e51f..0000000
--- a/package/om2p-watchdog/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright (C) 2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=om2p-watchdog
-PKG_RELEASE:=1
-PKG_VERSION:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/om2p-watchdog
-  SECTION:=base
-  CATEGORY:=Base system
-  DEPENDS:=@TARGET_ar71xx
-  TITLE:=om2p watchdog
-  URL:=http://openwrt.org/
-endef
-
-define Package/om2p-watchdog/description
- This package contains the hw watchdog script for the OM2P device.
-endef
-
-define Build/Prepare
-endef
-
-define Build/Compile
-endef
-
-define Build/Compile
-endef
-
-define Package/om2p-watchdog/install
-       $(INSTALL_DIR) $(1)/etc/init.d/
-       $(INSTALL_DIR) $(1)/sbin/
-       $(INSTALL_BIN) ./files/om2p-watchdog.init $(1)/etc/init.d/om2p-watchdog
-       $(INSTALL_BIN) ./files/om2p-watchdog $(1)/sbin/om2p-watchdog
-endef
-
-
-$(eval $(call BuildPackage,om2p-watchdog))
-
diff --git a/package/om2p-watchdog/files/om2p-watchdog 
b/package/om2p-watchdog/files/om2p-watchdog
deleted file mode 100755
index 9f861f6..0000000
--- a/package/om2p-watchdog/files/om2p-watchdog
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-GPIO=12
-
-echo $GPIO > /sys/class/gpio/export
-echo out > /sys/class/gpio/gpio${GPIO}/direction
-
-while true; do
-       echo 1 > /sys/class/gpio/gpio${GPIO}/value
-       sleep 1
-       echo 0 > /sys/class/gpio/gpio${GPIO}/value
-       sleep 180
-done
diff --git a/package/om2p-watchdog/files/om2p-watchdog.init 
b/package/om2p-watchdog/files/om2p-watchdog.init
deleted file mode 100755
index ddec85f..0000000
--- a/package/om2p-watchdog/files/om2p-watchdog.init
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh /etc/rc.common
-#
-# Copyright (C) 2011 OpenWrt.org
-#
-
-START=11
-
-boot() {
-       . /lib/ar71xx.sh
-
-       local board=$(ar71xx_board_name)
-
-       [ "$board" = "om2p" ] && /sbin/om2p-watchdog &
-}
diff --git a/target/linux/ar71xx/generic/profiles/openmesh.mk 
b/target/linux/ar71xx/generic/profiles/openmesh.mk
index 0c5f450..87d39f9 100644
--- a/target/linux/ar71xx/generic/profiles/openmesh.mk
+++ b/target/linux/ar71xx/generic/profiles/openmesh.mk
@@ -7,7 +7,7 @@
 
 define Profile/OM2P
        NAME:=OpenMesh OM2P
-       PACKAGES:=kmod-ath9k om2p-watchdog
+       PACKAGES:=kmod-ath9k om-watchdog
 endef
 
 define Profile/OM2P/Description
-- 
1.7.3.4

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to