> why a change is being made:
There are 2 variants of the android bootdev device. One is EMMC and other is UFS. We would be not knowing the android boot storage type at build time. So, we need to know the storage type at run time(bootup time) by reading the "androidboot.bootdevice=". We need to distinguish between EMMC and UFS at bootup time and take appropriate action.
> Information about why support is being added for the androidboot.bootdevice parameter in the Qualcomm UFS host controller driver:
We will get the "androidboot.bootdevice=" by reading cmdline
case 1: if the boot image header version is 3
We get the bootdevice info by reading /proc/cmdline ( __setup("androidboot.bootdevice=", get_android_boot_dev_v3);
Case 2: if the boot image header version is 4
We get the bootdevice info by reading /proc/bootconfig (android_boot_dev_v4 = xbc_find_value("androidboot.bootdevice", &vnode))
Qualcomm UFS modules(ufs-qcom.c) calls this get_storage_boot_device()(ufs-cmdline.c) and get the bootdevice info and take appropriate action. This code is yet to be upstreamed. Please let me know if this info convincing.