summaryrefslogtreecommitdiff
path: root/recipes-bsp/multitech/mts-io/mts-io.init
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/multitech/mts-io/mts-io.init')
-rw-r--r--recipes-bsp/multitech/mts-io/mts-io.init39
1 files changed, 38 insertions, 1 deletions
diff --git a/recipes-bsp/multitech/mts-io/mts-io.init b/recipes-bsp/multitech/mts-io/mts-io.init
index 77dd0e2..f27415c 100644
--- a/recipes-bsp/multitech/mts-io/mts-io.init
+++ b/recipes-bsp/multitech/mts-io/mts-io.init
@@ -1,9 +1,46 @@
-#!/bin/sh
+#!/bin/bash
+
+sysdir=/sys/devices/platform/mts-io
+
+read_card_info() {
+ ap1_product_id=""
+ ap2_product_id=""
+
+ if [ -d $sysdir/ap1 ]; then
+ ap1_product_id=$(cat $sysdir/ap1/product-id)
+ fi
+ if [ -d $sysdir/ap2 ]; then
+ ap2_product_id=$(cat $sysdir/ap2/product-id)
+ fi
+}
+
+mfser_init() {
+ found_ap1=0
+
+ if [[ "$ap1_product_id" =~ ^MTAC-MFSER- ]]; then
+ echo "mts-io: Linking /dev/mfser to /dev/ttyAP1"
+ ln -sf /dev/ttyAP1 /dev/mfser
+ found_ap1=1
+ fi
+
+ if [[ "$ap2_product_id" =~ ^MTAC-MFSER- ]]; then
+ if [[ $found_ap1 = 1 ]]; then
+ echo "mts-io: Linking /dev/mfser-2 to /dev/ttyAP2"
+ ln -sf /dev/ttyAP2 /dev/mfser-2
+ else
+ echo "mts-io: Linking /dev/mfser to /dev/ttyAP2"
+ ln -sf /dev/ttyAP2 /dev/mfser
+ fi
+ fi
+
+}
case $1 in
start)
echo "Loading mts-io module"
modprobe mts_io
+ read_card_info
+ mfser_init
;;
stop)