Anything like that is likely going to be fighting with the kernel and the DTS.
Welcome to the world of obsolete, unmaintained code from OEMs, ODMs, and vendors...
You'll have to carefully compare what is being set there with what is set in the DTS.
GPIOs, when not already reserved for a device (which they should be for a UART), can be managed from user-space with the gpiod-tools as the current way to do so. The "sysfs" approach with export is deprecated, so might as well write against tooling that isn't going to disappear after 2020.
Found the fix for this issue. Posting for future references for anyone facing this issue:
~/openwrt$ make menuconfig
# Menu config opens:
1. Goto `Global Build Settings -->`
2. Select `Kernel build options -->`
3. Scroll down to the option `/dev/mem/ virtual device support` and enable it.
4. Save the configuration and exit
~/openwrt$ make V=s
I saw that you successfully made pinmux work. I have been using mt7688 with the module skw_92a, I switched to linkit7688 recently. I have been using the I2S pins as GPIO in skw_92a by modifying DTS file. In the original firmware of the linkit its OK to use I2S as gpio, no problem. However when I want to use openwrt 19, I2S doesn't switch to GPIO mode even though I change DTS file and compile whole SDK from zero. The only thing I didn't change is the bootloader.