base-files: allow specifiying rootdev for find_mmc_part
authorDaniel Golle <daniel@makrotopia.org>
Mon, 1 Nov 2021 13:58:20 +0000 (13:58 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Mon, 1 Nov 2021 18:00:42 +0000 (18:00 +0000)
Some devices got more than one mmc device.
Allow specifying the root device as 2nd parameter of find_mmc_part so
scripts can avoid matching irrelevant partitions on wrong mmc device.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
package/base-files/files/lib/functions.sh

index e56e4637f0116f9f4e7fdf31f47ab77a47f5f75e..ee0c33845c508790578524c06cc3fc50450e3e58 100644 (file)
@@ -331,13 +331,19 @@ find_mtd_part() {
 }
 
 find_mmc_part() {
-       local DEVNAME PARTNAME
+       local DEVNAME PARTNAME ROOTDEV
 
        if grep -q "$1" /proc/mtd; then
                echo "" && return 0
        fi
 
-       for DEVNAME in /sys/block/mmcblk*/mmcblk*p*; do
+       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