170d654f7Smbalmer#!/bin/sh 270d654f7Smbalmer# 3*84213c71Sbrad# $NetBSD: gpio,v 1.2 2022/04/30 13:48:09 brad Exp $ 470d654f7Smbalmer# 570d654f7Smbalmer 670d654f7Smbalmer# PROVIDE: gpio 770d654f7Smbalmer# BEFORE: securelevel 870d654f7Smbalmer 970d654f7Smbalmer$_rc_subr_loaded . /etc/rc.subr 1070d654f7Smbalmer 1170d654f7Smbalmername="gpio" 1270d654f7Smbalmerrcvar=$name 1370d654f7Smbalmerstart_cmd="gpio_start" 1470d654f7Smbalmerstop_cmd=":" 1570d654f7Smbalmer 1670d654f7Smbalmergpio_start() 1770d654f7Smbalmer{ 1870d654f7Smbalmer if [ -f /etc/gpio.conf ]; then 1970d654f7Smbalmer echo "Configuring GPIO." 2070d654f7Smbalmer cat /etc/gpio.conf | 21*84213c71Sbrad collapse_backslash_newline | 2270d654f7Smbalmer while read -r args; do 23*84213c71Sbrad case "$args" in 24*84213c71Sbrad "!"*) 25*84213c71Sbrad # Run arbitrary command in a subshell. 26*84213c71Sbrad ( eval "${args#*!}" ) 27*84213c71Sbrad ;; 28*84213c71Sbrad *) 29*84213c71Sbrad ( 3070d654f7Smbalmer args=${args%%#*} # strip comments 3170d654f7Smbalmer test -z "$args" && continue 3270d654f7Smbalmer /usr/sbin/gpioctl -q $args 33*84213c71Sbrad ) 34*84213c71Sbrad ;; 35*84213c71Sbrad esac 3670d654f7Smbalmer done 3770d654f7Smbalmer fi 3870d654f7Smbalmer} 3970d654f7Smbalmer 4070d654f7Smbalmerload_rc_config $name 4170d654f7Smbalmerrun_rc_command "$1" 42