#!/bin/bash

KERNEL_VERSION=`cat /usr/local/sietium/KERNEL_VERSION`
GENBU_CONF="/etc/modules-load.d/genbu.conf"
GENBU_SERVICE_NAME="genbu.service"
GENBU_SERVICE_PATH="/lib/systemd/system/"
CHECK_KYLIN=`grep -q "kylin" /etc/os-release && echo "true"`
CHECK_ARCH=`arch`

function uninstall_gb_config() {
if [ "uos25" == "kylinv4" ]; then
    if [ -e /lib/udev/rules.d/91-pulseaudio-custom.rules  ];then
        rm /lib/udev/rules.d/91-pulseaudio-custom.rules
    fi
    if [ -e /etc/udev/rules.d/99-z_hdmi_sound.rules  ];then
        rm /etc/udev/rules.d/99-z_hdmi_sound.rules
    fi

else
    if [ -e /usr/lib/udev/rules.d/91-pulseaudio-custom.rules ];then
        rm /usr/lib/udev/rules.d/91-pulseaudio-custom.rules
    fi

    if [ -e /usr/local/genbu/rules/91-pulseaudio-custom.rules ];then
        rm /usr/local/genbu/rules/91-pulseaudio-custom.rules
    fi
fi
    
    if [ -e /usr/share/alsa/ucm2/GB-Audio ];then
        rm /usr/share/alsa/ucm2/GB-Audio -rf
    fi
    if [ -e /usr/share/alsa/ucm2/conf.d/GB-Audio ];then
        rm /usr/share/alsa/ucm2/conf.d/GB-Audio -rf
    fi

    if [ -e /usr/share/pulseaudio/alsa-mixer/profile-sets/gb_audio.conf ];then
        rm /usr/share/pulseaudio/alsa-mixer/profile-sets/gb_audio.conf
    fi
}

#rm -f /etc/modprobe.d/blacklist-genbu.conf
#rm -f /usr/local/sietium/$KERNEL_VERSION/gb.ko
if [ -e $GENBU_CONF ];then
    rm -f $GENBU_CONF
fi
if [ -e $GENBU_SERVICE_PATH$GENBU_SERVICE_NAME ];then
    systemctl disable -q $GENBU_SERVICE_NAME
fi
## clean gb01 driver
#rm -f /lib/modules/$KERNEL_VERSION/updates/gb.ko
#rm -f /lib/modules/$KERNEL_VERSION/kernel/kylin/gpu/sietium/genbu01/gb.ko

# clean gb02 driver
if test -n "$CHECK_KYLIN"; then
    rm -f /lib/modules/$KERNEL_VERSION/kernel/kylin/gpu/sietium/genbu02/gb02.ko
else
    rm -f /lib/modules/$KERNEL_VERSION/kernel/gpu/sietium/genbu02/gb02.ko
    rm -rf /lib/modules/$KERNEL_VERSION/kernel/drivers/gpu/drm/sietium/genbu02/gb02.ko
fi

sed -i '/genbu02\/gb02.ko/d' /lib/modules/$KERNEL_VERSION/modules.dep
sed -i '/genbu02\/gb02.ko/d' /lib/modules/$KERNEL_VERSION/modules.order


if test -n "$CHECK_KYLIN"; then
    #. /etc/default/grub
    #GRUB_DEFAULT=`echo $GRUB_CMDLINE_LINUX_DEFAULT | sed 's/video=efifb:on//g'`
    #sed -i "/GRUB_CMDLINE_LINUX_DEFAULT/s/=.*/=\"${GRUB_DEFAULT}\"/" /etc/default/grub
    #if test "$CHECK_ARCH" == "aarch64"; then
    #    update-grub-ftefi
    #fi
    sed -i '/^gb02$/d; /^gb02\s/d; /^gb02\t/d' /etc/initramfs-tools/modules
    echo "KYLIN uninstall update-initramfs......"
    update-initramfs -u -k $KERNEL_VERSION >/dev/null 2>&1
else
    CHECK_UOS="uos"
    UOS_VER="/etc/os-release"
    if [ -e $UOS_VER ];then
        result=$(cat $UOS_VER|grep $CHECK_UOS)
        if test -n "$result"; then
            sed -i '/^gb02$/d; /^gb02\s/d; /^gb02\t/d' /etc/initramfs-tools/modules
            echo "update-initramfs......"
            update-initramfs -u -k $KERNEL_VERSION >/dev/null 2>&1
        fi
    fi
fi

uninstall_gb_config

