[openwrt/openwrt] gpio-cdev: add nu801 userspace driver

LEDE Commits lede-commits at lists.infradead.org
Sun Oct 10 07:48:24 PDT 2021


chunkeey pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/f536f5ebddd9c532a08ac4a9be3ef0c02f7bfeb8

commit f536f5ebddd9c532a08ac4a9be3ef0c02f7bfeb8
Author: Chris Blake <chrisrblake93 at gmail.com>
AuthorDate: Fri Sep 24 08:42:03 2021 -0500

    gpio-cdev: add nu801 userspace driver
    
    This adds a userspace interpretation of the nu801 driver used by Meraki
    hardware. Previously this was a driver that was added per target, but as
    multiple targets now have this driver, we should move to something that
    can be shared by all targets since no driver exists upstream.
    
    Co-developed-by: Christian Lamparter <chunkeey at gmail.com>
    Signed-off-by: Chris Blake <chrisrblake93 at gmail.com>
    Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
 package/system/gpio-cdev/nu801/Makefile         | 41 +++++++++++++++++++++++++
 package/system/gpio-cdev/nu801/files/nu801.init | 15 +++++++++
 2 files changed, 56 insertions(+)

diff --git a/package/system/gpio-cdev/nu801/Makefile b/package/system/gpio-cdev/nu801/Makefile
new file mode 100644
index 0000000000..a03d746634
--- /dev/null
+++ b/package/system/gpio-cdev/nu801/Makefile
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=nu801
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/chunkeey/nu801.git
+PKG_SOURCE_VERSION:=794a588fce3150129bb2e5bb37590c7daceb8927
+
+PKG_MAINTAINER:=Christian Lamparter <chunkeey at gmail.com>
+PKG_LICENSE:=GPL-3.0-or-later
+PKG_LICENSE_FILES:=LICENSE
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/nu801
+  SECTION:=utils
+  CATEGORY:=Utilities
+  SUBMENU:=Userspace GPIO Drivers
+  DEPENDS:=@!LINUX_5_4 +kmod-leds-uleds
+  KCONFIG:= \
+    CONFIG_GPIO_CDEV=y
+  TITLE:=NU801 LED Driver
+endef
+
+define Package/nu801/description
+This package contains a userspace driver to power the NUMEN Tech. NU801 LED Driver.
+endef
+
+define Package/nu801/install
+	$(INSTALL_DIR) $(1)/usr/sbin
+	$(INSTALL_BIN) $(PKG_BUILD_DIR)/nu801 $(1)/usr/sbin/
+	$(INSTALL_DIR) $(1)/etc/init.d
+	$(INSTALL_BIN) ./files/nu801.init $(1)/etc/init.d/nu801
+
+endef
+
+$(eval $(call BuildPackage,nu801))
diff --git a/package/system/gpio-cdev/nu801/files/nu801.init b/package/system/gpio-cdev/nu801/files/nu801.init
new file mode 100755
index 0000000000..5613a92f6e
--- /dev/null
+++ b/package/system/gpio-cdev/nu801/files/nu801.init
@@ -0,0 +1,15 @@
+#!/bin/sh /etc/rc.common
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+START=15
+STOP=94
+USE_PROCD=1
+
+start_service() {
+	. /lib/functions.sh
+
+	procd_open_instance
+	procd_set_param command /usr/sbin/nu801 "$(board_name)"
+	procd_set_param respawn 5 1 5
+	procd_close_instance
+}



More information about the lede-commits mailing list