. /lib/functions/system.sh

mount_ubi_part() {
	local mtd_name="$1"
	local part_name="$2"
	local mtd_num=$(grep \"$mtd_name\" /proc/mtd | cut -d: -f1 | sed 's/mtd//g')
	local ubi_num=$(ubiattach -m $mtd_num | \
		awk -F',' '/UBI device number [0-9]{1,}/{print $1}' | \
		awk '{print $4}')
	mkdir /tmp/$mtd_name
	mount -r -t ubifs ubi$ubi_num:$part_name /tmp/$mtd_name
}

preinit_mount_cfg_part() {
	case $(board_name) in
	mercusys,mr80x-v3|\
	mercusys,mr85x|\
	mercusys,mr90x-v1|\
	tplink,archer-ax80-v1|\
	tplink,archer-ax80-v1-eu|\
	tplink,be450|\
	tplink,re6000xd)
		mount_ubi_part "tp_data" "tp_data"
		;;
	tplink,fr365-v1)
		mount_ubi_part "wlan" "ubi_wlan_factory_data"
		;;
	*)
		;;
	esac
}

boot_hook_add preinit_main preinit_mount_cfg_part
