Skip to content

Commit

Permalink
base-files: add LED specific functions to /lib/functions/uci-defaults
Browse files Browse the repository at this point in the history
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31991 3c298f89-4303-0410-b956-a3cf2f4a3e73
  • Loading branch information
juhosg committed May 29, 2012
1 parent 3a3aa73 commit 5e8d121
Showing 1 changed file with 98 additions and 0 deletions.
98 changes: 98 additions & 0 deletions package/base-files/files/lib/functions/uci-defaults.sh
@@ -1,6 +1,104 @@
#!/bin/sh
# Copyright (C) 2011 OpenWrt.org

UCIDEF_LEDS_CHANGED=0

ucidef_set_led_netdev() {
local cfg="led_$1"
local name=$2
local sysfs=$3
local dev=$4

uci -q get system.$cfg && return 0

uci batch <<EOF
set system.$cfg='led'
set system.$cfg.name='$name'
set system.$cfg.sysfs='$sysfs'
set system.$cfg.trigger='netdev'
set system.$cfg.dev='$dev'
set system.$cfg.mode='link tx rx'
EOF
UCIDEF_LEDS_CHANGED=1
}

ucidef_set_led_usbdev() {
local cfg="led_$1"
local name=$2
local sysfs=$3
local dev=$4

uci -q get system.$cfg && return 0

uci batch <<EOF
set system.$cfg='led'
set system.$cfg.name='$name'
set system.$cfg.sysfs='$sysfs'
set system.$cfg.trigger='usbdev'
set system.$cfg.dev='$dev'
set system.$cfg.interval='50'
EOF
UCIDEF_LEDS_CHANGED=1
}

ucidef_set_led_wlan() {
local cfg="led_$1"
local name=$2
local sysfs=$3
local trigger=$4

uci -q get system.$cfg && return 0

uci batch <<EOF
set system.$cfg='led'
set system.$cfg.name='$name'
set system.$cfg.sysfs='$sysfs'
set system.$cfg.trigger='$trigger'
EOF
UCIDEF_LEDS_CHANGED=1
}

ucidef_set_led_switch() {
local cfg="led_$1"
local name=$2
local sysfs=$3
local trigger=$4
local port_mask=$5

uci -q get system.$cfg && return 0

uci batch <<EOF
set system.$cfg='led'
set system.$cfg.name='$name'
set system.$cfg.sysfs='$sysfs'
set system.$cfg.trigger='$trigger'
set system.$cfg.port_mask='$port_mask'
EOF
UCIDEF_LEDS_CHANGED=1
}

ucidef_set_led_default() {
local cfg="led_$1"
local name=$2
local sysfs=$3
local default=$4

uci -q get system.$cfg && return 0

uci batch <<EOF
set system.$cfg='led'
set system.$cfg.name='$name'
set system.$cfg.sysfs='$sysfs'
set system.$cfg.default='$default'
EOF
UCIDEF_LEDS_CHANGED=1
}

ucidef_commit_leds()
{
[ "$UCIDEF_LEDS_CHANGED" == "1" ] && uci commit system
}

ucidef_set_interface_loopback() {
uci batch <<EOF
set network.loopback='interface'
Expand Down

0 comments on commit 5e8d121

Please sign in to comment.