base-files: allow specifiying rootdev for find_mmc_part
[openwrt/staging/chunkeey.git] / package / base-files / files / lib / functions.sh
index a5b23eb1350f5233c7c7a045367e9d2df7574c4e..ee0c33845c508790578524c06cc3fc50450e3e58 100644 (file)
@@ -330,6 +330,25 @@ find_mtd_part() {
        echo "${INDEX:+$PREFIX$INDEX}"
 }
 
+find_mmc_part() {
+       local DEVNAME PARTNAME ROOTDEV
+
+       if grep -q "$1" /proc/mtd; then
+               echo "" && return 0
+       fi
+
+       if [ -n "$2" ]; then
+               ROOTDEV="$2"
+       else
+               ROOTDEV="mmcblk*"
+       fi
+
+       for DEVNAME in /sys/block/$ROOTDEV/mmcblk*p*; do
+               PARTNAME="$(grep PARTNAME ${DEVNAME}/uevent | cut -f2 -d'=')"
+               [ "$PARTNAME" = "$1" ] && echo "/dev/$(basename $DEVNAME)" && return 0
+       done
+}
+
 group_add() {
        local name="$1"
        local gid="$2"